Advanced ConfigurationΒΆ

In addition to the normal options provided by CMake, Umpire uses some additional configuration arguments to control optional features and behavior. Each argument is a boolean option, and can be turned on or off:

-DENABLE_CUDA=Off

Here is a summary of the configuration options, their default value, and meaning:

These arguments are explained in more detail below:

  • ENABLE_CUDA This option enables support for NVIDIA GPUs using the CUDA programming model. If Umpire is built without CUDA or HIP support, then only the HOST allocator is available for use.

  • ENABLE_HIP This option enables support for AMD GPUs using the ROCm stack and HIP programming model. If Umpire is built without CUDA or HIP support, then only the HOST allocator is available for use.

  • ENABLE_NUMA This option enables support for NUMA. The umpire::strategy::NumaPolicy is available when built with this option, which may be used to locate the allocation to a specific node.

  • ENABLE_STATISTICS This option enables collection of memory statistics. If Umpire is built with this option, the Conduit library will also be built.

  • ENABLE_TESTING This option controls whether or not test executables will be built.

  • ENABLE_BENCHMARKS This option will build the benchmark programs used to test performance.

  • ENABLE_LOGGING This option enables usage of Logging services for Umpire

  • ENABLE_SLIC This option enables usage of logging services provided by SLIC.

  • ENABLE_BACKTRACE This option enables collection of backtrace information for each allocation.

  • ENABLE_TOOLS Enable development tools for Umpire (replay, etc.)

  • ENABLE_DOCS Build user documentation (with Sphinx) and code documentation (with Doxygen)

  • ENABLE_C Build the C API, this allows accessing Umpire Allocators and the ResourceManager through a C interface.

  • ENABLE_FORTRAN Build the Fortran API.