Using LUMI¶
Login¶
There are 8 login nodes and 3 gateway that redirect to any of the login nodes in a load-balanced way:
Hostname |
Node type |
|---|---|
|
login to one of the login nodes |
Host key fingerprint:
Algorithm |
Fingerprint (SHA256) |
|---|---|
RSA |
|
ECDSA |
|
ED25519 |
|
More details can be found in the wiki page LUMI / Logging in.
Building software¶
ESPResSo¶
Release 4.2:
# last update: February 2026
module load LUMI/25.03 \
cpeCray/25.03 \
Boost/1.88.0-cpeCray-25.03 \
cray-fftw/3.3.10.10 \
cray-mpich/8.1.32 \
cray-python/3.11.7 \
cray-hdf5-parallel/1.14.3.5 \
buildtools/25.03 \
systools/25.03 \
cURL/8.11.1-cpeCray-25.03 \
GSL/2.8-cpeCray-25.03-OpenMP
git clone --recursive --branch 4.2 --origin upstream \
https://github.com/espressomd/espresso.git espresso-4.2
cd espresso-4.2
python -m venv --system-site-packages venv
source venv/bin/activate
python3 -m pip install "cython>3.0.8" "numpy>2.0" scipy h5py
mkdir build
cd build
cp ../maintainer/configs/maxset.hpp myconfig.hpp
sed -i "/ADDITIONAL_CHECKS/d" myconfig.hpp
CC=cc CXX=CC cmake .. \
-D CMAKE_BUILD_TYPE=Release \
-D ESPRESSO_BUILD_WITH_CCACHE=OFF \
-D ESPRESSO_BUILD_WITH_CUDA=OFF \
-D ESPRESSO_BUILD_WITH_FFTW=ON \
-D ESPRESSO_BUILD_WITH_HDF5=ON \
-D ESPRESSO_BUILD_WITH_WALBERLA=ON \
-D ESPRESSO_BUILD_WITH_WALBERLA_AVX=ON \
-D ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM=ON \
-D ESPRESSO_BUILD_WITH_GSL=ON
make -j 4
deactivate
module purge
Release 5.0:
# last update: November 2025
module load LUMI/24.03 \
cpeCray/24.03 \
Boost/1.83.0-cpeCray-24.03 \
cray-fftw/3.3.10.7 \
cray-mpich/8.1.29 \
cray-python/3.11.7 \
cray-hdf5-parallel/1.12.2.11 \
buildtools/24.03 \
systools/24.03 \
cURL/8.3.0-cpeCray-24.03 \
GSL/2.7.1-cpeCray-24.03-OpenMP
git clone --branch python --origin upstream \
https://github.com/espressomd/espresso.git espresso-5.0
cd espresso-5.0
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -c requirements.txt "numpy<2.0" scipy h5py cython==3.0.8 packaging
mkdir build
cd build
cp ../maintainer/configs/maxset.hpp myconfig.hpp
sed -i "/ADDITIONAL_CHECKS/d" myconfig.hpp
CC=cc CXX=CC cmake .. \
-D CMAKE_BUILD_TYPE=Release \
-D ESPRESSO_BUILD_WITH_CCACHE=OFF \
-D ESPRESSO_BUILD_WITH_CUDA=OFF \
-D ESPRESSO_BUILD_WITH_FFTW=ON \
-D ESPRESSO_BUILD_WITH_HDF5=ON \
-D ESPRESSO_BUILD_WITH_WALBERLA=ON \
-D ESPRESSO_BUILD_WITH_WALBERLA_AVX=ON \
-D ESPRESSO_BUILD_WITH_SHARED_MEMORY_PARALLELISM=ON \
-D ESPRESSO_BUILD_WITH_GSL=ON
make -j 4
deactivate
module purge
During dynamic linking, libcraymp.so must be loaded before dependent libraries
like libsci_cray_mpi_mp.so. Yet, the CMake target OpenMP::OpenMP_CXX sets
libcraymp.so after the libraries that depend on it.
As a workaround, one can hardcode libcraymp.so.2 to appear before
OpenMP::OpenMP_CXX using variable OpenMP_craymp_LIBRARY, like so:
if(DEFINED OpenMP_craymp_LIBRARY AND EXISTS ${OpenMP_craymp_LIBRARY})
target_link_libraries(${target} PRIVATE ${OpenMP_craymp_LIBRARY} OpenMP::OpenMP_CXX)
endif()
Alternatively, one can set the environment variable LD_PRELOAD like so:
$> ./pypresso script.py
Traceback (most recent call last):
File "/pfs/lustrep3/scratch/project_465000000/username/espresso-5.0/build/../testsuite/python/particle.py", line 20, in <module>
import unittest_decorators as utx
File "/pfs/lustrep3/scratch/project_465000000/username/espresso-5.0/testsuite/python/unittest_decorators.py", line 25, in <module>
import espressomd
File "/scratch/project_465000000/username/espresso-5.0/build/src/python/espressomd/__init__.py", line 22, in <module>
from . import _init
ImportError: /opt/cray/pe/lib64/libsci_cray_mp.so.6: cannot allocate memory in static TLS block
$> LD_PRELOAD=/opt/cray/pe/lib64/cce/libcraymp.so.2 OMP_BIND_PROC=true OMP_NUM_THREADS=1 ./pypresso script.py
Ran 47 tests in 0.767s