All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Methods | List of all members
nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM > Struct Template Reference

Detailed description

template< typename WorkUnitT, uint32 BLOCKDIM>
struct nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >

Implements a WorkQueue using persistent warps to fetch more work at a warp's granularity. with dynamic work assignment (see Work-Queues). Each work-unit is assigned to a single thread, which runs until completion of all its continuations. Useful if some warps finish much earlier than others, but all threads within a warp execute roughly the same amount of work. Potentially destroys intra-CTA memory coherence, although it maintains any warp-level coherence in the input stream. Very low continuation overhead.

see Work-Queues

Definition at line 57 of file work_queue_persistent.h.

#include <work_queue_persistent.h>

Public Types

typedef WorkUnitT WorkUnit

Public Methods

 WorkQueue ()
void set_capacity (const uint32 capacity)
template<typename WorkStream >
void consume (const WorkStream stream, WorkQueueStats *stats=NULL)
template<typename WorkStream , typename WorkMover >
void consume (const WorkStream stream, const WorkMover mover, WorkQueueStats *stats=NULL)

The documentation for this struct was generated from the following files: