40 namespace NetworkSegmentInfo {
88 const void *user_data,
size_t user_data_len,
92 static const size_t UUID_SIZE = 16;
93 typedef char Uuid[UUID_SIZE];
249 int cuda_api_version = 0;
256#include "realm/cuda/cuda_module.inl"
Definition cuda_module.h:109
bool cfg_pin_sysmem
Definition cuda_module.h:131
std::vector< size_t > res_fbmem_sizes
Definition cuda_module.h:152
bool cfg_fences_use_callbacks
Definition cuda_module.h:132
int cfg_task_legacy_sync
Definition cuda_module.h:137
size_t cfg_zc_mem_size
Definition cuda_module.h:122
size_t cfg_fb_mem_size
Definition cuda_module.h:123
size_t cfg_dynfb_max_size
Definition cuda_module.h:126
bool discover_resource(void)
bool cfg_multithread_dma
Definition cuda_module.h:141
bool cfg_use_dynamic_fb
Definition cuda_module.h:125
bool cfg_use_worker_threads
Definition cuda_module.h:130
bool cfg_enable_cupti
Definition cuda_module.h:146
size_t res_min_fbmem_size
Definition cuda_module.h:151
unsigned cfg_d2d_streams
Definition cuda_module.h:129
int cfg_d2d_stream_priority
Definition cuda_module.h:143
std::string cfg_gpu_idxs
Definition cuda_module.h:128
virtual void configure_from_cmdline(std::vector< std::string > &cmdline)
unsigned cfg_task_streams
Definition cuda_module.h:129
bool cfg_suppress_hijack_warning
Definition cuda_module.h:133
size_t cfg_fb_ib_size
Definition cuda_module.h:123
int cfg_pageable_access
Definition cuda_module.h:145
size_t cfg_zc_ib_size
Definition cuda_module.h:122
int res_num_gpus
Definition cuda_module.h:150
bool cfg_use_shared_worker
Definition cuda_module.h:130
size_t cfg_hostreg_limit
Definition cuda_module.h:142
int cfg_task_context_sync
Definition cuda_module.h:138
bool cfg_skip_busy_gpus
Definition cuda_module.h:135
unsigned cfg_skip_gpu_count
Definition cuda_module.h:134
bool cfg_use_cuda_ipc
Definition cuda_module.h:144
bool resource_discovered
Definition cuda_module.h:149
int cfg_num_gpus
Definition cuda_module.h:127
bool cfg_lmem_resize_to_max
Definition cuda_module.h:140
int cfg_max_ctxsync_threads
Definition cuda_module.h:139
size_t cfg_min_avail_mem
Definition cuda_module.h:136
size_t cfg_uvm_mem_size
Definition cuda_module.h:124
Definition cuda_module.h:165
virtual void initialize(RuntimeImpl *runtime)
virtual void create_dma_channels(RuntimeImpl *runtime)
bool get_cuda_context(Processor p, CUctx_st **context) const
virtual void create_memories(RuntimeImpl *runtime)
CudaModule(RuntimeImpl *_runtime)
GPUReplHeapListener * rh_listener
Definition cuda_module.h:243
atomic< bool > initialization_complete
Definition cuda_module.h:244
Mutex cudaipc_mutex
Definition cuda_module.h:246
CUstream_st * get_task_cuda_stream()
CudaModuleConfig * config
Definition cuda_module.h:231
GPUZCMemory * uvmmem
Definition cuda_module.h:242
std::vector< GPU * > gpus
Definition cuda_module.h:238
virtual void create_processors(RuntimeImpl *runtime)
GPUZCMemory * zcmem
Definition cuda_module.h:240
void * zcib_cpu_base
Definition cuda_module.h:239
void * uvm_base
Definition cuda_module.h:241
virtual void create_code_translators(RuntimeImpl *runtime)
GPUWorker * shared_worker
Definition cuda_module.h:235
RuntimeImpl * runtime
Definition cuda_module.h:232
bool register_reduction(Event &event, const CudaRedOpDesc *descs, size_t num)
void set_task_ctxsync_required(bool is_required)
static ModuleConfig * create_module_config(RuntimeImpl *runtime)
bool get_cuda_device_id(Processor p, int *device) const
virtual void cleanup(void)
virtual void pre_detach_cleanup(void)
Mutex::CondVar cudaipc_condvar
Definition cuda_module.h:247
Event make_realm_event(CUevent_st *cuda_event)
Returns a Realm::Event that will be triggered after the given cuda_event has completed.
Event make_realm_event(CUstream_st *cuda_stream)
Returns a Realm::Event that will be triggered after the given cuda_stream has completed it's currentl...
std::vector< GPUInfo * > gpu_info
Definition cuda_module.h:237
virtual ~CudaModule(void)
std::map< GPU *, GPUWorker * > dedicated_workers
Definition cuda_module.h:236
bool get_cuda_device_uuid(Processor p, Uuid *uuid) const
static Module * create_module(RuntimeImpl *runtime)
Definition cuda_internal.h:1040
Definition cuda_internal.h:298
Definition cuda_internal.h:659
Definition cuda_internal.h:392
Definition module_config.h:32
Definition processor.h:37
static const Processor NO_PROC
Definition processor.h:54
Definition runtime_impl.h:264
#define REALM_PUBLIC_API
Definition compiler_support.h:217
REALM_PUBLIC_API bool get_cuda_device_id(Processor p, int *device)
REALM_PUBLIC_API CUstream_st * get_task_cuda_stream()
REALM_PUBLIC_API void set_task_ctxsync_required(bool is_required)
char Uuid[UUID_SIZE]
Definition cuda_module.h:93
REALM_PUBLIC_API bool get_cuda_device_uuid(Processor p, Uuid *uuid)
void(* StreamAwareTaskFuncPtr)(const void *args, size_t arglen, const void *user_data, size_t user_data_len, Processor proc, CUstream_st *stream)
Definition cuda_module.h:87
unsigned MemoryType
Definition network.h:244
Definition activemsg.h:38
::realm_reduction_op_id_t ReductionOpID
Definition event.h:38
Definition cuda_module.h:155
CUfunc_st * fold_nonexcl
Definition cuda_module.h:161
CUfunc_st * apply_excl
Definition cuda_module.h:158
CUfunc_st * fold_excl
Definition cuda_module.h:160
Processor proc
Definition cuda_module.h:157
ReductionOpID redop_id
Definition cuda_module.h:156
CUfunc_st * apply_nonexcl
Definition cuda_module.h:159
Definition cuda_internal.h:127