New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Potential issue with MKL spotted in GAMESS-US builds #19791
Potential issue with MKL spotted in GAMESS-US builds #19791
Comments
One thing to try would be to force MKL to use its various architecture specific paths and see if the error is localized to only one of them. It looks like it can be done with the |
On my side a simple RHF optimization of CH2 with GAMESS-US v20230930-R2 with This is the input:
And this is the relevant output:
All these energy components are identical to the last digit in both So, a few comments:
This looks like a bug in some part of GAMESS-US and should be handled by the devs. |
@lexming However, there are a few things I think I need to clarify a bit. For starters, as you can see from my input file, I am using a Next: I am not using an experimental or otherwise exotic/unmaintained method. Finally: I did not mean to imply the installation with MKL is flawed, apologies if that came across like that. In my opinion I found a bug in MKL, and here I point to that specific version of MKL. As I mentioned, I have contacted the developers already, including the GAMESS-US user email list of which I am an active member for probably 20 years or so now. I cannot make that specific calculation publicly available as that is confidentially work, apologies for that. As in my case all the test jobs are working as well, but there is clearly an issue with MKL, I would suggest to pause the merging of the PRs which contain MKL for now, until we got to the bottom of the problem. I will see if I can find a test-job which is reproducing the problem in the meantime, so others can test too. Bear with me on that please. |
I done some more work and can now provide a mock-input file. Mock as it is not a real molecule but it does show the problem in less time than the real, production on. That is the only thing they got in common, that molecule is pure fiction and any resemblance with a real molecule are sheer coincidence. The results:
20210930-R2-GCC-11.3.0-OpenBLAS
20210930-R2-GCC-11.3.0
20230930-R2-intel-compilers-2022.1.0
Here is the input file. As you can see, the top-bit is identical of what I have posted before, it is just the coordinates which are different of this mock molecule:
And finally:
I hope that helps. |
You are indeed using ROHF which is a well-known wavefunction method. However, your calculation is also doing a DFT with the PBE0 functional. That one is also pretty standard, but combining the two is not. That is done by things like density corrected DFT, which is by no means common. Moreover, the SPKrDZC basis set does not look familiar either, so those might be pretty new as well. IMO, you are in uncharted territory, not covered by the tests and using somewhat novel methods. Therefore, patching this bug would be nice, but that falls on the hands of the devs. And I see no reason to block merging the related easyconfig given that all tested features do work as expected. At much we can put a warning note about this particular issue in the easyconfig. |
Some more updates on that. I think I nailed down the problem:
So for me, it looks like the problem is not
and catch that in the EasyBlock. Using a global option causes quite a number of warnings during the compilation. I hope that helps to sort out the problem. |
I done some Work, I hope helps this discussion. I using Mock-input file. The results : gfortran --version and finally,
|
As discussed, builds with OpenMP will no longer set compilation flags for openmp across the board but just indicate to the build scripts of GAMESS-US to enable OpenMP. Fix in commit easybuilders/easybuild-easyblocks@1bfd253 |
I am experience a problem with MKL (2022.1.0) and various versions of GAMESS-US: the final energy is obtained much faster but is simply wrong. See also PR #19452, #19310)
Details of the system below, first a description of the problem.
From an previous calculation with GAMESS-US version on Debian Stretch I got:
Version: 30 JUN 2019 (R1) 64 BIT LINUX VERSION
gfortran: 6.3.0
OpenBLAS: 0.2.20
FINAL RO-PBE0 ENERGY IS -3624.1256976634 AFTER 52 ITERATIONS
These are the new calculations, with various versions of GAMESS-US compiled differently:
Version: 30 SEP 2023 (R2) 64 BIT LINUX VERSION
intel: 2022.1.0
mkl: 2022.1.0
FINAL RO-PBE0 ENERGY IS -172453.5429717981 AFTER 21 ITERATIONS
Version: 30 SEP 2021 (R2) 64 BIT INTEL VERSION
intel: 2022.1.0
mkl: 2022.1.0
FINAL RO-PBE0 ENERGY IS -149756.6943786606 AFTER 23 ITERATIONS
Version: 30 SEP 2021 (R2) 64 BIT LINUX VERSION
gfortran: 11.3.0
mkl: 2022.1.0
Total Energy after 5 cycles: -188948.9963779443
(run terminated here)
Version: 30 JUN 2019 (R1) 64 BIT LINUX VERSION
gfortran: 11.3.0
OpenBLAS: 0.3.20
FINAL RO-PBE0 ENERGY IS -3624.1256976820 AFTER 52 ITERATIONS
Version: 30 SEP 2021 (R2) 64 BIT LINUX VERSION
gfortran: 11.3.0
OpenBLAS: 0.3.20
Total Energy after 41 cycles: -3624.0268377502
So, for me it looks like the problem is within the MKL library. I did not check different versions.
This is the top of the input file:
$CONTRL SCFTYP=ROHF RUNTYP=energy MAXIT=100 aimpac=.T.
DFTTYP=PBE0 ICHARG=0 MULT=4 COORD=unique RELWFN=LUT-IOTC ISPHER=1 $END
$BASIS extfil=.T. GBASIS=SPKrDZC $END
$SYSTEM MEMORY=32000000 kdiag=3 $END
$SCF DIRSCF=.T. DAMP=.T. SOSCF=.F. $END
$STATPT NSTEP=200 opttol=1E-06 HSSEND=.T. $end
$STATPT PURIFY=.T. PROJCT=.T. $END
$FORCE PURIFY=.T. PROJCT=.T. METHOD=SEMINUM $END
$dft IDCVER=3 DC=.T. $end
$dft nrad=125 nleb=1202 $end
I am running Debian Linux Bullseye. The compilers and the BLAS libraries were installed with EasyBuild 4.9.0 (production, only OpenBLAS as currently an open PR #19310 (#19310)
All builds were done using sockets, all standard test-jobs were passed in serial mode.
I doubt this is a problem with EasyBuild or how we install the software. Concerning is that the test jobs passed, yet clearly there is a problem.
I have also contacted the developers of GAMESS-US
The text was updated successfully, but these errors were encountered: