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

perlmutter e4s-23.05 is end of life, please update build #5471

Closed
2 tasks done
robnagler opened this issue Nov 19, 2024 · 2 comments · Fixed by #5477
Closed
2 tasks done

perlmutter e4s-23.05 is end of life, please update build #5471

robnagler opened this issue Nov 19, 2024 · 2 comments · Fixed by #5477
Assignees
Labels
bug Something isn't working

Comments

@robnagler
Copy link

Description

NERSC perlmutter build script(s) needs updating for boost. The e4s 23.05 was EOL on 9/30.

Cmake finds boost 1.66 in /usr/include when it should find boost 1.82 (1.83)

Expected behavior

Compilation should find boost in BOOST_ROOT.

How to reproduce

build with perlmutter gpu

System information

Perlmutter

  • branch: development
  • Installation method:
    • Tools/machines/perlmutter/perlmutter_gpu_warpx.profile
    • GPU: e.g., 2 GPUs (NVIDIA, AMD, etc.)

Steps taken so far

There are two boost configs which come up, and currently trying those:

  Matching packages:
    jn7ias4 [email protected]%[email protected] arch=linux-sles15-zen3
    2duyuvm [email protected]%[email protected] arch=linux-sles15-zen3

Additional information

The build succeeds, but running results in:

Exception: Dimensionality '3d' was not compiled in this Python install. Please recompile with -DWarpX_DIMS=3

Note: it would be great if cmake would fail if $BOOST_ROOT does not exist. Instead, it's just ignored.

@robnagler robnagler added the bug Something isn't working label Nov 19, 2024
@EZoni
Copy link
Member

EZoni commented Nov 21, 2024

I started looking into this.

Pinging @lucafedeli88 because the build logic is probably mostly on the PICSAR end (i.e., not WarpX).

See, for example, lines 43-51 from https://github.com/ECP-WarpX/picsar/blob/6b46dbe083daf30286631c82818d4285c2676371/multi_physics/QED/CMakeLists.txt:

if(PXRMP_QED_TABLEGEN)
    find_package(Boost 1.66.0)
    if(Boost_FOUND)
        target_link_libraries(PXRMP_QED INTERFACE Boost::boost)
        target_compile_definitions(PXRMP_QED INTERFACE PXRMP_HAS_BOOST=1)
    else()
         message( FATAL_ERROR "Table generation (PXRMP_QED_TABLEGEN) requires Boost (>= 1.66)!" )
    endif()
endif()

Not sure how to tell find_package to discard anything other than what is found in BOOST_ROOT.

On the WarpX end, I can open a PR to update how we set BOOST_ROOT here and see if that is enough to fix the issue:

# 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

However, I still need to understand which one of these I should set:

$ 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

Will open a PR to try things out and link to this issue.

@EZoni
Copy link
Member

EZoni commented Nov 21, 2024

@robnagler

Could you try the fix in #5477? I would recommend that you try from scratch (re-source profile, re-install dependencies, re-build WarpX, re-run test), just in case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants