NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Modules | Namespaces | Classes | Typedefs | Enumerations | Functions
Work-Queues

Detailed Description

This module contains a series of classes that implement a variety of CUDA work-queues. A work-queue is an object which allows to execute (or consume) a stream of work items according to different schedulers. See Work-Queues for more details.

Modules

 WorkQueueDetail
 

Namespaces

 nvbio::cuda::wq
 

Classes

struct  nvbio::cuda::InplaceQueueTag
 
struct  nvbio::cuda::WorkQueueStatsView
 
struct  nvbio::cuda::DefaultMover
 
struct  nvbio::cuda::WorkQueue< PolicyTag, WorkUnitT, BLOCKDIM >
 
struct  nvbio::cuda::WorkQueueStats
 
struct  nvbio::cuda::MultiPassQueueTag
 
struct  nvbio::cuda::WorkQueue< MultiPassQueueTag, WorkUnitT, BLOCKDIM >
 
struct  nvbio::cuda::OrderedQueueTag
 
struct  nvbio::cuda::WorkQueue< OrderedQueueTag, WorkUnitT, BLOCKDIM >
 
struct  nvbio::cuda::PersistentWarpsQueueTag
 
struct  nvbio::cuda::PersistentThreadsQueueTag
 
struct  nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >
 
struct  nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >
 

Typedefs

typedef WorkUnitT nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::WorkUnit
 
typedef WorkUnitT nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::WorkUnit
 

Enumerations

enum  nvbio::cuda::WorkQueueStatsEvent { nvbio::cuda::STREAM_EVENT = 0, nvbio::cuda::RUN_EVENT = 1 }
 

Functions

WorkQueueStatsView nvbio::cuda::view (WorkQueueStats *stats)
 
 nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::WorkQueue ()
 
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::set_capacity (const uint32 capacity)
 
template<typename WorkStream >
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, WorkQueueStats *stats=NULL)
 
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, const WorkMover mover, WorkQueueStats *stats=NULL)
 
 nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::WorkQueue ()
 
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::set_capacity (const uint32 capacity)
 
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::set_min_utilization (const float min_utilization)
 
template<typename WorkStream >
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, WorkQueueStats *stats=NULL)
 
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, const WorkMover mover, WorkQueueStats *stats=NULL)
 
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< MultiPassQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, const WorkMover mover, WorkQueueStats *stats=NULL)
 
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< OrderedQueueTag, WorkUnitT, BLOCKDIM >::consume (const WorkStream stream, const WorkMover mover)
 

Typedef Documentation

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

Definition at line 62 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
typedef WorkUnitT nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::WorkUnit

Definition at line 128 of file work_queue_persistent.h.

Enumeration Type Documentation

a work-queue stats event

Enumerator
STREAM_EVENT 
RUN_EVENT 

Definition at line 185 of file work_queue.h.

Function Documentation

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< OrderedQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
const WorkMover  mover 
)

consume a stream of work units

Definition at line 514 of file work_queue_ordered_inl.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream >
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
WorkQueueStats stats = NULL 
)
inline

consume a stream of work units

Definition at line 75 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
const WorkMover  mover,
WorkQueueStats stats = NULL 
)

consume a stream of work units

Definition at line 114 of file work_queue_persistent_inl.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< MultiPassQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
const WorkMover  mover,
WorkQueueStats stats = NULL 
)

consume a stream of work units

Definition at line 225 of file work_queue_multipass_inl.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream >
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
WorkQueueStats stats = NULL 
)
inline

consume a stream of work units

Definition at line 145 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
template<typename WorkStream , typename WorkMover >
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::consume ( const WorkStream  stream,
const WorkMover  mover,
WorkQueueStats stats = NULL 
)

consume a stream of work units

Definition at line 234 of file work_queue_persistent_inl.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
void nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::set_capacity ( const uint32  capacity)
inline

set queue capacity

Definition at line 70 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::set_capacity ( const uint32  capacity)
inline

set queue capacity

Definition at line 136 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
void nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::set_min_utilization ( const float  min_utilization)
inline

set utilization threshold

Definition at line 140 of file work_queue_persistent.h.

WorkQueueStatsView nvbio::cuda::view ( WorkQueueStats *  stats)
inline

return a device-side view

Definition at line 328 of file work_queue.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
nvbio::cuda::WorkQueue< PersistentWarpsQueueTag, WorkUnitT, BLOCKDIM >::WorkQueue ( )
inline

constructor

Definition at line 66 of file work_queue_persistent.h.

template<typename WorkUnitT , uint32 BLOCKDIM>
nvbio::cuda::WorkQueue< PersistentThreadsQueueTag, WorkUnitT, BLOCKDIM >::WorkQueue ( )
inline

constructor

Definition at line 132 of file work_queue_persistent.h.