Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::Cuda::GPUStream Class Reference
module nullptr

#include <cuda_internal.h>

Collaboration diagram for Realm::Cuda::GPUStream:

Classes

struct  PendingEvent
 

Public Member Functions

 GPUStream (GPU *_gpu, GPUWorker *_worker, int rel_priority=0)
 
 ~GPUStream (void)
 
GPUget_gpu (void) const
 
REALM_INTERNAL_API_EXTERNAL_LINKAGE CUstream get_stream (void) const
 
void add_fence (GPUWorkFence *fence)
 
void add_start_event (GPUWorkStart *start)
 
void add_notification (GPUCompletionNotification *notification)
 
void add_event (CUevent event, GPUWorkFence *fence, GPUCompletionNotification *notification=NULL, GPUWorkStart *start=NULL)
 
void wait_on_streams (const std::set< GPUStream * > &other_streams)
 
bool ok_to_submit_copy (size_t bytes, XferDes *xd)
 
bool reap_events (TimeLimit work_until)
 

Protected Member Functions

bool has_work (void) const
 

Protected Attributes

GPUgpu
 
GPUWorkerworker
 
CUstream stream
 
Mutex mutex
 
std::deque< PendingEventpending_events
 

Constructor & Destructor Documentation

◆ GPUStream()

Realm::Cuda::GPUStream::GPUStream ( GPU _gpu,
GPUWorker _worker,
int  rel_priority = 0 
)

◆ ~GPUStream()

Realm::Cuda::GPUStream::~GPUStream ( void  )

Member Function Documentation

◆ add_event()

void Realm::Cuda::GPUStream::add_event ( CUevent  event,
GPUWorkFence fence,
GPUCompletionNotification notification = NULL,
GPUWorkStart start = NULL 
)

◆ add_fence()

void Realm::Cuda::GPUStream::add_fence ( GPUWorkFence fence)

◆ add_notification()

void Realm::Cuda::GPUStream::add_notification ( GPUCompletionNotification notification)

◆ add_start_event()

void Realm::Cuda::GPUStream::add_start_event ( GPUWorkStart start)

◆ get_gpu()

GPU * Realm::Cuda::GPUStream::get_gpu ( void  ) const

◆ get_stream()

REALM_INTERNAL_API_EXTERNAL_LINKAGE CUstream Realm::Cuda::GPUStream::get_stream ( void  ) const

◆ has_work()

bool Realm::Cuda::GPUStream::has_work ( void  ) const
protected

◆ ok_to_submit_copy()

bool Realm::Cuda::GPUStream::ok_to_submit_copy ( size_t  bytes,
XferDes xd 
)

◆ reap_events()

bool Realm::Cuda::GPUStream::reap_events ( TimeLimit  work_until)

◆ wait_on_streams()

void Realm::Cuda::GPUStream::wait_on_streams ( const std::set< GPUStream * > &  other_streams)

Member Data Documentation

◆ gpu

GPU* Realm::Cuda::GPUStream::gpu
protected

◆ mutex

Mutex Realm::Cuda::GPUStream::mutex
protected

◆ pending_events

std::deque<PendingEvent> Realm::Cuda::GPUStream::pending_events
protected

◆ stream

CUstream Realm::Cuda::GPUStream::stream
protected

◆ worker

GPUWorker* Realm::Cuda::GPUStream::worker
protected

The documentation for this class was generated from the following file: