|
template<class InIter , class OutIter > |
void | amrex::Gpu::copy (HostToDevice, InIter begin, InIter end, OutIter result) noexcept |
| A host-to-device copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class InIter , class OutIter > |
void | amrex::Gpu::copy (DeviceToHost, InIter begin, InIter end, OutIter result) noexcept |
| A device-to-host copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class InIter , class OutIter > |
void | amrex::Gpu::copy (DeviceToDevice, InIter begin, InIter end, OutIter result) noexcept |
| A device-to-device copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class InIter , class OutIter > |
void | amrex::Gpu::copyAsync (HostToDevice, InIter begin, InIter end, OutIter result) noexcept |
| A host-to-device copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class InIter , class OutIter > |
void | amrex::Gpu::copyAsync (DeviceToHost, InIter begin, InIter end, OutIter result) noexcept |
| A device-to-host copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class InIter , class OutIter > |
void | amrex::Gpu::copyAsync (DeviceToDevice, InIter begin, InIter end, OutIter result) noexcept |
| A device-to-device copy routine. Note this is just a wrapper around memcpy, so it assumes contiguous storage. The amrex-provided containers like Gpu::HostVector, Gpu::DeviceVector, etc. meet this requirement. More...
|
|
template<class Iter > |
void | amrex::Gpu::prefetchToHost (Iter begin, Iter end) noexcept |
| Migrate elements of a container from device to host. This is a no-op for host-only code. More...
|
|
template<class Iter > |
void | amrex::Gpu::prefetchToDevice (Iter begin, Iter end) noexcept |
| Migrate elements of a container from host to device. This is a no-op for host-only code. More...
|
|
template<typename IT , typename F , typename T = typename std::iterator_traits<IT>::value_type, std::enable_if_t<(sizeof(T)<=36 *8) &&std::is_trivially_copyable_v< T > &&amrex::IsCallable< F, T &, Long >::value, int > FOO = 0> |
void | amrex::Gpu::fillAsync (IT first, IT last, F const &f) noexcept |
| Fill the elements in the given range using the given calllable. More...
|
|