Skip to content

{chem}[foss/2023a] PySCF v2.7.0, NECI v20230620, tblis v20230422#21616

Merged
boegel merged 8 commits intoeasybuilders:developfrom
PetrKralCZ:20241010154911_new_pr_PySCF270
Nov 29, 2024
Merged

{chem}[foss/2023a] PySCF v2.7.0, NECI v20230620, tblis v20230422#21616
boegel merged 8 commits intoeasybuilders:developfrom
PetrKralCZ:20241010154911_new_pr_PySCF270

Conversation

@PetrKralCZ
Copy link
Copy Markdown
Collaborator

@PetrKralCZ PetrKralCZ commented Oct 10, 2024

@PetrKralCZ PetrKralCZ marked this pull request as draft October 10, 2024 13:49
@PetrKralCZ PetrKralCZ mentioned this pull request Oct 10, 2024
13 tasks
@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

There are some disabled tests for NECI because they end up with a SEGFAULT. I tested it on a cluster with 360Gi memory available but it didn't help. Everything else seems to work.

Comment thread easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2023a.eb
@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: 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=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2428843636 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
Copy Markdown
Collaborator

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

@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: Request for testing this PR well received on login1

PR test command 'EB_PR=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2429007916 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
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/374781801255ae648502e16728f069ee for a full test report.

@PetrKralCZ PetrKralCZ marked this pull request as ready for review October 25, 2024 18:33
@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: Request for testing this PR well received on login1

PR test command 'EB_PR=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2449809544 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
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
cns2 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/b59fde60eb8ed9d0e59456a69c0869e3 for a full test report.

@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: 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=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2449885088 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
Copy Markdown
Collaborator

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

@boegel boegel added this to the 4.x milestone Nov 7, 2024
boegel
boegel previously approved these changes Nov 13, 2024
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel boegel mentioned this pull request Nov 13, 2024
@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 13, 2024

I keep seeing segfaults in the NECI tests on our systems, even when a lot of memory is available (~185GB for 36 cores, full Skylake node on skitty cluster) which is weird because the test suite works just fine on generoso and jsc-zen3.

I've opened an issue upstream on this, see fkfest/NECI_STABLE#18

We also have an old issue ourselves on this, we ran into this problem before with an old toolchain and old "version" of NECI, see #17164

@github-actions
Copy link
Copy Markdown

Updated software NECI-20230620-foss-2023a.eb

Diff against NECI-20230620-foss-2022b.eb

easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb

diff --git a/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2023a.eb
index c91d417c90..09dce5c1aa 100644
--- a/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2022b.eb
+++ b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2023a.eb
@@ -7,7 +7,7 @@ homepage = 'https://github.com/ghb24/NECI_STABLE'
 description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum
 chemistry methods."""
 
-toolchain = {'name': 'foss', 'version': '2022b'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 toolchainopts = {'usempi': True}
 
 sources = [{
@@ -19,12 +19,16 @@ sources = [{
     },
     'filename': SOURCE_TAR_GZ,
 }]
-checksums = [None]
+patches = ['NECI-20230620_segfault.patch']
+checksums = [
+    None,
+    'f0b5f62e115a1e07d6b90bc66ee9957a5f5d686bef65beba9c2be4bd8f29f0e4',
+]
 
 builddependencies = [
-    ('CMake', '3.24.3'),
-    ('Python', '3.10.8'),
-    ('SciPy-bundle', '2023.02'),
+    ('CMake', '3.26.3'),
+    ('Python', '3.11.3'),
+    ('SciPy-bundle', '2023.07'),
 ]
 
 dependencies = [
Diff against NECI-20220711-foss-2022a.eb

easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb

diff --git a/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2023a.eb
index 91ea5a5d83..09dce5c1aa 100644
--- a/easybuild/easyconfigs/n/NECI/NECI-20220711-foss-2022a.eb
+++ b/easybuild/easyconfigs/n/NECI/NECI-20230620-foss-2023a.eb
@@ -1,13 +1,13 @@
 easyblock = 'CMakeMakeCp'
 name = 'NECI'
-version = '20220711'
-_commit = 'd7a9e87ed6a4a29479dc25fbf36a7bb556c3f5a3'
+version = '20230620'
+_commit = '558e88c5ae6c30d0505a9badbc69111be0866ba1'
 
 homepage = 'https://github.com/ghb24/NECI_STABLE'
 description = """Standalone NECI codebase designed for FCIQMC and other stochastic quantum
 chemistry methods."""
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 toolchainopts = {'usempi': True}
 
 sources = [{
@@ -19,20 +19,20 @@ sources = [{
     },
     'filename': SOURCE_TAR_GZ,
 }]
-patches = ['NECI-20220711_fix-cmake-print-summary.patch']
+patches = ['NECI-20230620_segfault.patch']
 checksums = [
     None,
-    'e189f1b3991b28502dbd8285a04784e7e422d0a9e01e3f28025d0458b479af2d',
+    'f0b5f62e115a1e07d6b90bc66ee9957a5f5d686bef65beba9c2be4bd8f29f0e4',
 ]
 
 builddependencies = [
-    ('CMake', '3.23.1'),
-    ('Python', '3.10.4'),
-    ('SciPy-bundle', '2022.05'),
+    ('CMake', '3.26.3'),
+    ('Python', '3.11.3'),
+    ('SciPy-bundle', '2023.07'),
 ]
 
 dependencies = [
-    ('HDF5', '1.12.2'),
+    ('HDF5', '1.14.0'),
 ]
 
 # enable support for HDF5

Updated software PySCF-2.7.0-foss-2023a.eb

Diff against PySCF-2.4.0-foss-2022b.eb

easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb

diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
index 5a3844f6a3..d2efdfa6e2 100644
--- a/easybuild/easyconfigs/p/PySCF/PySCF-2.4.0-foss-2022b.eb
+++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
@@ -1,34 +1,35 @@
 easyblock = 'CMakeMakeCp'
 name = 'PySCF'
-version = '2.4.0'
+version = '2.7.0'
 
 homepage = 'http://www.pyscf.org'
 description = "PySCF is an open-source collection of electronic structure modules powered by Python."
 
-toolchain = {'name': 'foss', 'version': '2022b'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
 source_urls = ['https://github.com/pyscf/pyscf/archive/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['cc76440b9a7bf6a4969559b61eceb67c25760d211e6f59fc540209b1ea359d8d']
+checksums = ['f2f94e6dae8556085bb765eb5250f61589e977b4f12540c748241101d40da241']
 
 builddependencies = [
-    ('CMake', '3.24.3'),
-    ('pybind11', '2.10.3'),  # needed by zquatev
+    ('CMake', '3.26.3'),
+    ('pybind11', '2.11.1'),  # needed by zquatev
 ]
 
 dependencies = [
-    ('Python', '3.10.8'),
-    ('SciPy-bundle', '2023.02'),  # for numpy, scipy
-    ('h5py', '3.8.0'),
-    ('libcint', '5.5.0'),
-    ('libxc', '6.1.0'),
+    ('Python', '3.11.3'),
+    ('SciPy-bundle', '2023.07'),  # for numpy, scipy
+    ('h5py', '3.9.0'),
+    ('libcint', '5.4.0'),
+    ('libxc', '6.2.2'),
     ('XCFun', '2.1.1'),
     ('CPPE', '0.3.1'),  # extra
     ('PyBerny', '0.6.3'),  # extra
     ('PyCheMPS2', '1.8.12'),  # needed by dmrgscf
     ('Block', '1.5.3-20200525'),  # needed by dmrgscf
     ('NECI', '20230620'),  # needed by fciqmc
-    ('Dice', '20240101'),  # needed by icmpspt
+    ('Dice', '20240702'),  # needed by icmpspt
+    ('tblis', '20230422'),
 ]
 
 exts_defaultclass = 'PythonPackage'
@@ -49,10 +50,10 @@ exts_list = [
     ('doci', '08079a9', {
         'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'],
     }),
-    ('icmpspt', 'f26062b', {
+    ('icmpspt', '50c386e', {
         'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)],
         'checksums': [
-            {'icmpspt-f26062b.tar.gz': '8f44b317da209882e0353d2731d8bc907de450af02429e962ae9b8d3f8c95a47'},
+            {'icmpspt-50c386e.tar.gz': '08029863ae8740939a730fe5e104661c67d8dd0b8a8555b603fc8a0777096d48'},
             {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'},
         ],
     }),
@@ -66,14 +67,14 @@ exts_list = [
     ('semiempirical', '470d716', {
         'checksums': ['0bbe304867fd053ed647445ac84c4c76787ad23def9f72415aec297740121eef'],
     }),
-    ('shciscf', 'e8985e7', {
-        'checksums': ['a017ffcf54601ccb3e95a273eff47289905c81d7fd590f9b51e22a69e141b592'],
+    ('shciscf', '7edb54d', {
+        'checksums': ['ae54265f6600b73a350b00274c95bb0de940ddcd6e1b47b434594e18136b1bed'],
     }),
-    ('MCfun', '0.2.2', {
+    ('MCfun', '0.2.3', {
         'modulename': 'mcfun',
         'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'],
         'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['1cb6b36be86bcf13c15ecc9934d13dc67eb15834a7a6545e73f82f53835e278d'],
+        'checksums': ['3741b49b839df0fde891d51292520ed9094fa1d3c9b5d9c042d4f26087cf6a13'],
     }),
     ('pyqmc', '0.6.0', {
         'modulename': 'pyqmc',
@@ -81,10 +82,10 @@ exts_list = [
         'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
         'checksums': ['6e9f612c2d0bf2198154520e01dce57cf3a6e474840c1892466de3171eaeb7db'],
     }),
-    ('dmrgscf', '4ff57bf', {
+    ('dmrgscf', 'a03f7b6', {
         'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)],
         'checksums': [
-            {'dmrgscf-4ff57bf.tar.gz': '0683cfc2e6676aa11da7b2eee66e96442a64a37b72f65057779718c5fdb43c5f'},
+            {'dmrgscf-a03f7b6.tar.gz': 'dee40abe3d2aebab7a2d0eade4e464a6ae851b4c2b49a2cde4c3aa88f0651b04'},
             {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'},
         ],
     }),
@@ -103,10 +104,12 @@ exts_list = [
         'modulename': 'pyscf.hci',
         'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'],
     }),
-    ('tblis', '0d4dfd2', {
+    ('tblis', 'c67c8af', {
         'modulename': 'pyscf.tblis_einsum',
+        # Use our `tblis`.
+        'preinstallopts': 'CMAKE_CONFIGURE_ARGS="-DVENDOR_TBLIS=off" ',
         'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'],
-        'checksums': ['5e0e5840b78451085420b333cd4b5ee06fd659df06f142fa854de65b3f73fc5e'],
+        'checksums': ['9a40a760e3be1d0b7f49faab5897388dcdf75094f75e06b4c344b3642a0401d6'],
     }),
     ('zquatev', '4eb41b1', {
         'modulename': 'zquatev',
Diff against PySCF-2.1.1-foss-2022a.eb

easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb

diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
index 1d1b787c75..d2efdfa6e2 100644
--- a/easybuild/easyconfigs/p/PySCF/PySCF-2.1.1-foss-2022a.eb
+++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
@@ -1,34 +1,35 @@
 easyblock = 'CMakeMakeCp'
 name = 'PySCF'
-version = '2.1.1'
+version = '2.7.0'
 
 homepage = 'http://www.pyscf.org'
 description = "PySCF is an open-source collection of electronic structure modules powered by Python."
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
 source_urls = ['https://github.com/pyscf/pyscf/archive/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['814240aa73f57ba96aee8264e3914c09f96ebdce1e42784da4b5e9a474ecb280']
+checksums = ['f2f94e6dae8556085bb765eb5250f61589e977b4f12540c748241101d40da241']
 
 builddependencies = [
-    ('CMake', '3.23.1'),
-    ('pybind11', '2.9.2'),  # needed by zquatev
+    ('CMake', '3.26.3'),
+    ('pybind11', '2.11.1'),  # needed by zquatev
 ]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('SciPy-bundle', '2022.05'),  # for numpy, scipy
-    ('h5py', '3.7.0'),
-    ('libcint', '5.1.6'),
-    ('libxc', '5.2.3'),
+    ('Python', '3.11.3'),
+    ('SciPy-bundle', '2023.07'),  # for numpy, scipy
+    ('h5py', '3.9.0'),
+    ('libcint', '5.4.0'),
+    ('libxc', '6.2.2'),
     ('XCFun', '2.1.1'),
     ('CPPE', '0.3.1'),  # extra
     ('PyBerny', '0.6.3'),  # extra
     ('PyCheMPS2', '1.8.12'),  # needed by dmrgscf
     ('Block', '1.5.3-20200525'),  # needed by dmrgscf
-    ('NECI', '20220711'),  # needed by fciqmc
-    ('Dice', '20221025'),  # needed by icmpspt
+    ('NECI', '20230620'),  # needed by fciqmc
+    ('Dice', '20240702'),  # needed by icmpspt
+    ('tblis', '20230422'),
 ]
 
 exts_defaultclass = 'PythonPackage'
@@ -43,59 +44,54 @@ exts_default_options = {
 # The following list of extensions is equivalent to installing PySCF with extras:
 # all + dmrgscf + fciqmcscf + hci + mbd + tblis + zquatev
 exts_list = [
-    # extensions in 'all' extra
-    ('dftd3', 'd214021', {
-        'checksums': ['6616e7f28a90ca00c3def30dd22c4580f5b555af5c61fec2cb09cc6dd4e7bbff'],
+    ('dftd3', '94091d8', {
+        'checksums': ['a69ae44b3d02d2c06fd531373f20ee1251ef27fc932d40a7cafea6c09d8784fc'],
     }),
     ('doci', '08079a9', {
         'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'],
     }),
-    ('icmpspt', 'f26062b', {
+    ('icmpspt', '50c386e', {
         'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)],
         'checksums': [
-            {'icmpspt-f26062b.tar.gz': '8f44b317da209882e0353d2731d8bc907de450af02429e962ae9b8d3f8c95a47'},
+            {'icmpspt-50c386e.tar.gz': '08029863ae8740939a730fe5e104661c67d8dd0b8a8555b603fc8a0777096d48'},
             {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'},
         ],
     }),
-    ('properties', '92a4df7', {
+    ('properties', '8b94d8d', {
         'modulename': 'pyscf.prop',
-        'checksums': ['df5456315855c7a4f5858b244461793f2cbc21f6a6c0328039838ad85913c79d'],
+        'checksums': ['b40e071472a6bdfcaec8cd358c7c58c58748c59d8b188fdca09d6eca63329914'],
     }),
     ('qsdopt', '3ad2c02', {
         'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'],
     }),
-    ('semiempirical', '327d65e', {
-        'checksums': ['4d0016a321c91ace2f1c18e4001df3f6c8de9c96602c391353102b6ad4e14076'],
+    ('semiempirical', '470d716', {
+        'checksums': ['0bbe304867fd053ed647445ac84c4c76787ad23def9f72415aec297740121eef'],
     }),
-    ('shciscf', 'dd398d2', {
-        'checksums': ['96032337e8877478d410f2edd8490d267a8b6ddb8fad6152b201f4da912fd694'],
+    ('shciscf', '7edb54d', {
+        'checksums': ['ae54265f6600b73a350b00274c95bb0de940ddcd6e1b47b434594e18136b1bed'],
     }),
-    ('MCfun', '1a9ae31', {
+    ('MCfun', '0.2.3', {
         'modulename': 'mcfun',
         'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'],
-        'checksums': ['482397f0c964f27ff15687e4b56554c51e0f249e2ad5b96fd1d6cb8a2f7f2c72'],
+        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+        'checksums': ['3741b49b839df0fde891d51292520ed9094fa1d3c9b5d9c042d4f26087cf6a13'],
     }),
-    ('pyqmc', '0.5.0', {
+    ('pyqmc', '0.6.0', {
         'modulename': 'pyqmc',
         'source_urls': ['https://github.com/WagnerGroup/%(name)s/archive/'],
         'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
-        'checksums': ['ecda2045577dc3b48149d5e92c88ce19d60b8c2a2e2c1705542c176973f5e1c8'],
+        'checksums': ['6e9f612c2d0bf2198154520e01dce57cf3a6e474840c1892466de3171eaeb7db'],
     }),
-    # extensions on top of 'all' extra
-    ('dmrgscf', '4ff57bf', {
+    ('dmrgscf', 'a03f7b6', {
         'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)],
         'checksums': [
-            {'dmrgscf-4ff57bf.tar.gz': '0683cfc2e6676aa11da7b2eee66e96442a64a37b72f65057779718c5fdb43c5f'},
+            {'dmrgscf-a03f7b6.tar.gz': 'dee40abe3d2aebab7a2d0eade4e464a6ae851b4c2b49a2cde4c3aa88f0651b04'},
             {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'},
         ],
     }),
-    ('fciqmc', 'c7c30bb', {
+    ('fciqmc', 'ee98fb4', {
         'modulename': 'pyscf.fciqmcscf',
-        'patches': [('PySCF-2.1.1_fciqmc-settings.patch', 0)],
-        'checksums': [
-            {'fciqmc-c7c30bb.tar.gz': 'dfa613df36a49d7a7f1d2ff7ab7646a38adbb01c9af05d4ea7e3bcff495d8f57'},
-            {'PySCF-2.1.1_fciqmc-settings.patch': 'd9faa98e62957a5b47435343a986612b27aa9fc744a201ed3beb63919dc63427'},
-        ],
+        'checksums': ['b2f081ac295df0e622c6d1b3bff6d7834f97131f1f0fc87ec8bcff2137ef4199'],
     }),
     ('mbd', '485c18c', {
         'patches': [('PySCF-2.1.1_mbd-fix-init.patch', 0)],
@@ -108,17 +104,18 @@ exts_list = [
         'modulename': 'pyscf.hci',
         'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'],
     }),
-    ('tblis', 'a1efbc0', {
+    ('tblis', 'c67c8af', {
         'modulename': 'pyscf.tblis_einsum',
+        # Use our `tblis`.
+        'preinstallopts': 'CMAKE_CONFIGURE_ARGS="-DVENDOR_TBLIS=off" ',
         'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'],
-        'checksums': ['55fea57bfee2cf8aef577d8d2adc1f273aa39e3ee5e6cfc2442ccc3b5353a847'],
+        'checksums': ['9a40a760e3be1d0b7f49faab5897388dcdf75094f75e06b4c344b3642a0401d6'],
     }),
     ('zquatev', '4eb41b1', {
         'modulename': 'zquatev',
+        'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ",
         'source_urls': ['https://github.com/sunqm/%(name)s/archive/'],
         'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'],
-        # use pybind11 from EB
-        'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ",
     }),
 ]
 
Diff against PySCF-1.7.6-gomkl-2021a.eb

easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb

diff --git a/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
index cf0c6a26cc..d2efdfa6e2 100644
--- a/easybuild/easyconfigs/p/PySCF/PySCF-1.7.6-gomkl-2021a.eb
+++ b/easybuild/easyconfigs/p/PySCF/PySCF-2.7.0-foss-2023a.eb
@@ -1,45 +1,138 @@
 easyblock = 'CMakeMakeCp'
-
 name = 'PySCF'
-version = '1.7.6'
+version = '2.7.0'
 
 homepage = 'http://www.pyscf.org'
 description = "PySCF is an open-source collection of electronic structure modules powered by Python."
 
-toolchain = {'name': 'gomkl', 'version': '2021a'}
+toolchain = {'name': 'foss', 'version': '2023a'}
 
 source_urls = ['https://github.com/pyscf/pyscf/archive/']
 sources = ['v%(version)s.tar.gz']
-checksums = ['1805819557cf78fb5938a2141a429c74dabb3ba664b60420032584d7a876c2ab']
+checksums = ['f2f94e6dae8556085bb765eb5250f61589e977b4f12540c748241101d40da241']
 
-builddependencies = [('CMake', '3.20.1')]
+builddependencies = [
+    ('CMake', '3.26.3'),
+    ('pybind11', '2.11.1'),  # needed by zquatev
+]
 
 dependencies = [
-    ('Python', '3.9.5'),
-    ('SciPy-bundle', '2021.05'),  # for numpy, scipy
-    ('h5py', '3.2.1'),
-    ('libcint', '4.4.0'),
-    ('libxc', '5.1.5'),
+    ('Python', '3.11.3'),
+    ('SciPy-bundle', '2023.07'),  # for numpy, scipy
+    ('h5py', '3.9.0'),
+    ('libcint', '5.4.0'),
+    ('libxc', '6.2.2'),
     ('XCFun', '2.1.1'),
+    ('CPPE', '0.3.1'),  # extra
+    ('PyBerny', '0.6.3'),  # extra
+    ('PyCheMPS2', '1.8.12'),  # needed by dmrgscf
+    ('Block', '1.5.3-20200525'),  # needed by dmrgscf
+    ('NECI', '20230620'),  # needed by fciqmc
+    ('Dice', '20240702'),  # needed by icmpspt
+    ('tblis', '20230422'),
 ]
 
-start_dir = 'pyscf/lib'
+exts_defaultclass = 'PythonPackage'
+exts_default_options = {
+    'download_dep_fail': True,
+    'use_pip': True,
+    'modulename': 'pyscf.%(name)s',
+    'source_urls': ['https://github.com/pyscf/%(name)s/archive/'],
+    'sources': [{'download_filename': '%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+}
 
-separate_build_dir = True
+# The following list of extensions is equivalent to installing PySCF with extras:
+# all + dmrgscf + fciqmcscf + hci + mbd + tblis + zquatev
+exts_list = [
+    ('dftd3', '94091d8', {
+        'checksums': ['a69ae44b3d02d2c06fd531373f20ee1251ef27fc932d40a7cafea6c09d8784fc'],
+    }),
+    ('doci', '08079a9', {
+        'checksums': ['f492ba45dfe50c9b459e53a946a677528af0dc2097ff77ea3767aa4f46c5d9ba'],
+    }),
+    ('icmpspt', '50c386e', {
+        'patches': [('PySCF-2.1.1_icmpspt-exe-path.patch', 0)],
+        'checksums': [
+            {'icmpspt-50c386e.tar.gz': '08029863ae8740939a730fe5e104661c67d8dd0b8a8555b603fc8a0777096d48'},
+            {'PySCF-2.1.1_icmpspt-exe-path.patch': 'e972e377b34b964c48a99909301bf21a9c73d8eb9ecb96a889621d71471c56c9'},
+        ],
+    }),
+    ('properties', '8b94d8d', {
+        'modulename': 'pyscf.prop',
+        'checksums': ['b40e071472a6bdfcaec8cd358c7c58c58748c59d8b188fdca09d6eca63329914'],
+    }),
+    ('qsdopt', '3ad2c02', {
+        'checksums': ['cc639150e5f9efad8ffe496b3dccd2952a1f60fdad51f611cffba701892b384e'],
+    }),
+    ('semiempirical', '470d716', {
+        'checksums': ['0bbe304867fd053ed647445ac84c4c76787ad23def9f72415aec297740121eef'],
+    }),
+    ('shciscf', '7edb54d', {
+        'checksums': ['ae54265f6600b73a350b00274c95bb0de940ddcd6e1b47b434594e18136b1bed'],
+    }),
+    ('MCfun', '0.2.3', {
+        'modulename': 'mcfun',
+        'source_urls': ['https://github.com/Multi-collinear/%(name)s/archive/'],
+        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+        'checksums': ['3741b49b839df0fde891d51292520ed9094fa1d3c9b5d9c042d4f26087cf6a13'],
+    }),
+    ('pyqmc', '0.6.0', {
+        'modulename': 'pyqmc',
+        'source_urls': ['https://github.com/WagnerGroup/%(name)s/archive/'],
+        'sources': [{'download_filename': 'v%(version)s.tar.gz', 'filename': '%(name)s-%(version)s.tar.gz'}],
+        'checksums': ['6e9f612c2d0bf2198154520e01dce57cf3a6e474840c1892466de3171eaeb7db'],
+    }),
+    ('dmrgscf', 'a03f7b6', {
+        'patches': [('PySCF-2.1.1_dmrgscf-settings.patch', 0)],
+        'checksums': [
+            {'dmrgscf-a03f7b6.tar.gz': 'dee40abe3d2aebab7a2d0eade4e464a6ae851b4c2b49a2cde4c3aa88f0651b04'},
+            {'PySCF-2.1.1_dmrgscf-settings.patch': 'a0310a2a90e96bd64d1560b2cc73a805717e129d2921e91cc5e6038b9f153677'},
+        ],
+    }),
+    ('fciqmc', 'ee98fb4', {
+        'modulename': 'pyscf.fciqmcscf',
+        'checksums': ['b2f081ac295df0e622c6d1b3bff6d7834f97131f1f0fc87ec8bcff2137ef4199'],
+    }),
+    ('mbd', '485c18c', {
+        'patches': [('PySCF-2.1.1_mbd-fix-init.patch', 0)],
+        'checksums': [
+            {'mbd-485c18c.tar.gz': 'de1fb14650fcb87909cae33dc318d2e213653ac4393ced7e070dfa6308d95846'},
+            {'PySCF-2.1.1_mbd-fix-init.patch': '4f8e4b2e39b77428187851c4b6ced39401561bc81f4f3a4605da5d5c7b798cbc'},
+        ],
+    }),
+    ('naive-hci', '0c28d6e', {
+        'modulename': 'pyscf.hci',
+        'checksums': ['de247d17b80133655df5966341e5adb691b0df150cd9b0f1980cf62ec55229d5'],
+    }),
+    ('tblis', 'c67c8af', {
+        'modulename': 'pyscf.tblis_einsum',
+        # Use our `tblis`.
+        'preinstallopts': 'CMAKE_CONFIGURE_ARGS="-DVENDOR_TBLIS=off" ',
+        'source_urls': ['https://github.com/pyscf/pyscf-tblis/archive/'],
+        'checksums': ['9a40a760e3be1d0b7f49faab5897388dcdf75094f75e06b4c344b3642a0401d6'],
+    }),
+    ('zquatev', '4eb41b1', {
+        'modulename': 'zquatev',
+        'preinstallopts': "sed -i 's/add_subdirectory(pybind11)/find_package(pybind11 REQUIRED)/' CMakeLists.txt && ",
+        'source_urls': ['https://github.com/sunqm/%(name)s/archive/'],
+        'checksums': ['4caf08e3831a5d86e6bc22f3b4028cc159101cb9658d09de16e382e268a5a2e9'],
+    }),
+]
 
+start_dir = 'pyscf/lib'
 configopts = "-DBUILD_LIBCINT=OFF -DBUILD_LIBXC=OFF -DBUILD_XCFUN=OFF"
-
 prebuildopts = "export PYSCF_INC_DIR=$EBROOTQCINT/include:$EBROOTLIBXC/lib && "
 
-files_to_copy = ['pyscf']
+_py_site_packages = 'lib/python%(pyshortver)s/site-packages'
+files_to_copy = [(['pyscf'], _py_site_packages)]
 
 sanity_check_paths = {
-    'files': ['pyscf/__init__.py'],
-    'dirs': ['pyscf/data', 'pyscf/lib'],
+    'files': [_py_site_packages + '/pyscf/__init__.py'],
+    'dirs': [_py_site_packages + d for d in ['/pyscf/data', '/pyscf/lib']],
 }
 
 sanity_check_commands = ["python -c 'import pyscf'"]
 
-modextrapaths = {'PYTHONPATH': ''}
+modextrapaths = {'PYTHONPATH': _py_site_packages}
 
 moduleclass = 'chem'

@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ generoso

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: Request for testing this PR well received on login1

PR test command 'EB_PR=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2491347599 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
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/498767ee66ec98c27bf79a73635f3fe6 for a full test report.

@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@PetrKralCZ: 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=21616 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_21616 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2492019707 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
Copy Markdown
Collaborator

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

@PetrKralCZ
Copy link
Copy Markdown
Collaborator Author

Test report by @PetrKralCZ
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4003.donphan.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 545.23.08, Python 3.6.8
See https://gist.github.com/PetrKralCZ/42311e3a2ff2c514984f858bb653f108 for a full test report.

Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 28, 2024

Test report by @boegel
SUCCESS
Build succeeded for 7 out of 7 (3 easyconfigs in total)
node3164.skitty.os - Linux RHEL 9.4, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.9.18
See https://gist.github.com/boegel/e2cf653be9b4003cee692cc331d0b39e for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Nov 29, 2024

Going in, thanks @PetrKralCZ!

@boegel boegel merged commit 331a9b0 into easybuilders:develop Nov 29, 2024
@boegel boegel modified the milestones: 4.x, release after 4.9.4 Nov 29, 2024
@boegel boegel modified the milestones: release after 4.9.4, 5.0.0 Mar 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PySCF

3 participants