Install Lumen on Tirant

From Lumen wiki
Jump to navigationJump to search

Tirant (CPU version)

Lumen Intel compiler

#!/bin/bash
module load oneapi/2025.0 mpi/2021.14 mkl/2025.0 
module load phdf5/1.14.6 netcdf-c/4.9.3 netcdf-fortran/4.6.2 
module load zlib/1.3.1 libxc/6.2.2 petsc/3.22.5 slepc/3.22.2

NETCDF_ROOT="/storage/projects/lv48/apps/netcdf-c/4.9.3"
NETCDFF_ROOT="/storage/projects/lv48/apps/netcdf-fortran/4.6.2"
HDF5_ROOT="/storage/apps/HDF5/1.14.6"
LIBXC_ROOT="/storage/projects/lv48/apps/libxc/6.2.2"
PETSC_ROOT="/storage/projects/lv48/apps/petsc/3.22.5"
SLEPC_ROOT="/storage/projects/lv48/apps/slepc/3.22.2"

./configure \
FC=ifx \
CC=icx \
MPICC=mpiicx \
MPIFC=mpiifx \
FCFLAGS="-O3 -g -check bounds" \
--enable-msgs-comps \
--enable-time-profile \
--enable-mpi \
--enable-iotk \
--without-editor \
--enable-memory-profile \
--enable-keep-src \
--enable-open-mp \
--enable-hdf5-par-io \
--with-mpi-path="${I_MPI_ROOT}" \
--with-netcdf-path=${NETCDF_ROOT} \
--with-netcdff-path=${NETCDFF_ROOT} \
--with-hdf5-path=${HDF5_ROOT} \
--with-fft-libs=" -L${MKLROOT}/lib/intel64 -lmkl_cdft_core -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-blas-libs="-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-lapack-libs="-L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_lp64 -liomp5 -lpthread -lm -ldl" \
--with-blacs-libs="mkl" \
--with-scalapack-libs="mkl" \
--with-libxc-path="${LIBXC_ROOT}"

LetzElPhC Intel compiler

To be updated. If urgently needed, contact PMi.

Yambopy

To be updated. Note: It is a little more tricky with yambopy. You might need to load anaconda/conda module. The version of Yambopy installed in the "storage"/"main" folder might not work on the computing nodes, so you might need to install it in the "scratch" system. The easiest would be to use it from the login node, but it is limited to 10 minutes of run-time. Please contact some PMi if urgently needed, or if you have problems in using it.

Netcdf/HDF5 errors

In case of errors related to netcdf/hdf (i.e., accessing some of the databases) try implicitly loading netcdf

from netCDF4 import Dataset

Additionally you can try using the following options in the beginning of the file.

# Make HDF5 behavior deterministic for this process
os.environ["HDF5_USE_FILE_LOCKING"] = "FALSE"
os.environ["HDF5_PLUGIN_PATH"] = ""              # disable external filters/plugins
os.environ["HDF5_DISABLE_VERSION_CHECK"] = "2"   # avoid version-check abort paths
# Strongly reduce thread-related weirdness (safe even if unused)
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["MKL_NUM_THREADS"] = "1"
os.environ["OPENBLAS_NUM_THREADS"] = "1"

If the errors keep happening, you might try to reinstall the netcdf/hdf python libraries in serial mode. But all of the cases need to be solved in particular, and try contacting the system administrator or some of the developers.