Skip to content

use latest version (0.2.5) of archspec for LAMMPS 2Aug2023 easyconfigs#22235

Merged
ocaisa merged 2 commits intoeasybuilders:developfrom
bedroge:lammps_2aug2023_bump_archspec_version
Jan 29, 2025
Merged

use latest version (0.2.5) of archspec for LAMMPS 2Aug2023 easyconfigs#22235
ocaisa merged 2 commits intoeasybuilders:developfrom
bedroge:lammps_2aug2023_bump_archspec_version

Conversation

@bedroge
Copy link
Copy Markdown
Contributor

@bedroge bedroge commented Jan 29, 2025

Version 0.2.1 does not support newer CPUs like Sapphire Rapids, so I'm bumping the version of archspec (which is only used as build dependency) to the latest one. LAMMPS 2Aug2023 and newer do support Sapphire Rapids, but with the current archspec version it detects Sapphire Lake as Icelake and hence uses ICX for the Kokkos architecture.

@github-actions
Copy link
Copy Markdown

Updated software archspec-0.2.5-GCCcore-12.3.0.eb

Diff against archspec-0.2.4-GCCcore-13.3.0.eb

easybuild/easyconfigs/a/archspec/archspec-0.2.4-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.2.4-GCCcore-13.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
index 5a4f3a288e..bb6c3f9824 100644
--- a/easybuild/easyconfigs/a/archspec/archspec-0.2.4-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
@@ -1,22 +1,22 @@
 easyblock = 'PythonPackage'
 
 name = 'archspec'
-version = '0.2.4'
+version = '0.2.5'
 
 homepage = 'https://github.com/archspec/archspec'
 description = "A library for detecting, labeling, and reasoning about microarchitectures"
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 sources = [SOURCE_TAR_GZ]
-checksums = ['eabbae22f315d24cc2ce786a092478ec8e245208c9877fb213c2172a6ecb9302']
+checksums = ['5bec8dfc5366ff299071200466dc9572d56db4e43abca3c66bdd62bc2b731a2a']
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('poetry', '1.8.3'),
+    ('binutils', '2.40'),
+    ('poetry', '1.5.1'),
 ]
 
-dependencies = [('Python', '3.12.3')]
+dependencies = [('Python', '3.11.3')]
 
 download_dep_fail = True
 use_pip = True
Diff against archspec-0.2.2-GCCcore-13.2.0.eb

easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb

diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
index 5af93d472e..bb6c3f9824 100644
--- a/easybuild/easyconfigs/a/archspec/archspec-0.2.2-GCCcore-13.2.0.eb
+++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
@@ -1,22 +1,22 @@
 easyblock = 'PythonPackage'
 
 name = 'archspec'
-version = '0.2.2'
+version = '0.2.5'
 
 homepage = 'https://github.com/archspec/archspec'
 description = "A library for detecting, labeling, and reasoning about microarchitectures"
 
-toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 sources = [SOURCE_TAR_GZ]
-checksums = ['d922c9fd80a5234d8cef883fbe0e146b381c449062c0405f91714ebad1edc035']
+checksums = ['5bec8dfc5366ff299071200466dc9572d56db4e43abca3c66bdd62bc2b731a2a']
 
 builddependencies = [
     ('binutils', '2.40'),
-    ('poetry', '1.6.1'),
+    ('poetry', '1.5.1'),
 ]
 
-dependencies = [('Python', '3.11.5')]
+dependencies = [('Python', '3.11.3')]
 
 download_dep_fail = True
 use_pip = True
Diff against archspec-0.2.1-GCCcore-12.3.0.eb

easybuild/easyconfigs/a/archspec/archspec-0.2.1-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/a/archspec/archspec-0.2.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
index 7498e08297..bb6c3f9824 100644
--- a/easybuild/easyconfigs/a/archspec/archspec-0.2.1-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/a/archspec/archspec-0.2.5-GCCcore-12.3.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonPackage'
 
 name = 'archspec'
-version = '0.2.1'
+version = '0.2.5'
 
 homepage = 'https://github.com/archspec/archspec'
 description = "A library for detecting, labeling, and reasoning about microarchitectures"
@@ -9,7 +9,7 @@ description = "A library for detecting, labeling, and reasoning about microarchi
 toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
 
 sources = [SOURCE_TAR_GZ]
-checksums = ['0974a8a95831d2d43cce906c5b79a35d5fd2bf9be478b0e3b7d83ccc51ac815e']
+checksums = ['5bec8dfc5366ff299071200466dc9572d56db4e43abca3c66bdd62bc2b731a2a']
 
 builddependencies = [
     ('binutils', '2.40'),

@bedroge bedroge changed the title use latest version of archspec for LAMMPS 2Aug2023 easyconfigs use latest version (0.2.5) of archspec for LAMMPS 2Aug2023 easyconfigs Jan 29, 2025
@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jan 29, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

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

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 2621588854 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.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/15a38f5e361c89a0dda1ebc2d2b4b154 for a full test report.

@branfosj
Copy link
Copy Markdown
Member

Test report by @branfosj
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3569
FAILED
Build succeeded for 0 out of 1 (1 easyconfigs in total)
bear-pg0210u03a - Linux RHEL 8.10, x86_64, Intel(R) Xeon(R) Platinum 8480CL (sapphirerapids), Python 3.6.8
See https://gist.github.com/branfosj/d9c2c95ccfe4ed234cf299e1f1c3506c for a full test report.

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jan 29, 2025

@branfosj In your build report, it looks like the build itself succeeded but there seems to be some issue with rpath-ing:

== 2025-01-29 14:09:15,561 build_log.py:226 ERROR EasyBuild encountered an error (at easybuild/src/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): Sanity check failed: Check for banned/required shared libraries failed for /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/LAMMPS/2Aug2023_update2-foss-2023a-kokkos/bin/lmp, /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/LAMMPS/2Aug2023_update2-foss-2023a-kokkos/lib/liblammps.so.0, /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/LAMMPS/2Aug2023_update2-foss-2023a-kokkos/lib/liblammps.so (at easybuild/src/easybuild-framework/easybuild/framework/easyblock.py:3846 in _sanity_check_step)

Could it be

libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007facc102b000)	

and that means we are not picking up Python correctly from EasyBuild?

@branfosj
Copy link
Copy Markdown
Member

branfosj commented Jan 29, 2025

My failure is defintely unrelated to this PR.

Could it be

libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007facc102b000)	

and that means we are not picking up Python correctly from EasyBuild?

I run easybuild from a venv and I've had issues with the Python from the venv being detected, or the OS Python being detected, instead of the EasyBuild one. So I have EASYBUILD_BANNED_LINKED_SHARED_LIBS=libpython3.6m.so set to detect this.

In the ldd output for LAMMPS I see both:

libpython3.11.so.1.0 => /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/lib/../lib64/libpython3.11.so.1.0 (0x00007f1a2f171000)
libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007f1a27fde000)

I'm currently trying to identify where this is coming from, but only LAMMPS looks to be linked to Python 3.6.

All the cmake output points to the correction Python:

-- Found Python: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/bin/python (found version "3.11.3") found components: Interpreter
-- Found Python: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/bin/python (found version "3.11.3") found components: Interpreter Development Development.Module Development.Embed
-- Found Cythonize: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python-bundle-PyPI/2023.06-GCCcore-12.3.0/bin/cythonize
-- Found Python: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/include/python3.11 (found version "3.11.3") found components: NumPy Interpreter Development.Module

-- Found Python3: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/bin/python (found suitable version "3.11.3", minimum required is "3.11") found components: Interpreter Development.Module Development.Embed

-- Found Python: /rds/projects/2017/branfosj-rse/easybuild/EL8-spr/software/Python/3.11.3-GCCcore-12.3.0/bin/python (found version "3.11.3") found components: Interpreter

@ocaisa
Copy link
Copy Markdown
Member

ocaisa commented Jan 29, 2025

Going to merge this, this change is just about bumping the archspec version to support, no change to the LAMMPS recipe

@ocaisa ocaisa merged commit 01dd97e into easybuilders:develop Jan 29, 2025
@bedroge bedroge deleted the lammps_2aug2023_bump_archspec_version branch January 29, 2025 21:14
@boegel boegel added this to the 5.0.0 milestone 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.

5 participants