NVBIO
|
Implements a self-compacting parallel WorkQueue, using a single-kernel launch that compacts continuations maintaining while input ordering in the thread assignment (see Work-Queues). Useful to maintain memory access coherence. Relatively high continuation overhead, but much lower than the MultiPass queue if the queue capacity is low.
see Work-Queues
Definition at line 56 of file work_queue_ordered.h.
#include <work_queue_ordered.h>
Classes | |
struct | Context |
Public Types | |
typedef WorkUnitT | WorkUnit |
Public Methods | |
WorkQueue () | |
void | set_capacity (const uint32 capacity) |
template<typename WorkStream , typename WorkMover > | |
void | consume (const WorkStream stream, const WorkMover mover) |
template<typename WorkStream > | |
void | consume (WorkStream stream) |
typedef WorkUnitT nvbio::cuda::WorkQueue< OrderedQueueTag, WorkUnitT, BLOCKDIM >::WorkUnit |
Definition at line 61 of file work_queue_ordered.h.
|
inline |
constructor
Definition at line 65 of file work_queue_ordered.h.
|
inline |
consume a stream of work units
Definition at line 79 of file work_queue_ordered.h.
|
inline |
set queue capacity
Definition at line 69 of file work_queue_ordered.h.