Umpire
An application-focused API for memory management on NUMA & GPU architectures
File Explorer
- Dockerfile
- entrypoint.sh
- Dockerfile
- entrypoint.sh
- Dockerfile
- entrypoint.sh
- Dockerfile
- entrypoint.sh
- bug_report.md
- feature_request.md
- apply-style.yml
- build.yml
- generate-shroud.yml
- push-all-branches.yml
- hubcast.yml
- corona.yml
- dane.yml
- lassen.yml
- matrix.yml
- tioga.yml
- tuolumne.yml
- custom-jobs.yml
- custom-variables.yml
- spack.yaml
- spack.yaml
- allocator_benchmarks.cpp
- allocator_memory_cost_benchmark.cpp
- allocator_stress_test.cpp
- CMakeLists.txt
- copy_benchmarks.cpp
- copy_stress_test.cpp
- debuglog_benchmarks.cpp
- device_allocator_stress_test.cpp
- file_resource_benchmarks.cpp
- fixed_pool_stress_test.cpp
- inspector_benchmarks.cpp
- no-op_stress_test.cpp
- pool_stress_test.cpp
- resource_aware_pool_stress_test.cpp
- vendor_allocator_benchmarks.cpp
- SetupCMakeBasics.cmake
- SetupCompilerFlags.cmake
- SetupUmpireOptions.cmake
- SetupUmpireThirdParty.cmake
- UmpireMacros.cmake
- valgrind.supp
- CMakeLists.txt
- Doxyfile
- Doxyfile.in
- advice_device_id.rst
- coalesce_pool.rst
- device_ipc.rst
- file_allocation.rst
- get_largest_available_block_in_pool.rst
- memory-pool-with-without-coalesce.png
- mixed_pool.rst
- move_between_numa.rst
- move_to_managed.rst
- multi-mem.png
- naming_shim.rst
- no_introspection.rst
- pinned_pool.rst
- plot_allocations.rst
- plot_allocations_example.png
- pool_advice.rst
- quick_pool_heuristics.rst
- resource_aware_pool.rst
- shared_memory_allocators.rst
- shrinking_pools.rst
- single_mem.png
- states.png
- strategy_name.rst
- thread_safe.rst
- ci.rst
- hpctoolkit.rst
- uberenv.rst
- allocator_accessibility.rst
- allocators.rst
- backtrace.rst
- device_allocators.rst
- file_output.rst
- logging_and_replay.rst
- operations.rst
- shared_memory_allocators.rst
- strategies.rst
- allocators.rst
- pools.rst
- resources.rst
- allocators.rst
- allocators.rst
- introspection.rst
- operations.rst
- quick_pool.rst
- replay.rst
- resources.rst
- typed_allocators.rst
- .gitignore
- advanced_configuration.rst
- CMakeLists.txt
- conf.py.in
- contribution_guide.rst
- cookbook.rst
- developer_guide.rst
- features.rst
- getting_started.rst
- governance.rst
- tutorial.rst
- CMakeLists.txt
- conf.py
- index.rst
- requirements.txt
- CMakeLists.txt
- recipe_advice_device_id.cpp
- recipe_coalesce_pool.cpp
- recipe_control_granularity.cpp
- recipe_device_ipc.cpp
- recipe_filesystem_memory_allocation.cpp
- recipe_get_largest_available_block_in_pool.cpp
- recipe_memprefetch_pool.cpp
- recipe_mixed_pool.cpp
- recipe_move_between_numa.cpp
- recipe_move_to_managed.cpp
- recipe_named_allocation.cpp
- recipe_naming_shim.cpp
- recipe_no_introspection.cpp
- recipe_pinned_pool.F
- recipe_plot_allocations.cpp
- recipe_pool_advice.cpp
- recipe_prefetch_pool.F
- recipe_quick_pool_heuristic.cpp
- recipe_shared_memory.cpp
- recipe_shrink.cpp
- recipe_strategy_name.cpp
- recipe_thread_safe.cpp
- recipe_thread_safe.F
- recipe_use_advice_ops.cpp
- CMakeLists.txt
- tut_allocator.c
- tut_pool.c
- tut_resources.c
- CMakeLists.txt
- tut_allocator.F
- CMakeLists.txt
- tut_allocator.cpp
- tut_copy.cpp
- tut_introspection.cpp
- tut_memset.cpp
- tut_move.cpp
- tut_quick_pool_1.cpp
- tut_quick_pool_2.cpp
- tut_reallocate.cpp
- tut_replay.cpp
- tut_replay_log.json
- tut_resources.cpp
- tut_typed_allocator.cpp
- aligned_allocator.cpp
- allocator.c
- allocator.cxx
- allocator_access.cpp
- backtrace_example.cpp
- CMakeLists.txt
- device-allocator.cpp
- get_parent.cpp
- ipc_shared_memory_release.cpp
- malloc.cxx
- mpi3_shared_memory.cpp
- multi_device.cpp
- resource_aware_pool_example.cpp
- size_limiter.cpp
- strategy_example.cpp
- use_after_free.cpp
- vector_allocator.cpp
- build_and_benchmark.sh
- build_and_test.sh
- build_and_test_all_disabled.sh
- build_and_test_all_enabled.sh
- run_build_and_test.sh
- compare.py
- profile_million_allocations
- apply-style.sh
- local-gcc-8.3.1-rc
- build_and_test.sh
- generate_host_configs.py
- build_and_test.sh
- apply-license-info.sh
- check-license-info.sh
- make_release_tarball.sh
- radiuss-spack-configs
- uberenv
- umpire-license.txt
- update-copyright-date.sh
- umpire-logo.png
- umpire-logo.svg
- CLI11.hpp
- json.hpp
- CMakeLists.txt
- judy.c
- judy.h
- judyL2Array.h
- judyLArray.h
- camp
- fmt
- CMakeLists.txt
- CMakeLists.txt
- CudaMallocAllocator.hpp
- CudaMallocManagedAllocator.hpp
- CudaPinnedAllocator.hpp
- HipAllocator.hpp
- HipMallocAllocator.hpp
- HipMallocManagedAllocator.hpp
- HipPinnedAllocator.hpp
- MallocAllocator.hpp
- OpenMPTargetAllocator.hpp
- PosixMemalignAllocator.hpp
- SyclMallocAllocator.hpp
- SyclMallocManagedAllocator.hpp
- SyclPinnedAllocator.hpp
- CMakeLists.txt
- event.hpp
- event_json.hpp
- event_store.hpp
- event_store_recorder.cpp
- event_store_recorder.hpp
- json_file_store.cpp
- json_file_store.hpp
- quest_database.cpp
- quest_database.hpp
- recorder_chain.hpp
- recorder_factory.cpp
- recorder_factory.hpp
- sqlite_database.cpp
- sqlite_database.hpp
- CMakeLists.txt
- gencumpiresplicer.inc
- genfumpiresplicer.f
- genumpiresplicer.py
- typesUmpire.h
- umpire.h
- utilUmpire.cpp
- wrapAllocator.cpp
- wrapAllocator.h
- wrapfumpire.f
- wrapfUmpire_strategy.f
- wrapResourceManager.cpp
- wrapResourceManager.h
- wrapUmpire.cpp
- wrapUmpire.h
- .gitignore
- umpire_types.yaml
- CMakeLists.txt
- umpire_shroud.yaml
- CMakeLists.txt
- CudaAdviseOperation.cpp
- CudaAdviseOperation.hpp
- CudaCopyOperation.cpp
- CudaCopyOperation.hpp
- CudaGetAttributeOperation.cpp
- CudaGetAttributeOperation.hpp
- CudaMemPrefetchOperation.cpp
- CudaMemPrefetchOperation.hpp
- CudaMemsetOperation.cpp
- CudaMemsetOperation.hpp
- GenericReallocateOperation.cpp
- GenericReallocateOperation.hpp
- HipAdviseOperation.cpp
- HipAdviseOperation.hpp
- HipCopyOperation.cpp
- HipCopyOperation.hpp
- HipMemsetOperation.cpp
- HipMemsetOperation.hpp
- HostCopyOperation.cpp
- HostCopyOperation.hpp
- HostMemsetOperation.cpp
- HostMemsetOperation.hpp
- HostReallocateOperation.cpp
- HostReallocateOperation.hpp
- MemoryOperation.cpp
- MemoryOperation.hpp
- MemoryOperationRegistry.cpp
- MemoryOperationRegistry.hpp
- NumaMoveOperation.cpp
- NumaMoveOperation.hpp
- OpenMPTargetCopyOperation.cpp
- OpenMPTargetCopyOperation.hpp
- OpenMPTargetMemsetOperation.cpp
- OpenMPTargetMemsetOperation.hpp
- SyclCopyFromOperation.cpp
- SyclCopyFromOperation.hpp
- SyclCopyOperation.cpp
- SyclCopyOperation.hpp
- SyclCopyToOperation.cpp
- SyclCopyToOperation.hpp
- SyclMemPrefetchOperation.cpp
- SyclMemPrefetchOperation.hpp
- SyclMemsetOperation.cpp
- SyclMemsetOperation.hpp
- CMakeLists.txt
- CudaConstantMemoryResource.cu
- CudaConstantMemoryResource.hpp
- CudaConstantMemoryResourceFactory.cpp
- CudaConstantMemoryResourceFactory.hpp
- CudaDeviceMemoryResource.cpp
- CudaDeviceMemoryResource.hpp
- CudaDeviceResourceFactory.cpp
- CudaDeviceResourceFactory.hpp
- CudaPinnedMemoryResourceFactory.cpp
- CudaPinnedMemoryResourceFactory.hpp
- CudaUnifiedMemoryResourceFactory.cpp
- CudaUnifiedMemoryResourceFactory.hpp
- DefaultMemoryResource.hpp
- DefaultMemoryResource.inl
- FileMemoryResource.cpp
- FileMemoryResource.hpp
- FileMemoryResourceFactory.cpp
- FileMemoryResourceFactory.hpp
- HipConstantMemoryResource.cpp
- HipConstantMemoryResource.hpp
- HipConstantMemoryResourceFactory.cpp
- HipConstantMemoryResourceFactory.hpp
- HipDeviceMemoryResource.cpp
- HipDeviceMemoryResource.hpp
- HipDeviceResourceFactory.cpp
- HipDeviceResourceFactory.hpp
- HipPinnedMemoryResource.cpp
- HipPinnedMemoryResource.hpp
- HipPinnedMemoryResourceFactory.cpp
- HipPinnedMemoryResourceFactory.hpp
- HipUnifiedMemoryResource.cpp
- HipUnifiedMemoryResource.hpp
- HipUnifiedMemoryResourceFactory.cpp
- HipUnifiedMemoryResourceFactory.hpp
- HostMpi3SharedMemoryResource.cpp
- HostMpi3SharedMemoryResource.hpp
- HostMpi3SharedMemoryResourceFactory.cpp
- HostMpi3SharedMemoryResourceFactory.hpp
- HostResourceFactory.cpp
- HostResourceFactory.hpp
- HostSharedMemoryResource.cpp
- HostSharedMemoryResource.hpp
- HostSharedMemoryResourceFactory.cpp
- HostSharedMemoryResourceFactory.hpp
- HostSharedMemoryResourceImpl.hpp
- MemoryResource.cpp
- MemoryResource.hpp
- MemoryResourceFactory.hpp
- MemoryResourceRegistry.cpp
- MemoryResourceRegistry.hpp
- MemoryResourceTypes.hpp
- NoOpMemoryResource.cpp
- NoOpMemoryResource.hpp
- NoOpResourceFactory.cpp
- NoOpResourceFactory.hpp
- NullMemoryResource.cpp
- NullMemoryResource.hpp
- NullMemoryResourceFactory.cpp
- NullMemoryResourceFactory.hpp
- OpenMPTargetMemoryResourceFactory.cpp
- OpenMPTargetMemoryResourceFactory.hpp
- SyclDeviceMemoryResource.hpp
- SyclDeviceMemoryResource.inl
- SyclDeviceResourceFactory.cpp
- SyclDeviceResourceFactory.hpp
- SyclPinnedMemoryResourceFactory.cpp
- SyclPinnedMemoryResourceFactory.hpp
- SyclUnifiedMemoryResourceFactory.cpp
- SyclUnifiedMemoryResourceFactory.hpp
- AlignedAllocation.cpp
- AlignedAllocation.hpp
- AlignedAllocation.inl
- AllocateNull.cpp
- AllocateNull.hpp
- Inspector.cpp
- Inspector.hpp
- AlignedAllocator.cpp
- AlignedAllocator.hpp
- AllocationAdvisor.cpp
- AllocationAdvisor.hpp
- AllocationPrefetcher.cpp
- AllocationPrefetcher.hpp
- AllocationStrategy.cpp
- AllocationStrategy.hpp
- CMakeLists.txt
- DeviceIpcAllocator.cpp
- DeviceIpcAllocator.hpp
- DynamicPoolList.cpp
- DynamicPoolList.hpp
- DynamicSizePool.hpp
- FixedPool.cpp
- FixedPool.hpp
- FixedSizePool.hpp
- MixedPool.cpp
- MixedPool.hpp
- MonotonicAllocationStrategy.cpp
- MonotonicAllocationStrategy.hpp
- NamedAllocationStrategy.cpp
- NamedAllocationStrategy.hpp
- NamingShim.cpp
- NamingShim.hpp
- NumaPolicy.cpp
- NumaPolicy.hpp
- PoolCoalesceHeuristic.hpp
- QuickPool.cpp
- QuickPool.hpp
- ResourceAwarePool.cpp
- ResourceAwarePool.hpp
- SizeLimiter.cpp
- SizeLimiter.hpp
- SlotPool.cpp
- SlotPool.hpp
- StdAllocator.hpp
- ThreadSafeAllocator.cpp
- ThreadSafeAllocator.hpp
- affinity.cpp
- affinity.hpp
- allocation_statistics.cpp
- allocation_statistics.hpp
- AllocationMap.cpp
- AllocationMap.hpp
- AllocationRecord.hpp
- backtrace.hpp
- backtrace.inl
- CMakeLists.txt
- detect_vendor.cpp
- detect_vendor.hpp
- error.hpp
- find_first_set.hpp
- FixedMallocPool.cpp
- FixedMallocPool.hpp
- io.cpp
- io.hpp
- Logger.cpp
- Logger.hpp
- Macros.hpp
- make_unique.hpp
- memory_sanitizers.hpp
- MemoryMap.hpp
- MemoryMap.inl
- MemoryResourceTraits.hpp
- MPI.cpp
- MPI.hpp
- node_memory.cpp
- node_memory.hpp
- numa.cpp
- numa.hpp
- OutputBuffer.cpp
- OutputBuffer.hpp
- Platform.hpp
- shared_memory_helper.hpp
- sycl_compat.hpp
- wrap_allocator.hpp
- Allocator.cpp
- Allocator.hpp
- Allocator.inl
- CMakeLists.txt
- config.hpp.in
- device_allocator_helper.cpp
- device_allocator_helper.hpp
- DeviceAllocator.cpp
- DeviceAllocator.hpp
- ResourceManager.cpp
- ResourceManager.hpp
- ResourceManager.inl
- Tracking.hpp
- TypedAllocator.hpp
- TypedAllocator.inl
- Umpire.cpp
- Umpire.hpp
- CMakeLists.txt
- CMakeLists.txt
- poison_memory_checks.cpp
- pool_allocator_stress.cpp
- allocate_deallocate.cpp
- CMakeLists.txt
- CMakeLists.txt
- host-config.cmake.in
- using-with-cmake.cpp
- CMakeLists.txt
- aligned_pool_fortran_tests.F
- allocator_fortran_tests.F
- CMakeLists.txt
- gen_op_tests.py
- genumpirefortrantests.py
- introspection_fortran_tests.F
- op_fortran_tests.F
- version_fortran_tests.F
- aligned_pool_c_tests.cpp
- allocator_c_tests.cpp
- CMakeLists.txt
- operation_c_tests.cpp
- version_c_tests.cpp
- CMakeLists.txt
- io_tests.cpp
- io_tests_runner.py
- log_tests.cpp
- log_tests_runner.py
- .gitignore
- check_replay_coverage.bash
- CMakeLists.txt
- output.devices.replay
- output.devices_const.replay
- output.numa.replay
- output.numa_devices.replay
- output.numa_devices_const.replay
- output.omp.replay
- output.replay
- output.sqlite.replay
- replay_tests.bash
- replay_tests.cpp
- allocator_accessibility.cpp
- allocator_integration_tests.cpp
- CMakeLists.txt
- destroy_allocator_strict_mode_tests.cpp
- destroy_allocator_tests.cpp
- device_allocator.cpp
- forall.hpp
- free_functions_integration_tests.cpp
- get_communicator_tests.cpp
- introspection_tests.cpp
- memory_resource_traits_tests.cpp
- operation_tests.cpp
- primary_pool_performance_tests.cpp
- primary_pool_tests.cpp
- reallocate_tests.cpp
- resource_aware_pool_tests.cpp
- static_initialization_test.cpp
- strategy_tests.cpp
- test_helpers.hpp
- typed_allocator_integration_tests.cpp
- CMakeLists.txt
- sanitizer_test_runner.py
- sanitizer_tests.cpp
- CMakeLists.txt
- cli11_smoke_test.cpp
- CMakeLists.txt
- judy_smoke_tests.cpp
- judy_test.cpp
- CMakeLists.txt
- memory_allocator_tests.cpp
- CMakeLists.txt
- event_builder_tests.cpp
- event_recording_tests.cpp
- event_store_recorder_tests.cpp
- json_file_store_tests.cpp
- CMakeLists.txt
- mem_advise_op_tests.cpp
- CMakeLists.txt
- file_resource_tests.cpp
- ipc_shared_memory_resource_tests.cpp
- mpi3_shared_memory_resource_tests.cpp
- null_resource_tests.cpp
- resource_tests.cpp
- resource_tests.hpp
- CMakeLists.txt
- fixed_pool_tests.cpp
- pool_heuristics_tests.cpp
- zero_byte_handler_tests.cpp
- allocation_map_tests.cpp
- CMakeLists.txt
- exception_tests.cpp
- find_first_set_tests.cpp
- fixed_malloc_pool_tests.cpp
- memory_map_tests.cpp
- node_memory_tests.cpp
- output_buffer_tests.cpp
- test_memory_resource_traits_to_string.cpp
- allocator_tests.cpp
- CMakeLists.txt
- resource_manager_tests.cpp
- umpire_tests.cpp
- version_tests.cpp
- CMakeLists.txt
- plot_allocations
- plot_allocator_traces
- CMakeLists.txt
- replay.cpp
- replaydiff.cpp
- ReplayFile.cpp
- ReplayFile.hpp
- ReplayInterpreter.cpp
- ReplayInterpreter.hpp
- ReplayInterpreter.inl
- ReplayMacros.hpp
- ReplayOperationManager.cpp
- ReplayOperationManager.hpp
- ReplayOptions.hpp
- CMakeLists.txt
- .clang-format
- .dockerignore
- .gitignore
- .gitlab-ci.yml
- .gitmodules
- .mailmap
- .readthedocs.yml
- .uberenv_config.json
- blt
- CITATION.cff
- CMakeLists.txt
- CODE_OF_CONDUCT.md
- codecov.yml
- CONTRIBUTING.md
- COPYRIGHT
- Dockerfile
- LICENSE
- Makefile
- NOTICE
- README.md
- RELEASE
- RELEASE_NOTES.md
- umpire-config.cmake.in
- VERSION
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
cmake
View Details ▼
cmake
Cross-platform build automation system, that generates recipes for native build systems.
cmake {{path/to/project_directory}}
Generate a build recipe in the current directory with `CMakeLists.txt` from a project directory:
cmake --build {{path/to/build_directory}}
Use a generated recipe in a given directory to build artifacts:
cmake --install {{path/to/build_directory}} --strip
Install the build artifacts into `/usr/local/` and strip debugging symbols:
git submodule
View Details ▼
git submodule
Inspect, update, and manage submodules.
git submodule
View existing submodules and the checked-out commit for each one:
git submodule update --init --recursive
Install a repository's submodules (listed in `.gitmodules`):
git submodule add {{repository_url}}
Add a Git repository as a submodule of the current one:
