DASH Runtime Configuration
Also see build configuration options
Runtime Variables
The following configuration settings can be specified
- globally as environment variables, or
- at runtime using
dash::util::Config::set(key, value)
where changes only have local effect.
Example:
// Enable trace records at master only:
if (dash::myid() == 0) {
dash::util::Config::set("DASH_ENABLE_TRACE", true);
} else {
dash::util::Config::set("DASH_ENABLE_TRACE", false);
}
Logging and Trace Events
Name | Values | Synopsis |
---|---|---|
DASH_ENABLE_LOGGING |
on | off |
Enables or disables log output at the unit. |
DASH_ENABLE_TRACE |
on | off |
Enables or disables recording of trace events. |
DASH_TRACE_LOG_PATH |
<dir path> |
File system path to the output directory of trace data. |
Unit-Level Multithreading
Name | Values | Synopsis |
---|---|---|
DASH_ENABLE_THREADS |
on | off |
Enables or disables multithreading at the active unit. |
DASH_ENABLE_MAX_SMT |
on | off |
If set, virtual SMT CPUs (hyperthreads) instead of hardware threads are used to determine the number of available threads. |
DASH_MAX_UNIT_THREADS |
<number> |
Sets the maximum number of threads for the active unit. |
Hardware Specifications
Name | Values | Synopsis |
---|---|---|
DASH_MAX_SHMEM_BANDW |
<number> |
The maximum local shared memory bandwidth in bytes/s, e.g. 52.6G or5812K . May differ between locality domains. |
Read-only Configuration
Build configuration flags are defined as macros as well as read-only configuration settings to simplify runtime checks.
Example:
// Compile-time check:
#ifdef DASH_ENABLE_OPENMP
// ...
#endif
// Runtime check:
if (dash::util::Config::get<bool>("DASH_ENABLE_OPENMP")) {
// ...
}
Name | Values | Synopsis |
---|---|---|
DASH_ENABLE_MPI_SHWIN |
<bool> |
Whether MPI shared window features are supported. |
DASH_ENABLE_OPENMP |
<bool> |
Whether OpenMP is supported. |
DASH_ENABLE_PAPI |
<bool> |
Whether internal DASH functions use the PAPI library. |
DASH_ENABLE_HWLOC |
<bool> |
Whether internal DASH functions use OpenMPI hwloc. |
DASH_ENABLE_NUMA |
<bool> |
Whether internal DASH functions use libnuma proviced by numactl. |
DASH_ENABLE_MKL |
<bool> |
Whether DASH has been build with Intel MKL support. |