Skip to content

Building APEX on OLCF Crusher

Kevin Huck edited this page Mar 23, 2023 · 3 revisions

The APEX CMake configuration will download and build all requested dependencies, if desired. The easiest way to install APEX for Crusher is with spack, doing:

spack install apex

If you're not using spack, the next easiest way is to do the following:

module reset
module unload perftools-base
module unload darshan-runtime
module load cmake
module load PrgEnv-amd
module swap amd amd/5.2.0 # or the version that YOU are using with your application
module swap cray-mpich cray-mpich/8.1.23
module load craype-accel-amd-gfx90a
module list

cwd=`pwd`
builddir=${cwd}/build
instdir=${cwd}/install

rm -rf ${builddir} ${instdir}

set -x
cmake -B build \
-DCMAKE_C_COMPILER=`which cc` \
-DCMAKE_CXX_COMPILER=`which CC` \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${instdir} \
-DAPEX_WITH_PAPI=TRUE \
-DAPEX_WITH_HIP=TRUE \
-DAPEX_WITH_LM_SENSORS=TRUE \
-DAPEX_WITH_OMPT=TRUE \
-DAPEX_WITH_BFD=TRUE \
-DAPEX_WITH_OTF2=TRUE \
-DAPEX_WITH_PLUGINS=TRUE \
-DAPEX_WITH_ACTIVEHARMONY=TRUE \
-DAPEX_WITH_MPI=TRUE \
-DROCM_ROOT=${OLCF_ROCM_ROOT} \
-DPAPI_ROOT=/gpfs/alpine/world-shared/gen010/papi_bitbucket_07_18_2022/crusher \
-DOTF2_ROOT=/gpfs/alpine/world-shared/gen010/otf2_2.3/crusher \
-DBFD_ROOT=/gpfs/alpine/world-shared/gen010/binutils_2.38/crusher

cmake --build build
cmake --install build

Using APEX on Crusher to collect a roofline