Low-Level CUDA Support

Device management

cupy.cuda.Device Object that represents a CUDA device.

Memory management

cupy.cuda.Memory Memory allocation on a CUDA device.
cupy.cuda.MemoryPointer Pointer to a point on a device memory.
cupy.cuda.alloc Calls the current allocator.
cupy.cuda.set_allocator Sets the current allocator.
cupy.cuda.MemoryPool Memory pool for all devices on the machine.

Streams and events

cupy.cuda.Stream CUDA stream.
cupy.cuda.Event CUDA event, a synchronization point of CUDA streams.
cupy.cuda.get_elapsed_time Gets the elapsed time between two events.

Profiler

cupy.cuda.profile Enable CUDA profiling during with statement.
cupy.cuda.profiler.initialize Initialize the CUDA profiler.
cupy.cuda.profiler.start Enable profiling.
cupy.cuda.profiler.stop Disable profiling.
cupy.cuda.nvtx.Mark Marks an instantaneous event (marker) in the application.
cupy.cuda.nvtx.MarkC Marks an instantaneous event (marker) in the application.
cupy.cuda.nvtx.RangePush Starts a nestead range.
cupy.cuda.nvtx.RangePushC Starts a nestead range.
cupy.cuda.nvtx.RangePop Ends a nestead range.