HPC cluster with AMD processor compilation - GeoEnergyLab-EPFL/BigWham GitHub Wiki

  • This is an example of compilation steps for an HPC cluster with an AMD processor
  • need GCC and OpenBLAS

Bigwham with python interface (PyBind11)

git clone [email protected]:GeoEnergyLab-EPFL/BigWham.git
# compile on specific nodes meant for running HPC codes
srun --pty bash -l
cd BigWham
module purge
module load python/3.10.0 openblas/latest gcc
mkdir build
cd build
# MAY BE YOU NEED TO LOCALLY INSTALL GIT in '$HOME/git' to git clone pybind11 BUT CAN TRY WITHOUT IT
# https://git-scm.com/download/linux (INSTALL TARBALL)
export PATH=$HOME/git/bin:$PATH
# Its better to make a python venv now using `/cm/shared/apps/python-3.10.0/bin/python3.10` python
# install the following packages using pip
# python3 -m pip install jupyter scipy matplotlib numpy jupyterlab ipykernel mpmath cmake py-ubjson dataclasses-json numba meshio numpy dill pygmsh multimethod pip -U
cmake -DCMAKE_CXX_STANDARD=17 -DIL_MATH_VENDOR=OpenBLAS -DPython3_EXECUTABLE=/cm/shared/apps/python-3.10.0/bin/python3.10 ..
make -j28
# bigwham is installed now

BigWham with Julia interface (CxxWrap)

# To compile with Julia interface, only GCC compiler is working
# as CxxWrap seems to be compiled with GCC compilers
git clone [email protected]:GeoEnergyLab-EPFL/BigWham.git
srun --pty bash -l
module purge
module load python/3.10.0 openblas/latest gcc
# may need to manually install git (check above)
export PATH=$HOME/git/bin:$PATH
cd BigWham
git checkout main
# install julia from website and run
julia --project=.
# the above command opens julia REPL
# press ] and type `instantiate`, it will precompile all packages from Project.toml file
# now come out of julia REPL using ctrl+D
mkdir build
cd build
# you need to mention here correct path of bigwham folder in julia executable (`/home/FOO/BigWham`) -DJULIA_EXECUTABLE="julia --project=/home/FOO/BigWham"
cmake -DCMAKE_CXX_STANDARD=17 -DIL_MATH_VENDOR=OpenBLAS -DPython3_EXECUTABLE=/cm/shared/apps/python-3.10.0/bin/python3.10 -DBIGWHAM_JULIA_INTERFACE=ON -DJULIA_EXECUTABLE="julia --project=/home/FOO/BigWham" ..
make -j28