Class HipCopyToOperation

Inheritance Relationships

Base Type

Class Documentation

class umpire::op::HipCopyToOperation : public umpire::op::MemoryOperation

Copy operation to move data from CPU to AMD GPU memory.

Public Functions

void transform(void *src_ptr, void **dst_ptr, umpire::util::AllocationRecord *src_allocation, umpire::util::AllocationRecord *dst_allocation, std::size_t length)

Transfrom length bytes of memory from src_ptr to dst_ptr.

Uses hipMemcpy to move data when src_ptr is on the CPU and dst_ptr is on an AMD GPU.

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)