Skip to content

Commit 1ec42fb

Browse files
authored
Doc: Update Frontier (#5570)
Touch up modules to new system defaults, mitigate increased Cython 3+ support in the Python data science ecosystem. Close #5561. - [x] compile tested - [x] runtime tested
1 parent a053457 commit 1ec42fb

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

Tools/machines/frontier-olcf/frontier_warpx.profile.example

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ export MY_PROFILE=$(cd $(dirname $BASH_SOURCE) && pwd)"/"$(basename $BASH_SOURCE
66
if [ -z ${proj-} ]; then echo "WARNING: The 'proj' variable is not yet set in your $MY_PROFILE file! Please edit its line 2 to continue!"; return; fi
77

88
# required dependencies
9-
module switch Core Core/24.07
109
module load cmake/3.27.9
1110
module load craype-accel-amd-gfx90a
1211
module load rocm/5.7.1
1312
module load cray-mpich/8.1.28
1413
module load cce/17.0.0 # must be loaded after rocm
14+
# https://docs.olcf.ornl.gov/systems/frontier_user_guide.html#compatible-compiler-rocm-toolchain-versions
1515

1616
# optional: faster builds
1717
module load ccache
@@ -27,11 +27,11 @@ export LD_LIBRARY_PATH=${HOME}/sw/frontier/gpu/blaspp-2024.05.31/lib64:$LD_LIBRA
2727
export LD_LIBRARY_PATH=${HOME}/sw/frontier/gpu/lapackpp-2024.05.31/lib64:$LD_LIBRARY_PATH
2828

2929
# optional: for QED lookup table generation support
30-
module load boost/1.79.0
30+
module load boost/1.85.0
3131

3232
# optional: for openPMD support
33-
module load adios2/2.8.3-mpi
34-
module load hdf5/1.12.1-mpi
33+
module load adios2/2.10.0-mpi
34+
module load hdf5/1.14.3-mpi
3535

3636
# optional: for Python bindings or libEnsemble
3737
module load cray-python/3.11.5

Tools/machines/frontier-olcf/install_dependencies.sh

+11-10
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,20 @@ python3 -m pip install --upgrade build
8787
python3 -m pip install --upgrade packaging
8888
python3 -m pip install --upgrade wheel
8989
python3 -m pip install --upgrade setuptools
90-
# cupy and h5py need an older Cython
90+
# cupy needs an older Cython
9191
# https://github.com/cupy/cupy/issues/4610
92-
# https://github.com/h5py/h5py/issues/2268
9392
python3 -m pip install --upgrade "cython<3.0"
93+
# cupy for ROCm
94+
# https://docs.cupy.dev/en/stable/install.html#building-cupy-for-rocm-from-source
95+
# https://github.com/cupy/cupy/issues/7830
96+
CC=cc CXX=CC \
97+
CUPY_INSTALL_USE_HIP=1 \
98+
ROCM_HOME=${ROCM_PATH} \
99+
HCC_AMDGPU_TARGET=${AMREX_AMD_ARCH} \
100+
python3 -m pip install -v cupy
101+
python3 -m pip install --upgrade "cython>=3.0" # for latest mpi4py and everything else
94102
python3 -m pip install --upgrade numpy
103+
python3 -m pip install --upgrade h5py
95104
python3 -m pip install --upgrade pandas
96105
python3 -m pip install --upgrade scipy
97106
MPICC="cc -shared" python3 -m pip install --upgrade mpi4py --no-cache-dir --no-build-isolation --no-binary mpi4py
@@ -100,14 +109,6 @@ python3 -m pip install --upgrade matplotlib
100109
python3 -m pip install --upgrade yt
101110
# install or update WarpX dependencies such as picmistandard
102111
python3 -m pip install --upgrade -r $HOME/src/warpx/requirements.txt
103-
# cupy for ROCm
104-
# https://docs.cupy.dev/en/stable/install.html#building-cupy-for-rocm-from-source
105-
# https://github.com/cupy/cupy/issues/7830
106-
CC=cc CXX=CC \
107-
CUPY_INSTALL_USE_HIP=1 \
108-
ROCM_HOME=${ROCM_PATH} \
109-
HCC_AMDGPU_TARGET=${AMREX_AMD_ARCH} \
110-
python3 -m pip install -v cupy
111112
# optional: for optimas (based on libEnsemble & ax->botorch->gpytorch->pytorch)
112113
#python3 -m pip install --upgrade torch --index-url https://download.pytorch.org/whl/rocm5.4.2
113114
#python3 -m pip install -r $HOME/src/warpx/Tools/optimas/requirements.txt

0 commit comments

Comments
 (0)