Skip to content

generate version from the source files for LAMMPS when using software-commit #3485

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

Merged
merged 29 commits into from
May 24, 2025

Conversation

laraPPr
Copy link
Contributor

@laraPPr laraPPr commented Oct 14, 2024

Please do not merge this one untill these two are merged I will update the easyBlock when the others get merged. The new additions is so that LAMMPS can be used with --software-commit for https://github.com/EESSI/dev.eessi.io-example.

Currently --module-only does not work when the correct version is not specified. [RESOLVED]

@laraPPr
Copy link
Contributor Author

laraPPr commented Jan 30, 2025

This pr has been test in the dev.eessi.io-example repository (EESSI/dev.eessi.io-example#8) and is also used to set up the following github action laraPPr/lammps#3.

@laraPPr laraPPr changed the title generate version from the source files when using software-commit LAMMPS: generate version from the source files when using software-commit Jan 30, 2025
@laraPPr
Copy link
Contributor Author

laraPPr commented Jan 31, 2025

By merging with develop I now get the following error when testing

ERROR: Failed to import easyblock easybuild.easyblocks.generic.easyblock_specific from /tmp/eb-w0y1rq44/included-easyblocks-5iev4nma/easybuild/easyblocks/generic: no module named 'test.easyblocks'

@laraPPr
Copy link
Contributor Author

laraPPr commented Jan 31, 2025

The error about the test.easyblocks is not happening anymore with the last commit.

--module-only is now also working when the when the correct version is not specified and the EasyBlock infers it from the src/version.h file.

The LICENSE file is now also copied to the installdir.

Also tested the last commit in a github action see https://github.com/laraPPr/lammps/actions/runs/13077882201/job/36494374056.

ocaisa
ocaisa previously requested changes Feb 3, 2025
@boegel
Copy link
Member

boegel commented Feb 4, 2025

@boegelbot please test @ jsc-zen3-a100
EB_ARGS="LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb"

@boegelbot
Copy link

@boegel: 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=3485 EB_ARGS="LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3485 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 2634085430 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

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb
  • SUCCESS LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb

Build succeeded for 2 out of 2 (2 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/65f8c9e6ef094b43780f1bbc3f406705 for a full test report.

Copy link
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.

@laraPPr I've made some suggestions for improvements, mostly code cleanup.

I'll apply them and re-test myself so we can get this merged ASAP...

@boegel boegel self-assigned this May 24, 2025
@boegel
Copy link
Member

boegel commented May 24, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="LAMMPS-23Jun2022-foss-2022a-kokkos.eb LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb LAMMPS-29Aug2024-foss-2023b-kokkos.eb"
CORE_CNT=16

boegel
boegel previously approved these changes May 24, 2025
Copy link
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

@boegelbot
Copy link

@boegel: 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=3485 EB_ARGS="LAMMPS-23Jun2022-foss-2022a-kokkos.eb LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb LAMMPS-29Aug2024-foss-2023b-kokkos.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3485 --ntasks="16" ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 2906662107 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).

@boegel
Copy link
Member

boegel commented May 24, 2025

@boegelbot please test @ jsc-zen3-a100
EB_ARGS="LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb LAMMPS-28Oct2024-foss-2023a-kokkos-mace-CUDA-12.1.1.eb"
CORE_CNT=16

@boegelbot
Copy link

@boegel: 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=3485 EB_ARGS="LAMMPS-2Aug2023_update2-foss-2023a-kokkos-CUDA-12.1.1.eb LAMMPS-28Oct2024-foss-2023a-kokkos-mace-CUDA-12.1.1.eb" EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3485 --ntasks="16" ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 2906694484 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).

@boegel boegel added this to the next release (5.1.0) milestone May 24, 2025
@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb
  • SUCCESS LAMMPS-29Aug2024-foss-2023b-kokkos.eb
  • SUCCESS kim-api-2.3.0-GCC-11.3.0.eb
  • SUCCESS LAMMPS-23Jun2022-foss-2022a-kokkos.eb

Build succeeded for 4 out of 4 (3 easyconfigs in total)
jsczen3c3.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/f06f1b05ac3e30547d7d503f573587da for a full test report.

@boegelbot
Copy link

Test report by @boegelbot

Overview of tested easyconfigs (in order)

Build succeeded for 1 out of 2 (2 easyconfigs in total)
jsczen3c4.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/95fd940f0de592190022afa6a1d2de7c for a full test report.

@boegel
Copy link
Member

boegel commented May 24, 2025

Hmm, not sure what's making the build fail for LAMMPS-28Oct2024-foss-2023a-kokkos-mace-CUDA-12.1.1.eb, but pretty sure it has nothing to do with the changes made in this PR:

/project/def-maintainers/boegelbot/rocky9/zen3/software/binutils/2.40-GCCcore-12.3.0/bin/ld: warning: libcuda.so.1, needed by liblammps.so.0, not found (try using -rpath or -rpath-link)
/project/def-maintainers/boegelbot/rocky9/zen3/software/binutils/2.40-GCCcore-12.3.0/bin/ld: liblammps.so.0: undefined reference to `cuStreamGetCtx'
/project/def-maintainers/boegelbot/rocky9/zen3/software/binutils/2.40-GCCcore-12.3.0/bin/ld: liblammps.so.0: undefined reference to `cuCtxPushCurrent_v2'
/project/def-maintainers/boegelbot/rocky9/zen3/software/binutils/2.40-GCCcore-12.3.0/bin/ld: liblammps.so.0: undefined reference to `cuCtxGetDevice'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/lmp.dir/build.make:105: lmp] Error 1

@boegel
Copy link
Member

boegel commented May 24, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS LAMMPS-23Jun2022-foss-2022a-kokkos.eb
  • SUCCESS LAMMPS-29Aug2024-foss-2023b-kokkos.eb
  • SUCCESS LAMMPS-29Aug2024_update2-foss-2023a-kokkos.eb
  • SUCCESS LAMMPS-2Aug2023_update2-foss-2023a-kokkos.eb

Build succeeded for 4 out of 4 (4 easyconfigs in total)
node3502.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/6df7b1d86c4917a5152d522b6c0de1b9 for a full test report.

@boegel boegel dismissed ocaisa’s stale review May 24, 2025 13:06

requested changes made

@boegel boegel merged commit 922a8c3 into easybuilders:develop May 24, 2025
17 checks passed
@boegel boegel changed the title LAMMPS: generate version from the source files when using software-commit generate version from the source files for LAMMPS when using software-commit May 26, 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