Skip to content
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

{chem}[intel/2023a] OpenMolcas v24.10 #22229

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

branfosj
Copy link
Member

@branfosj branfosj commented Jan 29, 2025

(created using eb --new-pr)

I was seeing minor numerical test failures on approx 10 tests when running without 'optarch': False on icelake.

Copy link

github-actions bot commented Jan 29, 2025

Updated software OpenMolcas-24.10-intel-2023a.eb

Diff against OpenMolcas-23.06-intel-2023a.eb

easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb

diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
index fea8d5f3c3..4743b8cb70 100644
--- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-23.06-intel-2023a.eb
+++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
@@ -1,23 +1,20 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenMolcas'
-version = '23.06'
+version = '24.10'
 
 homepage = "https://gitlab.com/Molcas/OpenMolcas"
 description = "OpenMolcas is a quantum chemistry software package."
 
 toolchain = {'name': 'intel', 'version': '2023a'}
-toolchainopts = {'usempi': True}
+toolchainopts = {'usempi': True, 'optarch': False}  # optarch required to pass all tests
 
 source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/']
 sources = ["%(name)s-v%(version)s.tar.gz"]
-patches = ['%(name)s-%(version)s_mcpdft_deps.patch']
+patches = ['%(name)s-23.06_mcpdft_deps.patch']
 checksums = [
-    # OpenMolcas-v23.06.tar.gz
-    ('fe0299ed39af6e84f249f91452c411f9845c9ae4a0ce78641c867dea8056f280',
-     'c3c8f31c22e028e1ac3bd8fb405cea83e8a6fcf21f00e71e81a92941cb026415'),
-    # OpenMolcas-23.06_mcpdft_deps.patch
-    'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e',
+    {'OpenMolcas-v24.10.tar.gz': 'c77e31b3604157743e718b12dc130dcb2b0ddcac65e0b99dbb1745fde18832d2'},
+    {'OpenMolcas-23.06_mcpdft_deps.patch': 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e'},
 ]
 
 builddependencies = [('CMake', '3.26.3')]
@@ -25,8 +22,10 @@ builddependencies = [('CMake', '3.26.3')]
 dependencies = [
     ('Python', '3.11.3'),
     ('Python-bundle-PyPI', '2023.06'),
+    ('lxml', '4.9.2'),
     ('HDF5', '1.14.0'),
     ('GlobalArrays', '5.8.2'),
+    ('libxc', '6.2.2'),
 ]
 
 build_shared_libs = True
@@ -40,9 +39,20 @@ _copts = [
     '-DFDE=ON',
     '-DMPI=ON',
     '-DGA=ON',
+    '-DEXTERNAL_LIBXC=$EBROOTLIBXC',
+    '-DPython_ROOT=$EBROOTPYTHON',
 ]
 configopts = ' '.join(_copts)
 
+pretestopts = 'MOLCAS=%(builddir)s/easybuild_obj '
+pretestopts += 'MOLCAS_DRIVER=%(builddir)s/easybuild_obj/pymolcas '
+pretestopts += 'MOLCAS_SOURCE=%(builddir)s/easybuild_obj '
+pretestopts += 'PATH=%(builddir)s/easybuild_obj:$PATH '
+test_cmd = 'pymolcas verify'
+
+fix_python_shebang_for = ['pymolcas', 'Tools/AugerOca/*.py', 'Tools/AugerOca/auger_oca/*.py', 'Tools/mort/mort.py',
+                          'Tools/dynamixtools/dynamixtools.py']
+
 modextrapaths = {'PATH': ''}
 modextravars = {
     'MOLCAS': '%(installdir)s',
@@ -50,7 +60,7 @@ modextravars = {
     'MOLCAS_SOURCE': '%(installdir)s',
 }
 
-sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify']
+sanity_check_commands = ['pymolcas --help']
 
 sanity_check_paths = {
     'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT,
Diff against OpenMolcas-21.06-iomkl-2021a.eb

easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb

diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
index 2de233814b..4743b8cb70 100644
--- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-21.06-iomkl-2021a.eb
+++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
@@ -1,46 +1,71 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenMolcas'
-version = '21.06'
+version = '24.10'
 
-homepage = 'https://gitlab.com/Molcas/OpenMolcas'
-description = "OpenMolcas is a quantum chemistry software package"
+homepage = "https://gitlab.com/Molcas/OpenMolcas"
+description = "OpenMolcas is a quantum chemistry software package."
 
-toolchain = {'name': 'iomkl', 'version': '2021a'}
-toolchainopts = {'usempi': True}
+toolchain = {'name': 'intel', 'version': '2023a'}
+toolchainopts = {'usempi': True, 'optarch': False}  # optarch required to pass all tests
 
-source_urls = ['https://gitlab.com/Molcas/%(name)s/-/archive/v%(version)s/']
-sources = ['%(name)s-v%(version)s.tar.gz']
-patches = ['%(name)s-21.06_mcpdft_deps.patch']
+source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/']
+sources = ["%(name)s-v%(version)s.tar.gz"]
+patches = ['%(name)s-23.06_mcpdft_deps.patch']
 checksums = [
-    '54cf989c1e0fcb7e8927f0c64fe356b300bf3537e4868356eea47105a8a06e3a',  # %(name)s-v21.06.tar.gz
-    '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a',  # %(name)s-21.06_mcpdft_deps.patch
+    {'OpenMolcas-v24.10.tar.gz': 'c77e31b3604157743e718b12dc130dcb2b0ddcac65e0b99dbb1745fde18832d2'},
+    {'OpenMolcas-23.06_mcpdft_deps.patch': 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e'},
 ]
 
-builddependencies = [
-    ('CMake', '3.20.1'),
-]
+builddependencies = [('CMake', '3.26.3')]
+
 dependencies = [
-    ('GlobalArrays', '5.8'),
-    ('HDF5', '1.10.7'),
-    ('Python', '3.9.5'),
+    ('Python', '3.11.3'),
+    ('Python-bundle-PyPI', '2023.06'),
+    ('lxml', '4.9.2'),
+    ('HDF5', '1.14.0'),
+    ('GlobalArrays', '5.8.2'),
+    ('libxc', '6.2.2'),
 ]
 
+build_shared_libs = True
+
 preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS'
-configopts = "-DLINALG=MKL -DMKLROOT=$MKLROOT -DMPI=ON -DOPENMP=ON -DGA=ON -DBUILD_SHARED_LIBS=ON -DTOOLS=ON -DFDE=ON"
+_copts = [
+    '-DLINALG=MKL',
+    '-DMKLROOT=$MKLROOT',
+    '-DOPENMP=ON',
+    '-DTOOLS=ON',
+    '-DFDE=ON',
+    '-DMPI=ON',
+    '-DGA=ON',
+    '-DEXTERNAL_LIBXC=$EBROOTLIBXC',
+    '-DPython_ROOT=$EBROOTPYTHON',
+]
+configopts = ' '.join(_copts)
 
+pretestopts = 'MOLCAS=%(builddir)s/easybuild_obj '
+pretestopts += 'MOLCAS_DRIVER=%(builddir)s/easybuild_obj/pymolcas '
+pretestopts += 'MOLCAS_SOURCE=%(builddir)s/easybuild_obj '
+pretestopts += 'PATH=%(builddir)s/easybuild_obj:$PATH '
+test_cmd = 'pymolcas verify'
 
-sanity_check_paths = {
-    'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.so', 'sbin/help_basis', 'pymolcas'],
-    'dirs': ['data/', 'basis_library/'],
-}
+fix_python_shebang_for = ['pymolcas', 'Tools/AugerOca/*.py', 'Tools/AugerOca/auger_oca/*.py', 'Tools/mort/mort.py',
+                          'Tools/dynamixtools/dynamixtools.py']
 
 modextrapaths = {'PATH': ''}
-
 modextravars = {
     'MOLCAS': '%(installdir)s',
     'MOLCAS_DRIVER': '%(installdir)s/pymolcas',
     'MOLCAS_SOURCE': '%(installdir)s',
 }
 
+sanity_check_commands = ['pymolcas --help']
+
+sanity_check_paths = {
+    'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT,
+              'sbin/help_basis', 'pymolcas'],
+    'dirs': ['data/', 'basis_library/'],
+}
+
 moduleclass = 'chem'
Diff against OpenMolcas-22.10-intel-2022a.eb

easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb

diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
index 58cdb96d1a..4743b8cb70 100644
--- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-22.10-intel-2022a.eb
+++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-24.10-intel-2023a.eb
@@ -1,28 +1,31 @@
 easyblock = 'CMakeMake'
 
 name = 'OpenMolcas'
-version = '22.10'
+version = '24.10'
 
 homepage = "https://gitlab.com/Molcas/OpenMolcas"
 description = "OpenMolcas is a quantum chemistry software package."
 
-toolchain = {'name': 'intel', 'version': '2022a'}
-toolchainopts = {'usempi': True}
+toolchain = {'name': 'intel', 'version': '2023a'}
+toolchainopts = {'usempi': True, 'optarch': False}  # optarch required to pass all tests
 
 source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/']
-sources = ["OpenMolcas-v%(version)s.tar.gz"]
-patches = ['OpenMolcas-21.06_mcpdft_deps.patch']
+sources = ["%(name)s-v%(version)s.tar.gz"]
+patches = ['%(name)s-23.06_mcpdft_deps.patch']
 checksums = [
-    {'OpenMolcas-v22.10.tar.gz': 'd1d3d6c9bd69486c36f5285a51ac18e75c03540c5b33751855e94abc764d9658'},
-    {'OpenMolcas-21.06_mcpdft_deps.patch': '708763e060aa0174bbe9c0cc336b509fbf492066465908dd919452836a7a793a'},
+    {'OpenMolcas-v24.10.tar.gz': 'c77e31b3604157743e718b12dc130dcb2b0ddcac65e0b99dbb1745fde18832d2'},
+    {'OpenMolcas-23.06_mcpdft_deps.patch': 'a798ec6f93a19539aa2211a978da461d4ecd31c5521b9dab6f2a9b1c2fa65f0e'},
 ]
 
-builddependencies = [('CMake', '3.23.1')]
+builddependencies = [('CMake', '3.26.3')]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('HDF5', '1.12.2'),
-    ('GlobalArrays', '5.8.1'),
+    ('Python', '3.11.3'),
+    ('Python-bundle-PyPI', '2023.06'),
+    ('lxml', '4.9.2'),
+    ('HDF5', '1.14.0'),
+    ('GlobalArrays', '5.8.2'),
+    ('libxc', '6.2.2'),
 ]
 
 build_shared_libs = True
@@ -36,9 +39,20 @@ _copts = [
     '-DFDE=ON',
     '-DMPI=ON',
     '-DGA=ON',
+    '-DEXTERNAL_LIBXC=$EBROOTLIBXC',
+    '-DPython_ROOT=$EBROOTPYTHON',
 ]
 configopts = ' '.join(_copts)
 
+pretestopts = 'MOLCAS=%(builddir)s/easybuild_obj '
+pretestopts += 'MOLCAS_DRIVER=%(builddir)s/easybuild_obj/pymolcas '
+pretestopts += 'MOLCAS_SOURCE=%(builddir)s/easybuild_obj '
+pretestopts += 'PATH=%(builddir)s/easybuild_obj:$PATH '
+test_cmd = 'pymolcas verify'
+
+fix_python_shebang_for = ['pymolcas', 'Tools/AugerOca/*.py', 'Tools/AugerOca/auger_oca/*.py', 'Tools/mort/mort.py',
+                          'Tools/dynamixtools/dynamixtools.py']
+
 modextrapaths = {'PATH': ''}
 modextravars = {
     'MOLCAS': '%(installdir)s',
@@ -46,7 +60,7 @@ modextravars = {
     'MOLCAS_SOURCE': '%(installdir)s',
 }
 
-sanity_check_commands = ['cd %(builddir)s/easybuild_obj; ./pymolcas verify']
+sanity_check_commands = ['pymolcas --help']
 
 sanity_check_paths = {
     'files': ['bin/dynamix.exe', 'bin/mpprop.exe', 'lib/libmolcas.%s' % SHLIB_EXT,

@easybuilders easybuilders deleted a comment from boegelbot Jan 29, 2025
@easybuilders easybuilders deleted a comment from boegelbot Jan 29, 2025
@branfosj
Copy link
Member Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@branfosj: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22229 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22229 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5637

Test results coming soon (I hope)...

- notification for comment with ID 2621990007 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/baa0e0df4d6daed914ba31de73485e2b for a full test report.

@branfosj
Copy link
Member Author

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0105u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/branfosj/d7537236d0703690443dc382a14c2da3 for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants