hipmemdiscardandprefetchbatchasync Interface Reference

hipmemdiscardandprefetchbatchasync Interface Reference#

HIPFORT API Reference: hipfort::hipmemdiscardandprefetchbatchasync Interface Reference
hipfort::hipmemdiscardandprefetchbatchasync Interface Reference

Discards and prefetches a batch of memory ranges asynchronously. More...

Public Member Functions

integer(kind(hipsuccess)) function hipmemdiscardandprefetchbatchasync_ (dptrs, sizes, count, prefetchlocs, prefetchlocidxs, numprefetchlocs, flags, stream)
 

Detailed Description

Discards and prefetches a batch of memory ranges asynchronously.

Parameters
[in]dptrspointers to the memory ranges
[in]sizessizes in bytes of the memory ranges
[in]countnumber of memory ranges
[in]prefetchLocsarray of target locations for prefetching
[in]prefetchLocIdxsindices mapping each range to a prefetch location
[in]numPrefetchLocsnumber of unique prefetch locations
[in]flagsflags for future use, must be zero now.
[in]streamstream to enqueue the operation
Returns
hipSuccess, hipErrorInvalidValue, hipErrorNotSupported

Semantically equivalent to calling hipMemDiscardBatchAsync followed by hipMemPrefetchBatchAsync, but combines both operations into a single command submission for reduced overhead.

Warning
Reading from a discarded range without first writing or prefetching to it will return an indeterminate value.
Note
All memory ranges must be managed memory allocated via hipMallocManaged or system-allocated memory (if device supports pageable memory access).
This API is implemented on Linux and requires XNACK to be enabled.
This API is marked as beta, meaning, while this is feature complete, it is still open to changes and may have outstanding issues.
See also
hipMemDiscardBatchAsync, hipMemPrefetchBatchAsync, hipMallocManaged

Member Function/Subroutine Documentation

◆ hipmemdiscardandprefetchbatchasync_()

integer(kind(hipsuccess)) function hipfort::hipmemdiscardandprefetchbatchasync::hipmemdiscardandprefetchbatchasync_ ( type(c_ptr)  dptrs,
type(c_ptr), value  sizes,
integer(c_size_t), value  count,
type(hipmemlocation prefetchlocs,
type(c_ptr), value  prefetchlocidxs,
integer(c_size_t), value  numprefetchlocs,
integer(c_int64_t), value  flags,
type(c_ptr), value  stream 
)

The documentation for this interface was generated from the following file: