LLNL / libROM

Model reduction library with an emphasis on large scale parallelism and linear subspace methods
https://www.librom.net
Other
201 stars 36 forks source link

Add toolchain for Lassen #257

Closed ckendrick closed 8 months ago

ckendrick commented 9 months ago

This modifies some of the setup and compile scripts and adds a CMake toolchain file to make libROM compile on the IBM Power9 machines (such as Lassen).

Currently this is toolchain is only for the GNU 12 compilers. A toolchain using the IBM XL compiler will need some more work and will be added in a separate PR.

To Test: Due to some of the system module defaults and how the libROM dependencies are compiled, the following modules will need to be loaded before using compile.sh with the toolchain.

module load cmake/3.23.1
module load gcc/12.2.1
module load lapack/3.11.0-gcc-11.2.1
export CFLAGS="-mcpu=powerpc64le -mtune=powerpc64le"
export CXXFLAGS="-mcpu=powerpc64le -mtune=powerpc64le"

Note: if libROM has not been cloned from scratch, be sure to remove all folders in dependencies/ to ensure they get recompiled for the correct architecture.

Then the toolchain can be used to compile libROM (with MFEM and GSLIB):

./scripts/compile.sh -d -g -m -t cmake/toolchains/gnu12-rhel_7_ppc64le_ib_p9-dev.cmake
ckendrick commented 8 months ago

@dylan-copeland thanks for catching that. I just updated the wiki page to remove the debug option.