-
Notifications
You must be signed in to change notification settings - Fork 24
Building APEX on OLCF Summit
Kevin Huck edited this page Mar 23, 2023
·
2 revisions
The APEX CMake configuration will download and build all requested dependencies, if desired. The easiest way to install APEX for Summit is with spack, doing:
spack install apex
If you're not using spack, the next easiest way is to use this installation script in the apex
directory, after doing git clone https://github.com/UO-OACISS/apex
:
module reset
module unload darshan-runtime xl
module load gcc/7.4.0 cmake cuda papi
module list
cwd=`pwd`
version=`date +%Y.%m.%d`
builddir=${cwd}/apex_build
instdir=${cwd}/apex_install-summit-${version}
rm -rf ${builddir} ${instdir}
mkdir ${builddir}
cd ${builddir}
set -x
cmake \
-DCMAKE_C_COMPILER=`which gcc` \
-DCMAKE_CXX_COMPILER=`which g++` \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${instdir} \
-DCMAKE_CUDA_ARCHITECTURES=70 \
-DAPEX_WITH_CUDA=TRUE \
-DAPEX_WITH_OMPT=FALSE \
-DAPEX_WITH_PLUGINS=TRUE \
-DAPEX_WITH_PAPI=TRUE \
-DAPEX_WITH_OTF2=TRUE \
-DAPEX_WITH_TCMALLOC=TRUE \
-DAPEX_BUILD_TESTS=TRUE \
-DAPEX_BUILD_EXAMPLES=TRUE \
-DAPEX_WITH_ACTIVEHARMONY=TRUE \
-DAPEX_WITH_MPI=TRUE \
${cwd}
make -j8
make -j install
You can speed up the build considerably if you elect not to use some features:
-
-DAPEX_WITH_OMPT=FALSE
if you don't need OpenMP measurement (can conflict with some OpenMP offloading currently) -
-DAPEX_WITH_ACTIVEHARMONY=FALSE
if you don't need APEX policies (Kokkos autotuning will still be available) -
-DAPEX_WITH_OTF2=TRUE
if you don't need Vampir trace output -
-DAPEX_WITH_TCMALLOC=TRUE
if you don't worry about measurement overhead (APEX benefits from the Google PerfTools TCMalloc library, which is a thread-friendly heap manager). TCMalloc does conflict with other heap managers, though - like JEMalloc. -
-DAPEX_BUILD_TESTS=FALSE
if you don't need to test the installation -
-DAPEX_BUILD_EXAMPLES=FALSE
if you don't need to build examples