Operations¶
Operations provide an abstract interface to modifying and moving data between Umpire :class:`umpire::Allocator`s.
Provided Operations¶
-
namespace
umpire
::
op
¶ -
class
CudaAdviseAccessedByOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdviseAccessedByOperation.hpp>
-
class
CudaAdvisePreferredLocationOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdvisePreferredLocationOperation.hpp>
-
class
CudaAdviseReadMostlyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdviseReadMostlyOperation.hpp>
-
class
CudaAdviseUnsetAccessedByOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdviseUnsetAccessedByOperation.hpp>
-
class
CudaAdviseUnsetPreferredLocationOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdviseUnsetPreferredLocationOperation.hpp>
-
class
CudaAdviseUnsetReadMostlyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaAdviseUnsetReadMostlyOperation.hpp>
-
class
CudaCopyFromOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaCopyFromOperation.hpp>
Copy operation to move data from a NVIDA GPU to CPU memory.
-
class
CudaCopyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaCopyOperation.hpp>
Copy operation to move data between two GPU addresses.
-
class
CudaCopyToOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaCopyToOperation.hpp>
Copy operation to move data from CPU to NVIDIA GPU memory.
-
template<cudaMemRangeAttribute
ATTRIBUTE
>
classCudaGetAttributeOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaGetAttributeOperation.hpp>
Copy operation to move data from CPU to NVIDIA GPU memory.
-
class
CudaMemPrefetchOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaMemPrefetchOperation.hpp>
-
class
CudaMemsetOperation
: public umpire::op::MemoryOperation - #include <umpire/op/CudaMemsetOperation.hpp>
Memset on NVIDIA device memory.
-
class
GenericReallocateOperation
: public umpire::op::MemoryOperation - #include <umpire/op/GenericReallocateOperation.hpp>
Generic reallocate operation to work on any current_ptr location.
-
class
HipCopyFromOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HipCopyFromOperation.hpp>
Copy operation to move data from a AMD GPU to CPU memory.
-
class
HipCopyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HipCopyOperation.hpp>
Copy operation to move data between two GPU addresses.
-
class
HipCopyToOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HipCopyToOperation.hpp>
Copy operation to move data from CPU to AMD GPU memory.
-
class
HipMemsetOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HipMemsetOperation.hpp>
Memset on AMD device memory.
-
class
HostCopyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HostCopyOperation.hpp>
Copy memory between two allocations in CPU memory.
-
class
HostMemsetOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HostMemsetOperation.hpp>
Memset an allocation in CPU memory.
-
class
HostReallocateOperation
: public umpire::op::MemoryOperation - #include <umpire/op/HostReallocateOperation.hpp>
Reallocate data in CPU memory.
-
class
MemoryOperation
- #include <umpire/op/MemoryOperation.hpp>
Base class of an operation on memory.
Neither the transfrom or apply methods are pure virtual, so inheriting classes only need overload the appropriate method. However, both methods will throw an error if called.
Subclassed by umpire::op::CudaAdviseAccessedByOperation, umpire::op::CudaAdvisePreferredLocationOperation, umpire::op::CudaAdviseReadMostlyOperation, umpire::op::CudaAdviseUnsetAccessedByOperation, umpire::op::CudaAdviseUnsetPreferredLocationOperation, umpire::op::CudaAdviseUnsetReadMostlyOperation, umpire::op::CudaCopyFromOperation, umpire::op::CudaCopyOperation, umpire::op::CudaCopyToOperation, umpire::op::CudaGetAttributeOperation< ATTRIBUTE >, umpire::op::CudaMemPrefetchOperation, umpire::op::CudaMemsetOperation, umpire::op::GenericReallocateOperation, umpire::op::HipCopyFromOperation, umpire::op::HipCopyOperation, umpire::op::HipCopyToOperation, umpire::op::HipMemsetOperation, umpire::op::HostCopyOperation, umpire::op::HostMemsetOperation, umpire::op::HostReallocateOperation, umpire::op::NumaMoveOperation, umpire::op::OpenMPTargetCopyOperation, umpire::op::OpenMPTargetMemsetOperation, umpire::op::SyclCopyFromOperation, umpire::op::SyclCopyOperation, umpire::op::SyclCopyToOperation, umpire::op::SyclMemPrefetchOperation, umpire::op::SyclMemsetOperation
-
class
MemoryOperationRegistry
- #include <umpire/op/MemoryOperationRegistry.hpp>
The MemoryOperationRegistry serves as a registry for MemoryOperation objects. It is a singleton class, typically accessed through the ResourceManager.
The MemoryOperationRegistry class provides lookup mechanisms allowing searching for the appropriate MemoryOperation to be applied to allocations made with particular AllocationStrategy objects.
MemoryOperations provided by Umpire are registered with the MemoryOperationRegistry when it is constructed. Additional MemoryOperations can be registered later using the registerOperation method.
The following operations are pre-registered for all AllocationStrategy pairs:
”COPY”
”MEMSET”
”REALLOCATE”
- See
- See
AllocationStrategy
-
class
NumaMoveOperation
: public umpire::op::MemoryOperation - #include <umpire/op/NumaMoveOperation.hpp>
Relocate a pointer to a different NUMA node.
-
class
OpenMPTargetCopyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/OpenMPTargetCopyOperation.hpp>
-
class
OpenMPTargetMemsetOperation
: public umpire::op::MemoryOperation - #include <umpire/op/OpenMPTargetMemsetOperation.hpp>
-
struct
pair_hash
- #include <umpire/op/MemoryOperationRegistry.hpp>
-
class
SyclCopyFromOperation
: public umpire::op::MemoryOperation - #include <umpire/op/SyclCopyFromOperation.hpp>
Copy operation to move data between a Intel GPU and CPU memory.
-
class
SyclCopyOperation
: public umpire::op::MemoryOperation - #include <umpire/op/SyclCopyOperation.hpp>
Copy operation to move data between two GPU addresses.
-
class
SyclCopyToOperation
: public umpire::op::MemoryOperation - #include <umpire/op/SyclCopyToOperation.hpp>
Copy operation to move data between a Intel GPU and CPU memory.
-
class
SyclMemPrefetchOperation
: public umpire::op::MemoryOperation - #include <umpire/op/SyclMemPrefetchOperation.hpp>
-
class
SyclMemsetOperation
: public umpire::op::MemoryOperation - #include <umpire/op/SyclMemsetOperation.hpp>
Memset on Intel GPU device memory.
-
class