|
10 | 10 | # Load required modules, including correct CPU and GPU target modules (NOTE: the same modules should be loaded when running julia - JUHPC can be used in a module build recipe...)
|
11 | 11 | module load daint-gpu
|
12 | 12 | module switch PrgEnv-cray PrgEnv-gnu
|
| 13 | +module load cudatoolkit # A toolkit needs to be loaded during installation in order to be able to set JUHPC_CUDA_HOME (even though we set preferences to use artifacts in the postinstall) |
13 | 14 | module load cray-hdf5-parallel
|
14 | 15 | module list
|
15 | 16 |
|
16 | 17 |
|
17 | 18 | # Environment variables for HPC key packages that require system libraries that require system libraries (MPI.jl, CUDA.jl, AMDGPU.jl, HDF5.jl and ADIOS2.jl)
|
| 19 | +export JUHPC_CUDA_HOME=$CUDA_HOME |
| 20 | +export JUHPC_CUDA_RUNTIME_VERSION="11.8" # Set to the highest possible version that can work on daint (using artifacts - below "local" is set to false...) |
18 | 21 | export JUHPC_MPI_HOME=$MPICH_DIR
|
19 | 22 | export JUHPC_MPI_EXEC="srun -C gpu"
|
20 | 23 | export JUHPC_HDF5_HOME=$HDF5_DIR
|
21 | 24 |
|
22 | 25 |
|
| 26 | +# Create site-specific post-install script (currently MPIPreferences does not provide an option to set required preloads if not automatically detected; JUHPC_MPI_VENDOR fails on Piz Daint...) |
| 27 | +JUHPC_POST_INSTALL_JL=./post_install.jl |
| 28 | +echo 'using Preferences |
| 29 | + set_preferences!("CUDA_Runtime_jll", |
| 30 | + "local" => false; |
| 31 | + force=true |
| 32 | + ) |
| 33 | + set_preferences!("MPIPreferences", |
| 34 | + "preloads" => ["libcuda.so", "libcudart.so"], |
| 35 | + "preloads_env_switch" => "MPICH_RDMA_ENABLED_CUDA"; |
| 36 | + force=true |
| 37 | + )' > $JUHPC_POST_INSTALL_JL |
| 38 | + |
| 39 | + |
23 | 40 | # Call JUHPC
|
24 | 41 | JUHPC_SETUP_INSTALLDIR=$SCRATCH/../julia/${HOSTNAME%%[0-9]*}-gpu-nocudaaware/juhpc_setup
|
25 | 42 | JULIAUP_INSTALLDIR="\$SCRATCH/../julia/\$USER/\${HOSTNAME%%[0-9]*}-gpu-nocudaaware/juliaup"
|
26 | 43 | VERSION="v0.2.0"
|
27 | 44 | wget https://raw.githubusercontent.com/JuliaParallel/JUHPC/$VERSION/juhpc -O /tmp/juhpc
|
28 |
| -bash -l /tmp/juhpc $JUHPC_SETUP_INSTALLDIR $JULIAUP_INSTALLDIR |
| 45 | +bash -l /tmp/juhpc $JUHPC_SETUP_INSTALLDIR $JULIAUP_INSTALLDIR $JUHPC_POST_INSTALL_JL |
0 commit comments