An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Locked
Message
Author
ungur.liviu
Newbie
Newbie
Posts: 10
Joined: Tue Jun 02, 2020 8:43 am

An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#1 Post by ungur.liviu » Thu Jun 11, 2020 9:10 am

Dear VASP Developers,

I wish to compile VASP6.1.0 on our newest workstation in the group and I face an issue with it. Compilation works fine but the tests -- fail at a specific point of opening files.

I attach the makefile.include for your attention.
gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC)

I tried to compile VASP with several installations of OpenMPI, and with all of them, VASP 6.1.0 crashes at this specific point in the source code, shown below. The OpenMPI build was used for other codes and they work fine.

The serial compilation of VASP works fine.

Below is an extract from testsuite.log. I can reproduce this error with a very simple OpenMPI fortran code. As example, opening a file with the exact name '01/CHGCAR' does not work in any fortran code.
CASE: CrS
------------------------------------------------------------------
CASE: CrS
entering run_recipe CrS
CrS step STD
------------------------------------------------------------------
CrS step STD
entering run_vasp
running on 4 total cores
each image running on 2 cores
distrk: each k-point on 1 cores, 2 groups
distr: one band on 1 cores, 1 groups
At line 356 of file main_mpi.f90 (unit = 6)
Fortran runtime error: Cannot open file '02/stdout': No such file or directory

Error termination. Backtrace:
At line 547 of file main.f90 (unit = 18)
Fortran runtime error: Cannot open file '01/CHGCAR': No such file or directory

Error termination. Backtrace:
At line 547 of file main.f90 (unit = 18)
Fortran runtime error: Cannot open file '02/CHGCAR': No such file or directory

Error termination. Backtrace:
vasp.6.1.0 28Jan20 (build Jun 11 2020 16:13:38) complex
At line 545 of file main.f90 (unit = 8)
Fortran runtime error: Cannot open file '01/OUTCAR': No such file or directory

Error termination. Backtrace:
#0 0x7ff334f58da1 in ???
#1 0x7ff334f598e9 in ???
#2 0x7ff334f5a59f in ???
#3 0x7ff335197bd8 in ???
#4 0x7ff335197ecc in ???
#5 0x439639 in ???
#6 0xd8bc86 in ???
#7 0xdc1820 in ???
#8 0x7ff33469f041 in ???
#9 0x40656d in ???
#10 0xffffffffffffffff in ???
#0 0x7f4202fecda1 in ???

------------------------------------------

The workstation consists of 2 CPUs which bring together about 72 threads. I do not have the possibility to purchase Intel-MPI, therefore I wish to use the free parallel tools available. Thank you for any suggestions on how to achieve the maximal productivity of VASP on such a system.

ungur.liviu
Newbie
Newbie
Posts: 10
Joined: Tue Jun 02, 2020 8:43 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#2 Post by ungur.liviu » Fri Jun 12, 2020 11:12 am

Here are the two 'makefile.include' files. The same error at the same point in the code is achieved with mpich-3.3.2 as with OpenMPI-4.0.3.
Intel-MPI works fine though.

The " -fallow-argument-mismatch " was included. If this option is not included then VASP could not be compiled by 'gfortran' and 'mpifort' as some issues regarding argument mismatch are regarded as errors by the new version of gfortran.
You do not have the required permissions to view the files attached to this post.

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#3 Post by martin.schlipf » Mon Jun 15, 2020 7:10 am

Something went wrong here. Your compilation tries to run on multiple images, but there is no IMAGE flag in that particular test.

Regarding the use of Intel. You are aware that only the Intel compiler is commercial, aren't you? You can use the Intel MKL and Intel MPI without paying for it.

Martin Schlipf
VASP developer


User avatar
chengcheng_xiao1
Newbie
Newbie
Posts: 26
Joined: Sun Nov 17, 2019 6:23 pm
Location: London, UK
Contact:

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#4 Post by chengcheng_xiao1 » Wed Jun 24, 2020 12:51 pm

Can confirm this with OpenMPI-4.0.4 and GCC 9.3.0. :'(
Problem seems to be within the `reader_base.F` (maybe OpenMPI did something wrong it?)

martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#5 Post by martin.schlipf » Thu Jun 25, 2020 7:35 am

Ok, I could reproduce the issue on a clean Ubuntu 20.04 + gcc 9.3.0 + OpenMPI 4.0.3. I will investigate further and see how that can be fixed.

Martin Schlipf
VASP developer


martin.schlipf
Global Moderator
Global Moderator
Posts: 542
Joined: Fri Nov 08, 2019 7:18 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#6 Post by martin.schlipf » Mon Jun 29, 2020 6:42 am

We are running some more tests, but it seems that the bug is identified.

You can apply the attached patch below and we will release a new version when we did some more testing.

Code: Select all

diff --git a/src/reader_base.F b/src/reader_base.F
index ce4ea393..a9aa886c 100644
--- a/src/reader_base.F
+++ b/src/reader_base.F
@@ -93,7 +93,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    logical, intent(out) :: flag_value
+    logical, intent(inout) :: flag_value
     logical, optional :: lwritexml
     logical, optional :: lcontinue
     integer, optional :: foundnumber
@@ -149,7 +149,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    logical, dimension(:), intent(out) :: flag_value
+    logical, dimension(:), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue
@@ -206,7 +206,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    integer, intent(out) :: flag_value
+    integer, intent(inout) :: flag_value
     logical, optional :: lwritexml
     logical, optional :: lcontinue
     integer, optional :: foundnumber
@@ -264,7 +264,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    integer, dimension(:), intent(out) :: flag_value
+    integer, dimension(:), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue
@@ -321,7 +321,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    real(q), intent(out) :: flag_value
+    real(q), intent(inout) :: flag_value
     logical, optional :: lwritexml
     logical, optional :: lcontinue
     integer, optional :: foundnumber
@@ -378,7 +378,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    real(q), dimension(:), intent(out) :: flag_value
+    real(q), dimension(:), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue
@@ -433,7 +433,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    real(q), dimension(:,:), intent(out) :: flag_value
+    real(q), dimension(:,:), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue
@@ -490,7 +490,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    real(q), dimension(:,:,:), intent(out) :: flag_value
+    real(q), dimension(:,:,:), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue
@@ -547,7 +547,7 @@ contains
     logical, intent(in) :: lopen
     integer, intent(in) :: iu0, iu5
     character(len=*), intent(in)  :: flag_name
-    character(len=*), intent(out) :: flag_value
+    character(len=*), intent(inout) :: flag_value
     integer, intent(in) :: numb
     logical, optional :: lwritexml
     logical, optional :: lcontinue

Martin Schlipf
VASP developer


ungur.liviu
Newbie
Newbie
Posts: 10
Joined: Tue Jun 02, 2020 8:43 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#7 Post by ungur.liviu » Tue Jun 30, 2020 2:39 am

Dear martin.schlipf

Thank you for the patch. I applied it and recompiled VASP using the above-mentioned configuration. The tests seem to run fine now.

Sincerely,
Liviu Ungur

Cezariusz Jastrzebski
Newbie
Newbie
Posts: 1
Joined: Tue Sep 01, 2020 10:57 am

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#8 Post by Cezariusz Jastrzebski » Tue Sep 15, 2020 11:29 am

Hello,
I am still having this issue with Vasp 6.1.1 on Linux Mint 20, Open MPI 4.0.3, gcc 9.3.0.
Can you tell me how to apply this patch? - I cannot seen anything to download.
Cezariusz

henrique_miranda
Global Moderator
Global Moderator
Posts: 474
Joined: Mon Nov 04, 2019 12:41 pm
Contact:

Re: An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1

#9 Post by henrique_miranda » Wed Sep 30, 2020 12:47 pm

The patch is posted above.
Please keep in mind that we currently do not officially support GCC beyond the GCC 7.x.x release (the version 7 is supported).
Since we don't routinely run tests using GCC-10.1.1 we cannot guarantee that the code will work correctly when compiled with it.
As such compiling the code with GCC beyond version 7 might result in an unusable or unreliable binary.

Our recommendation is that you compile VASP using one of our recommended toolchains:
wiki/index.php/Installing_VASP.6.X.X
in this case, no patching is necessary.

PS: we will be releasing a new update of VASP in the next few months that should support GCC beyond version 7.x.x

Locked