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

#include <hip_internal.h>

Inheritance diagram for Realm::Hip::GPUProcessor:
Collaboration diagram for Realm::Hip::GPUProcessor:

Classes

struct  CallConfig
 
struct  GPUTaskTableEntry
 
struct  LaunchConfig
 

Public Member Functions

 GPUProcessor (RuntimeImpl *runtime_impl, GPU *_gpu, Processor _me, Realm::CoreReservationSet &crs, size_t _stack_size)
 
virtual ~GPUProcessor (void)
 
virtual bool register_task (Processor::TaskFuncID func_id, CodeDescriptor &codedesc, const ByteArrayRef &user_data)
 
virtual void shutdown (void)
 
void stream_wait_on_event (hipStream_t stream, hipEvent_t event)
 
void stream_synchronize (hipStream_t stream)
 
void device_synchronize (void)
 
void gpu_memcpy (void *dst, const void *src, size_t size, hipMemcpyKind kind)
 
void gpu_memcpy_async (void *dst, const void *src, size_t size, hipMemcpyKind kind, hipStream_t stream)
 
void gpu_memset (void *dst, int value, size_t count)
 
void gpu_memset_async (void *dst, int value, size_t count, hipStream_t stream)
 
- Public Member Functions inherited from Realm::LocalTaskProcessor
 LocalTaskProcessor (RuntimeImpl *runtime_impl, Processor _me, Processor::Kind _kind, int num_cores=1)
 
virtual ~LocalTaskProcessor (void)
 
virtual void enqueue_task (Task *task)
 
virtual void enqueue_tasks (Task::TaskList &tasks, size_t num_tasks)
 
virtual void spawn_task (Processor::TaskFuncID func_id, const void *args, size_t arglen, const ProfilingRequestSet &reqs, Event start_event, GenEventImpl *finish_event, EventImpl::gen_t finish_gen, int priority)
 
virtual void start_threads (void)
 
virtual void add_to_group (ProcessorGroupImpl *group)
 
virtual void remove_from_group (ProcessorGroupImpl *group)
 
virtual void add_internal_task (InternalTask *task)
 
- Public Member Functions inherited from Realm::ProcessorImpl
 ProcessorImpl (RuntimeImpl *runtime_impl, Processor _me, Processor::Kind _kind, int _num_cores=1)
 
virtual ~ProcessorImpl (void)
 
GenEventImplcreate_genevent ()
 
void free_genevent (GenEventImpl *)
 

Static Public Member Functions

static GPUProcessorget_current_gpu_proc (void)
 
- Static Public Member Functions inherited from Realm::ProcessorImpl
static Processor::Kind get_processor_kind (RuntimeImpl *runtime_impl, Processor processor)
 

Public Attributes

GPUgpu
 
std::vector< CallConfiglaunch_configs
 
std::vector< char > kernel_args
 
std::vector< CallConfigcall_configs
 
bool block_on_synchronize
 
ContextSynchronizer ctxsync
 
- Public Attributes inherited from Realm::ProcessorImpl
Processor me
 
Processor::Kind kind
 
int num_cores
 

Protected Member Functions

virtual void execute_task (Processor::TaskFuncID func_id, const ByteArrayRef &task_args)
 
- Protected Member Functions inherited from Realm::LocalTaskProcessor
void set_scheduler (ThreadedTaskScheduler *_sched)
 
- Protected Member Functions inherited from Realm::ProcessorImpl
void enqueue_or_defer_task (Task *task, Event start_event, DeferredSpawnCache *cache)
 

Protected Attributes

Realm::CoreReservationcore_rsrv
 
std::map< Processor::TaskFuncID, GPUTaskTableEntrygpu_task_table
 
- Protected Attributes inherited from Realm::LocalTaskProcessor
ThreadedTaskSchedulersched
 
TaskQueue task_queue
 
ProfilingGauges::AbsoluteRangeGauge< int > ready_task_count
 
DeferredSpawnCache deferred_spawn_cache
 
RWLock task_table_mutex
 
std::map< Processor::TaskFuncID, TaskTableEntrytask_table
 
- Protected Attributes inherited from Realm::ProcessorImpl
LocalEventTableAllocator::FreeList free_local_events
 

Constructor & Destructor Documentation

◆ GPUProcessor()

Realm::Hip::GPUProcessor::GPUProcessor ( RuntimeImpl runtime_impl,
GPU _gpu,
Processor  _me,
Realm::CoreReservationSet crs,
size_t  _stack_size 
)

◆ ~GPUProcessor()

virtual Realm::Hip::GPUProcessor::~GPUProcessor ( void  )
virtual

Member Function Documentation

◆ device_synchronize()

void Realm::Hip::GPUProcessor::device_synchronize ( void  )

◆ execute_task()

virtual void Realm::Hip::GPUProcessor::execute_task ( Processor::TaskFuncID  func_id,
const ByteArrayRef task_args 
)
protectedvirtual

Reimplemented from Realm::LocalTaskProcessor.

◆ get_current_gpu_proc()

static GPUProcessor * Realm::Hip::GPUProcessor::get_current_gpu_proc ( void  )
static

◆ gpu_memcpy()

void Realm::Hip::GPUProcessor::gpu_memcpy ( void *  dst,
const void *  src,
size_t  size,
hipMemcpyKind  kind 
)

◆ gpu_memcpy_async()

void Realm::Hip::GPUProcessor::gpu_memcpy_async ( void *  dst,
const void *  src,
size_t  size,
hipMemcpyKind  kind,
hipStream_t  stream 
)

◆ gpu_memset()

void Realm::Hip::GPUProcessor::gpu_memset ( void *  dst,
int  value,
size_t  count 
)

◆ gpu_memset_async()

void Realm::Hip::GPUProcessor::gpu_memset_async ( void *  dst,
int  value,
size_t  count,
hipStream_t  stream 
)

◆ register_task()

virtual bool Realm::Hip::GPUProcessor::register_task ( Processor::TaskFuncID  func_id,
CodeDescriptor codedesc,
const ByteArrayRef user_data 
)
virtual

Reimplemented from Realm::LocalTaskProcessor.

◆ shutdown()

virtual void Realm::Hip::GPUProcessor::shutdown ( void  )
virtual

Reimplemented from Realm::LocalTaskProcessor.

◆ stream_synchronize()

void Realm::Hip::GPUProcessor::stream_synchronize ( hipStream_t  stream)

◆ stream_wait_on_event()

void Realm::Hip::GPUProcessor::stream_wait_on_event ( hipStream_t  stream,
hipEvent_t  event 
)

Member Data Documentation

◆ block_on_synchronize

bool Realm::Hip::GPUProcessor::block_on_synchronize

◆ call_configs

std::vector<CallConfig> Realm::Hip::GPUProcessor::call_configs

◆ core_rsrv

Realm::CoreReservation* Realm::Hip::GPUProcessor::core_rsrv
protected

◆ ctxsync

ContextSynchronizer Realm::Hip::GPUProcessor::ctxsync

◆ gpu

GPU* Realm::Hip::GPUProcessor::gpu

◆ gpu_task_table

std::map<Processor::TaskFuncID, GPUTaskTableEntry> Realm::Hip::GPUProcessor::gpu_task_table
protected

◆ kernel_args

std::vector<char> Realm::Hip::GPUProcessor::kernel_args

◆ launch_configs

std::vector<CallConfig> Realm::Hip::GPUProcessor::launch_configs

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