Python pycuda.driver.Event() Examples
The following are 5
code examples of pycuda.driver.Event().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
pycuda.driver
, or try the search function
.
Example #1
Source File: util.py From ngraph-python with Apache License 2.0 | 5 votes |
def _get_events(): return (drv.Event(), drv.Event())
Example #2
Source File: tensor_ops.py From ngraph-python with Apache License 2.0 | 5 votes |
def __init__(self, transformer, comm, op): super(CudaAllReduceKernel, self).__init__(transformer) self.op = op self.tensor = op.tensor_description() self.device_id = int(transformer.device_id) self.device_ids = list(map(int, self.op.device_ids)) self.event = drv.Event(flags=event_flags.INTERPROCESS | event_flags.DISABLE_TIMING) self.stream = drv.Stream() self.output_buff_dict = {} self.scratch_buff_dict = {} self.event_buff_dict = {} self.comm = comm self.init_buffers()
Example #3
Source File: tensor_ops.py From ngraph-python with Apache License 2.0 | 5 votes |
def init_buffers(self): shape = self.op.args[0].tensor_description().shape dtype = self.op.args[0].tensor_description().dtype n_devs = len(self.op.device_ids) size = self.op.args[0].tensor_description().axes.size segment_size = calculate_segment_size(size, n_devs) # Allocate output and scratch buffers self.output_buff = gpuarray.zeros(shape, dtype) self.scratch_buff = gpuarray.zeros(segment_size * n_devs, dtype) self.output_buff_dict[self.device_id] = self.output_buff.gpudata self.scratch_buff_dict[self.device_id] = self.scratch_buff.gpudata # Allocate IPC handles output_ipc_hdl = drv.mem_get_ipc_handle(self.output_buff.gpudata) scratch_ipc_hdl = drv.mem_get_ipc_handle(self.scratch_buff.gpudata) event_ipc_hdl = self.event.ipc_handle() # Broadcast handles to others msg = (self.device_id, output_ipc_hdl, scratch_ipc_hdl, event_ipc_hdl) for i in self.device_ids: if i == self.device_id: self.comm.bcast(msg, root=i) else: (peer_id, output_ipc_hdl, scratch_ipc_hdl, event_ipc_hdl) = self.comm.bcast(None, root=i) output_hdl = drv.IPCMemoryHandle(output_ipc_hdl) scratch_hdl = drv.IPCMemoryHandle(scratch_ipc_hdl) event_hdl = drv.Event.from_ipc_handle(event_ipc_hdl) self.output_buff_dict[peer_id] = output_hdl self.scratch_buff_dict[peer_id] = scratch_hdl self.event_buff_dict[peer_id] = event_hdl
Example #4
Source File: nervanagpu.py From neon with Apache License 2.0 | 5 votes |
def init_mark(self): """ Generate a timing mark object. Returns: timing mark (pycude driver event) """ return drv.Event()
Example #5
Source File: nervanagpu.py From neon with Apache License 2.0 | 5 votes |
def _get_events(): return (drv.Event(), drv.Event()) # debugging tool # import re # import traceback as tb # nrv_re = re.compile(r'nervanagpu\.py$') # def print_trace(): # caller = None # for frame in tb.extract_stack(): # if GPUTensor.nrv_re.search(frame[0]): # break # caller = (frame[0],frame[1]) # print caller