Class: Ignis::Memory::CudaMemoryResource

Inherits:
DeviceMemoryResource show all
Defined in:
lib/nvruby/memory/cuda_memory_resource.rb

Overview

Simple memory resource using cudaMalloc/cudaFree This is the baseline allocator with no pooling

Constant Summary

Constants inherited from DeviceMemoryResource

DeviceMemoryResource::ALIGNMENT

Instance Attribute Summary

Attributes inherited from DeviceMemoryResource

#device_index

Instance Method Summary collapse

Methods inherited from DeviceMemoryResource

#allocate, #deallocate, #inspect, #is_equal?, #to_s

Constructor Details

#initialize(device_index: nil) ⇒ CudaMemoryResource

Returns a new instance of CudaMemoryResource.

Parameters:

  • device_index (Integer) (defaults to: nil)

    GPU device index



11
12
13
14
# File 'lib/nvruby/memory/cuda_memory_resource.rb', line 11

def initialize(device_index: nil)
  super
  CUDA::RuntimeAPI.ensure_loaded!
end

Instance Method Details

#supports_streams?Boolean

Returns false - synchronous allocation.

Returns:

  • (Boolean)

    false - synchronous allocation



17
18
19
# File 'lib/nvruby/memory/cuda_memory_resource.rb', line 17

def supports_streams?
  false
end