An issue with VASP.6.1.0 on Fedora 32 with OpenMPI-4.0.3 and GCC-10.1.1
Moderators: Global Moderator, Moderator
-
- 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
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 =
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.
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 =
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.
-
- 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
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.
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.
-
- 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
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.
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
- chengcheng_xiao1
- 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
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?)
Problem seems to be within the `reader_base.F` (maybe OpenMPI did something wrong it?)
-
- 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
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
-
- 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
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.
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
-
- 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
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
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
-
- 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
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
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
-
- Global Moderator
- Posts: 506
- 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
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
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