hardware-counters
cirrus_env.sh
# Cirrus batch-job environment preamble. Source this at the top of every
# Slurm script: source /work/project/project/user/scripts/cirrus_env.sh
#
# WHY THIS IS NEEDED: on Cirrus the module system is not initialised inside
# batch scripts (it is on ARCHER2). Without it `module load` silently does
# nothing, LD_LIBRARY_PATH is never populated, and every MPI binary dies with
# error while loading shared libraries: libfabric.so.1
# Sourcing 00-modulepath.sh + modules.sh + zz-cray-pe.sh reproduces what an
# interactive login shell does.
for f in /etc/profile.d/00-modulepath.sh \
/etc/profile.d/modules.sh \
/etc/profile.d/zz-cray-pe.sh; do
[ -f "$f" ] && source "$f"
done
module load PrgEnv-cray >/dev/null 2>&1
module load perftools-base >/dev/null 2>&1
module load perftools >/dev/null 2>&1
# Belt and braces: even with the modules loaded, some binaries need libfabric
# explicitly on the path.
export LD_LIBRARY_PATH="/opt/cray/libfabric/2.3.1/lib64:${LD_LIBRARY_PATH:-}"