Skip to content

Commit

Permalink
Doc: Update Frontier (#5570)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
ax3l authored Jan 17, 2025
1 parent a053457 commit 1ec42fb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 14 deletions.
8 changes: 4 additions & 4 deletions Tools/machines/frontier-olcf/frontier_warpx.profile.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ export MY_PROFILE=$(cd $(dirname $BASH_SOURCE) && pwd)"/"$(basename $BASH_SOURCE
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

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

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

# optional: for QED lookup table generation support
module load boost/1.79.0
module load boost/1.85.0

# optional: for openPMD support
module load adios2/2.8.3-mpi
module load hdf5/1.12.1-mpi
module load adios2/2.10.0-mpi
module load hdf5/1.14.3-mpi

# optional: for Python bindings or libEnsemble
module load cray-python/3.11.5
Expand Down
21 changes: 11 additions & 10 deletions Tools/machines/frontier-olcf/install_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,20 @@ python3 -m pip install --upgrade build
python3 -m pip install --upgrade packaging
python3 -m pip install --upgrade wheel
python3 -m pip install --upgrade setuptools
# cupy and h5py need an older Cython
# cupy needs an older Cython
# https://github.com/cupy/cupy/issues/4610
# https://github.com/h5py/h5py/issues/2268
python3 -m pip install --upgrade "cython<3.0"
# cupy for ROCm
# https://docs.cupy.dev/en/stable/install.html#building-cupy-for-rocm-from-source
# https://github.com/cupy/cupy/issues/7830
CC=cc CXX=CC \
CUPY_INSTALL_USE_HIP=1 \
ROCM_HOME=${ROCM_PATH} \
HCC_AMDGPU_TARGET=${AMREX_AMD_ARCH} \
python3 -m pip install -v cupy
python3 -m pip install --upgrade "cython>=3.0" # for latest mpi4py and everything else
python3 -m pip install --upgrade numpy
python3 -m pip install --upgrade h5py
python3 -m pip install --upgrade pandas
python3 -m pip install --upgrade scipy
MPICC="cc -shared" python3 -m pip install --upgrade mpi4py --no-cache-dir --no-build-isolation --no-binary mpi4py
Expand All @@ -100,14 +109,6 @@ python3 -m pip install --upgrade matplotlib
python3 -m pip install --upgrade yt
# install or update WarpX dependencies such as picmistandard
python3 -m pip install --upgrade -r $HOME/src/warpx/requirements.txt
# cupy for ROCm
# https://docs.cupy.dev/en/stable/install.html#building-cupy-for-rocm-from-source
# https://github.com/cupy/cupy/issues/7830
CC=cc CXX=CC \
CUPY_INSTALL_USE_HIP=1 \
ROCM_HOME=${ROCM_PATH} \
HCC_AMDGPU_TARGET=${AMREX_AMD_ARCH} \
python3 -m pip install -v cupy
# optional: for optimas (based on libEnsemble & ax->botorch->gpytorch->pytorch)
#python3 -m pip install --upgrade torch --index-url https://download.pytorch.org/whl/rocm5.4.2
#python3 -m pip install -r $HOME/src/warpx/Tools/optimas/requirements.txt

0 comments on commit 1ec42fb

Please sign in to comment.