Skip to content

Building for use with TaskStubs

Kevin Huck edited this page Jun 28, 2024 · 2 revisions

This page contains instructions for building APEX with TaskStubs support for use with Iris, PaRSEC, StarPU, etc.

Using the multiple-parents branch of APEX, configure with CMake like this (assuming a CUDA platform):

cmake -B build \
-DCMAKE_C_COMPILER=`which gcc` \
-DCMAKE_CXX_COMPILER=`which g++` \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${installdir} \
-DAPEX_WITH_CUDA=TRUE \
-DAPEX_WITH_MPI=TRUE

And to run the test, do the following:

mpirun -np 2 ${installdir}/bin/apex_exec --apex:mpi --apex:cuda <your test program with MPI>

or

${installdir}/bin/apex_exec --apex:cuda <your test program without MPI>

Notes:

  • To generate a task tree, add --apex:tasktree
  • To generate a Perfetto trace, add --apex:gtrace
  • If you are not interested in the CUDA measurement, you can drop the --apex:cuda argument.
  • There are currently bugs in the MPI reduction of profile data, it's being investigated
  • There is also bugs discovered when testing with PaRSEC, it's being investigated