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

[WIP] Update Perlmutter profiles to fix Boost dependency #5477

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Conversation

EZoni
Copy link
Member

@EZoni EZoni commented Nov 21, 2024

Update the Boost module to use the latest E4S (23.08) GCC/12.3.0 stack on Perlmutter. This should fix #5471.

@EZoni EZoni added bug Something isn't working component: documentation Docs, readme and manual install bug: affects latest release Bug also exists in latest release version machine / system Machine or system-specific issue labels Nov 21, 2024
@EZoni
Copy link
Member Author

EZoni commented Nov 21, 2024

Question for @WeiqunZhang, @lucafedeli88, and others who may want to chime in.

How should I know which one to set for the environment variable BOOST_ROOT among the ones I find on Perlmutter?

$ ls /global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/ | grep "boost" 
boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
boost-1.83.0-2yqnluod73zoeujxzoe2tbob2d6vgbok
boost-1.83.0-7v65wrlbpdcvmjqcxl5ozjlokrmsxolu
boost-1.83.0-bofy2gbvluorrgdlsqeyw6cexrbsmpdu
boost-1.83.0-jn7ias45dtk7uwh4baobb2ndhq73ndxc
boost-1.83.0-nxqk3hnci5g3wqv75wvsmuke3w74mzxi

Do you know if we always checked with NERSC support each time we updated this in the past?

@Noerr
Copy link

Noerr commented Nov 21, 2024

I was able to build from scratch on Perlmutter following the docs and applying this patch just now.

@EZoni
Copy link
Member Author

EZoni commented Nov 21, 2024

Feedback I got from NERSC on this:

Each of those 6 installs have slightly different variations, by loading the e4s module and activating the gcc environment you can specify the differences. Here are the commands:

module load e4s
spack env activate gcc
spack find -lpfc boost

This will give the output:

nxqk3hn [email protected]%gcc ~atomic~chrono~clanglibcpp~container~context~contract~coroutine~date_time~debug~exception~fiber~filesystem~graph~graph_parallel~icu~iostreams~json~locale~log~math~mpi+multithreaded~nowide~numpy~pic~program_options~python~random~regex~serialization+shared~signals~singlethreaded~stacktrace~system~taggedlayout~test~thread~timer~type_erasure~versionedlayout~wave build_system=generic cxxstd=98 patches=a440f96 visibility=hidden /global/common/software/spackecp/perlmutter/e4s-23.08/94543/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-nxqk3hnci5g3wqv75wvsmuke3w74mzxi
...
...

If an option is preceded by a "+" then it means it's ON. If it's preceded by "~" it means that it's OFF. You can get more information about each option if after typing the above commands, you run spack info boost.

I would also like to warn you that the e4s-23.08 stack will also likely be removed in the not too distant future (https://docs.nersc.gov/applications/e4s/#e4s-support-timeline). Therefore you may consider doing your own install of boost with Spack or otherwise in your project's /global/common/software directory and pointing to that.

To be discussed with @lucafedeli88, @WeiqunZhang, @atmyers, @kngott, @ax3l (once back in office), etc.

@EZoni
Copy link
Member Author

EZoni commented Nov 22, 2024

@lucafedeli88

NERSC is asking if there are specific documented requirements for boost, in order to guess which variant of the packages above might be the right one. Do you know of any specific requirements, beyond the version being higher than 1.66?

Copy link
Member Author

@EZoni EZoni left a comment

Choose a reason for hiding this comment

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

Suggesting the default version specified by Spack, according to NERSC. As noted in my earlier comments, this would be only a temporary solution, as these versions will also be removed on December 13, 2024.

@@ -11,7 +11,7 @@ module load cmake/3.24.3
module load cray-fftw/3.3.10.6

# optional: for QED support with detailed tables
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.05/default/spack/opt/spack/linux-sles15-zen3/gcc-11.2.0/boost-1.82.0-ow5r5qrgslcwu33grygouajmuluzuzv3
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
Copy link
Member Author

Choose a reason for hiding this comment

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

According to NERSC, this would be the default one specified by Spack:

Suggested change
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-nxqk3hnci5g3wqv75wvsmuke3w74mzxi

Choose a reason for hiding this comment

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

Apologies for the late reply. This version works.

@@ -15,7 +15,7 @@ module load cudatoolkit
module load cmake/3.24.3

# optional: for QED support with detailed tables
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.05/default/spack/opt/spack/linux-sles15-zen3/gcc-11.2.0/boost-1.82.0-ow5r5qrgslcwu33grygouajmuluzuzv3
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
Copy link
Member Author

Choose a reason for hiding this comment

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

According to NERSC, this would be the default one specified by Spack:

Suggested change
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-2duyuvmto7nxhdxbmtdzfqta2zd2e6gp
export BOOST_ROOT=/global/common/software/spackecp/perlmutter/e4s-23.08/default/spack/opt/spack/linux-sles15-zen3/gcc-12.3.0/boost-1.83.0-nxqk3hnci5g3wqv75wvsmuke3w74mzxi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: affects latest release Bug also exists in latest release version bug Something isn't working component: documentation Docs, readme and manual install machine / system Machine or system-specific issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

perlmutter e4s-23.05 is end of life, please update build
3 participants