Module: Chainer::CUDA

Defined in:
lib/chainer/cuda.rb

Class Method Summary collapse

Class Method Details

.available?(id = nil) ⇒ Boolean

Returns whether CUDA is available.

Parameters:

  • id (Integer or nil) (defaults to: nil)

    If a non negative integer is given, check availability of GPU ID.

Returns:

  • (Boolean)


20
21
22
23
24
25
26
27
28
# File 'lib/chainer/cuda.rb', line 20

def available?(id = nil)
  return false unless $chainer_cuda_available
  if id
    raise 'id must be non negative' if id < 0
    @device_count ||= Cumo::CUDA::Runtime.cudaGetDeviceCount
    return @device_count > id
  end
  true
end

.check_available(id = nil) ⇒ Object

Checks if CUDA is available.

Parameters:

  • id (Integer or nil) (defaults to: nil)

    If a non negative integer is given, check availability of GPU ID.

Raises:

  • (RuntimeError)

    if not available



35
36
37
# File 'lib/chainer/cuda.rb', line 35

def check_available(id = nil)
  raise 'CUDA is not available' unless available?(id)
end