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_BENCHMARKS This option will build the benchmark programs used to test performance.

  • 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_DOCS Build user documentation (with Sphinx) and code documentation (with Doxygen)

  • ENABLE_FORTRAN Build the Fortran API.

  • 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_TESTS This option controls whether or not test executables will be built.

  • UMPIRE_DISABLE_ALLOCATIONMAP_DEBUG This option disables verbose output from the AllocationMap during debug builds. By default, when an allocation cannot be found, the contents of the AllocationMap are printed.

  • UMPIRE_ENABLE_ASAN This option enables address sanitization checks within Umpire by compilers that support options like -fsanitize=address

  • UMPIRE_ENABLE_BACKTRACE_SYMBOLS This option enables symbol information to be provided with backtraces. This requires -ldl to be specified for using programs.

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

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

  • UMPIRE_ENABLE_FILE_RESOURCE This option will allow the build to make all File Memory Allocation files. If Umpire is built without FILE, CUDA or HIP support, then only the HOST allocator is available for use.

  • UMPIRE_ENABLE_IPC_SHARED_MEMORY This option enables support for interprocess shared memory. Currently, this feature only exists for for HOST memory.

  • UMPIRE_ENABLE_LOGGING This option enables usage of Logging services for Umpire

  • UMPIRE_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.

  • UMPIRE_ENABLE_PERFORMANCE_TESTS Build and run performance tests

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

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