alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
Queue.hpp File Reference

Go to the source code of this file.

Classes

struct  alpaka::onHost::Queue< Device< T_Api, T_DeviceKind >, T_QueueKind >

Namespaces

namespace  alpaka
 main alpaka namespace.
namespace  alpaka::onHost
 Functionality which is usable on the host CPU controller thread.

Functions

template<typename T_Queue, alpaka::concepts::QueueKind T_QueueKind>
 alpaka::onHost::Queue (Handle< T_Queue > &&, T_QueueKind) -> Queue< Device< ALPAKA_TYPEOF(alpaka::internal::getApi(std::declval< T_Queue >())), ALPAKA_TYPEOF(alpaka::internal::getDeviceKind(std::declval< T_Queue >()))>, T_QueueKind >
Memory modifiers
Attention
For input/output memory the caller should ensure that the memory is valid until the operation is completed not until the execution handle is given back because alpaka is not extending the life-time until the operation is finished.
template<typename T_Value, typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
requires ( std::same_as<alpaka::trait::GetValueType_t<ALPAKA_TYPEOF(dest)>, T_Value> && std::same_as<ALPAKA_TYPEOF(alpaka::internal::getApi(queue)), ALPAKA_TYPEOF(alpaka::internal::getApi(dest))>)
void alpaka::onHost::fill (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, T_Value elementValue)
 fill memory element wise
template<typename T_Value, typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
requires ( std::same_as<alpaka::trait::GetValueType_t<ALPAKA_TYPEOF(dest)>, T_Value> && std:: same_as<ALPAKA_TYPEOF(alpaka::internal::getApi(queue)), ALPAKA_TYPEOF(alpaka::internal::getApi(dest))>)
void alpaka::onHost::fill (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, T_Value elementValue, alpaka::concepts::VectorOrScalar auto const &extents)
 fill memory element wise
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
void alpaka::onHost::memcpy (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, auto const &source)
 copy data byte wise from one to another container
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
void alpaka::onHost::memcpy (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, auto const &source, alpaka::concepts::VectorOrScalar auto const &extents)
 copy data byte wise from one to another container
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind, typename T_Storage, typename T>
void alpaka::onHost::memcpy (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, onAcc::internal::GlobalDeviceMemoryWrapper< T_Storage, T > source)
 copy data byte wise from global device memory to a container or host pointer
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind, typename T_Storage, typename T>
void alpaka::onHost::memcpy (Queue< T_Device, T_QueueKind > const &queue, onAcc::internal::GlobalDeviceMemoryWrapper< T_Storage, T > dest, auto &&source)
 copy data byte wise from a container or host pointer to global device memory
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
void alpaka::onHost::memset (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, uint8_t byteValue)
 fill memory byte wise
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
void alpaka::onHost::memset (Queue< T_Device, T_QueueKind > const &queue, auto &&dest, uint8_t byteValue, alpaka::concepts::VectorOrScalar auto const &extents)
 fill memory byte wise
Deferred device allocations
template<typename T_Type, typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
auto alpaka::onHost::allocDeferred (Queue< T_Device, T_QueueKind > const &queue, alpaka::concepts::VectorOrScalar auto const &extents)
 allocate memory that is accessible after it is processed in the queue
template<typename T_Device, alpaka::concepts::QueueKind T_QueueKind>
auto alpaka::onHost::allocLikeDeferred (Queue< T_Device, T_QueueKind > const &queue, auto const &view)
 allocate memory that is accessible after it is processed in the queue