Template Class NonLockingQueue

Nested Relationships

Nested Types

Class Documentation

template<typename T, typename MonCntType = MonotonicCounter<MemoryScope::SYSTEM, std::memory_order_seq_cst>, MemoryScope scope_ = MemoryScope::SYSTEM>
class NonLockingQueue

Public Functions

__host__ NonLockingQueue() = default
__host__ ~NonLockingQueue() = default
__host__ NonLockingQueue(const NonLockingQueue&) = delete
__host__ NonLockingQueue &operator=(const NonLockingQueue&) = delete
__host__ NonLockingQueue(NonLockingQueue&&) = default
__host__ NonLockingQueue(Contents contents)
__host__ __device__ void Enqueue(T item)
__host__ __device__ T Dequeue()
__host__ __device__ void Reset()

Public Static Functions

__host__ static Contents MakeQueueContents(int hip_dev, unsigned int queue_flags, typename MonCntType::counter_int_type log2_size)
__host__ static Contents MakeQueueContentsHost(unsigned int queue_flags, typename MonCntType::counter_int_type log2_size)
class Contents
class Entry

Public Functions

inline Entry()