-
Notifications
You must be signed in to change notification settings - Fork 19
APEX helpful hints
Kevin Huck edited this page Jan 21, 2017
·
3 revisions
As described on the instructions for building HPX on Cori, several CMake options are required to enable full support from APEX:
- -DHPX_WITH_THREAD_IDLE_RATES=ON - this enables support for the idle rate counter in HPX, which can be captured by APEX and correlated with task performance.
- -DHPX_WITH_APEX=TRUE - Enables APEX. Required for any amount of APEX support.
- -DHPX_WITH_APEX_NO_UPDATE=TRUE - Prevents CMake from pulling the latest code from APEX, but builds what is currently in the hpx/apex directory. Useful for debugging/rebuilding only.
- -DAPEX_WITH_ACTIVEHARMONY=TRUE - Enables Active Harmony support in APEX. Active Harmony is used for optimization searches in APEX policies (none of which are currently used with Octotiger)
- -DACTIVEHARMONY_ROOT=${basedir}/${myarch}-build/contrib - Path to Active Harmony installation
- -DAPEX_WITH_OTF2=TRUE - enables OTF2 trace collection support. OTF2 traces can be viewed in Vampir and some other trace analysis/visualization tools.
- -DOTF2_ROOT=${basedir}/${myarch}-build/contrib - Path to OTF2 library installation.
If APEX is enabled at configuration time, but not wanted at runtime, it can be disabled completely by setting the APEX_DISABLE environment variable to a non-zero value (the default is 0). For example:
bash:$ export APEX_DISABLE=1
csh:% setenv APEX_DISABLE 1
If OTF2 tracing is enabled, but profile/screen output isn't needed, you can reduce APEX overhead by setting the APEX_PROCESS_ASYNC_STATE environment variable to a zero value (the default is 1). For example:
bash:$ export APEX_PROCESS_ASYNC_STATE=0
csh:% setenv APEX_PROCESS_ASYNC_STATE 0
coming soon...