HPX - High Performance ParalleX

PrevUpHomeNext

HPX specific CMake Variables

Here are listed the most frequently used CMake variables specific to HPX, along with a brief explanation.

Frequently used HPX specific CMake Variables

HPX_BUILD_DOCUMENTATION:BOOL

Build the HPX documentation if the documentation toolchain is available (default: OFF). For more information about how to set up the documentation tool chain please refer to the section Setting up the HPX Documentation Tool Chain.

HPX_BUILD_EXAMPLES:BOOL

HPX examples will be built (default: ON). To actually build the examples execute make examples.

HPX_BUILD_TESTS:BOOL

HPX tests will be built (default: ON). To actually build the tests execute make tests.

HPX_CMAKE_LOGLEVEL:STRING

Sets the debugging level for the HPX build system generation. Possible values are Error, Warn, Debug, and Info. The default is Warn.

HPX_NO_LOGGING:BOOL

Sets whether HPX should not support generating detailed logging output (default: OFF). Even if this is set to OFF (i.e. logging is supported) you need to enable logging when running any HPX application. Logging support introducied a minimal runtime overhead which usually can be ignored. This option allows to remove this runtime overhead but by doing so disables the capability to extract detailed runtime information in case of errors.

HPX_HAVE_CXX11:BOOL

Sets whether HPX should use C++11 support, if available (default: ON).

HPX_HAVE_STACKTRACES:BOOL

Sets whether HPX applications should support capturing stack back- traces (default: ON).

HPX_HAVE_NATIVE_TLS:BOOL

Sets whether HPX should use the native compiler support for thread local storage, if available (default: ON).

HPX_THREAD_DEBUG_INFO:BOOL

Sets whether HPX threads should maintain detailed debugging information like the parent thread id, the phase execution count, the thread description, and the LCO description (while the thread is suspended). The default value for this variable is OFF if CMAKE_BUILD_TYPE=Release and ON otherwise.

Here is a list of options controlling the scheduling policies available for all applications built with HPX. For more information about the avalable scheduling policies see the section HPX Thread Scheduling Policies.

Enable HPX Scheduling Policies

HPX_LOCAL_SCHEDULER:BOOL

Enable local scheduling policy (default: OFF)

HPX_GLOBAL_SCHEDULER:BOOL

Enable global scheduling policy (default: OFF)

HPX_ABP_SCHEDULER:BOOL

Enable ABP scheduling policy (default: OFF)

HPX_ABP_PRIORITY_SCHEDULER:BOOL

Enable APB priority scheduling policy (default: OFF)

HPX_HIERARCHY_SCHEDULER:BOOL

Enable hierarchy scheduling policy (default: OFF)

HPX_PERIODIC_PRIORITY_SCHEDULER:BOOL

Enable periodic priority scheduling policy (default: OFF)

Here is a more complete list of CMake variables specific to HPX. These variables are used more seldom and are mainly useful for debugging purposes.

Other HPX specific CMake Variables

HPX_THREAD_MAINTAIN_BACKTRACE_ON_SUSPENSION:BOOL

Sets whether HPX threads should capture the stack back-trace whenever they are about to be suspended (default: OFF).

HPX_THREAD_BACKTRACE_ON_SUSPENSION_DEPTH:STRING

Sets the depth of the stack back-traces captured during thread suspension (default: 5).

HPX_USE_ITT_NOTIFY:BOOL

Sets whether HPX supports integration with the diagnostic tools of the Intel Parallel Studio (Intel Amplifier and Intel Inspector). The default value for this variable is OFF. Even if the variable is set to ON you must separately enable integration with the Intel tools at runtime. This option is available only if the include files and libraries for one of the Intel tools canbe located (see CMake variable AMPLIFIER below).

HPX_AUTOMATIC_PREPROCESSING:BOOL

Sets whether the generated makefiles should allow to regenerate the partially preprocessed files that are part of HPX. The default value for this option is OFF. This option can be enabled only if the Boost Wave tool is available (see CMake variable BOOSTWAVE below).

Here is a list of additional libraries and tools which are either optionally supported by the build system or are optionally required for certain examples or tests. These libraries and tools can be detected by the HPX build system.

Each of the tools or libraries listed here will be automatically detected if they are installed in some standard location. If a tool or library is installed in a different location you can specify its base directory by appending _ROOT to the variable name as listed below. For instance, to configure a custom directory for BOOST, specify BOOST_ROOT=/custom/boost/root.

Additional Tools and Libraries used by __hpx__

BOOST_ROOT:PATH

Specifies where to look for the Boost installation to be used for compiling HPX. Set this if CMake is not able to locate a suitable version of Boost. The directory specified here can be either the root of a installed Boost distribution or the directory where you unpacked and built Boost without installing it (with staged libraries).

HWLOC_ROOT:PATH

Specifies where to look for the Portable Hardware Locality (HWLOC) library. While it is not necessary to compile HPX with HWLOC, we strongly suggest you do so. HWLOC provides platform independent support for extracting information about the used hardware architecture (number of cores, number of NUMA domains, hyperthreading, etc.). HPX utilizes this information if available.

PAPI_ROOT:PATH

Specifies where to look for the Performance Application Programming Interface (PAPI) library. The PAPI library is need to compile a special component exposing PAPI hardware events and counters as HPX performance counters. This is not available on the Windows platform.

BOOSTWAVE_ROOT:PATH

Specifies where to look for a built Boost Wave binary. Set this if you want to recreate the preprocessed header files used by HPX. Normally this will not be necessary, unless you modified the sources those preprocessed headers depend on.

AMPLIFIER_ROOT:PATH

Specifies where to look for one of the tools of the Intel Parallel Studio(tm) product, either Intel Amplifier(tm) or Intel Inspector(tm). This should be set if the CMake variable HPX_USE_ITT_NOTIFY is set to ON. Enabling ITT support in HPX will integrate any application with the mentioned Intel tools, which customizes the generated information for your application and improves the generated diagnostics.

Additional Tools and Libraries Required by some of the Examples

HDF5_ROOT:PATH

Specifies where to look for the Hierarchical Data Format V5 (HDF5) include files and libraries.

MPI_ROOT:PATH

Specifies where to look for the MPI include files and libraries.

MPIEXEC_ROOT:PATH

Specifies where to look for the MPI tool mpiexec.


PrevUpHomeNext