Class MemoryOperation¶
Defined in File MemoryOperation.hpp
Inheritance Relationships¶
Derived Types¶
public umpire::op::CudaAdviseAccessedByOperation
(Class CudaAdviseAccessedByOperation)public umpire::op::CudaAdvisePreferredLocationOperation
(Class CudaAdvisePreferredLocationOperation)public umpire::op::CudaAdviseReadMostlyOperation
(Class CudaAdviseReadMostlyOperation)public umpire::op::CudaAdviseUnsetAccessedByOperation
(Class CudaAdviseUnsetAccessedByOperation)public umpire::op::CudaAdviseUnsetPreferredLocationOperation
(Class CudaAdviseUnsetPreferredLocationOperation)public umpire::op::CudaAdviseUnsetReadMostlyOperation
(Class CudaAdviseUnsetReadMostlyOperation)public umpire::op::CudaCopyFromOperation
(Class CudaCopyFromOperation)public umpire::op::CudaCopyOperation
(Class CudaCopyOperation)public umpire::op::CudaCopyToOperation
(Class CudaCopyToOperation)public umpire::op::CudaGetAttributeOperation< ATTRIBUTE >
(Template Class CudaGetAttributeOperation)public umpire::op::CudaMemPrefetchOperation
(Class CudaMemPrefetchOperation)public umpire::op::CudaMemsetOperation
(Class CudaMemsetOperation)public umpire::op::GenericReallocateOperation
(Class GenericReallocateOperation)public umpire::op::HipCopyFromOperation
(Class HipCopyFromOperation)public umpire::op::HipCopyOperation
(Class HipCopyOperation)public umpire::op::HipCopyToOperation
(Class HipCopyToOperation)public umpire::op::HipMemsetOperation
(Class HipMemsetOperation)public umpire::op::HostCopyOperation
(Class HostCopyOperation)public umpire::op::HostMemsetOperation
(Class HostMemsetOperation)public umpire::op::HostReallocateOperation
(Class HostReallocateOperation)public umpire::op::NumaMoveOperation
(Class NumaMoveOperation)public umpire::op::OpenMPTargetCopyOperation
(Class OpenMPTargetCopyOperation)public umpire::op::OpenMPTargetMemsetOperation
(Class OpenMPTargetMemsetOperation)public umpire::op::SyclCopyFromOperation
(Class SyclCopyFromOperation)public umpire::op::SyclCopyOperation
(Class SyclCopyOperation)public umpire::op::SyclCopyToOperation
(Class SyclCopyToOperation)public umpire::op::SyclMemPrefetchOperation
(Class SyclMemPrefetchOperation)public umpire::op::SyclMemsetOperation
(Class SyclMemsetOperation)
Class Documentation¶
-
class
umpire::op
::
MemoryOperation
¶ 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
Public Functions
-
~MemoryOperation
() = default¶
-
void
transform
(void *src_ptr, void **dst_ptr, util::AllocationRecord *src_allocation, util::AllocationRecord *dst_allocation, std::size_t length)¶ Transfrom length bytes of memory from src_ptr to dst_ptr.
- Parameters
src_ptr
: Pointer to source memory location.dst_ptr
: Pointer to destinatino memory location.src_allocation
: AllocationRecord of source.dst_allocation
: AllocationRecord of destination.length
: Number of bytes to transform.
- Exceptions
-
camp::resources::Event
transform_async
(void *src_ptr, void **dst_ptr, util::AllocationRecord *src_allocation, util::AllocationRecord *dst_allocation, std::size_t length, camp::resources::Resource &ctx)¶
-
void
apply
(void *src_ptr, util::AllocationRecord *src_allocation, int val, std::size_t length)¶ Apply val to the first length bytes of src_ptr.
- Parameters
src_ptr
: Pointer to source memory location.src_allocation
: AllocationRecord of source.val
: Value to apply.length
: Number of bytes to modify.
- Exceptions
-
camp::resources::Event
apply_async
(void *src_ptr, util::AllocationRecord *src_allocation, int val, std::size_t length, camp::resources::Resource &ctx)¶
-