Module: Ignis::CUDA::GraphCapture

Defined in:
lib/nvruby/cuda/graph.rb

Overview

Convenience module for graph-based operations.

Class Method Summary collapse

Class Method Details

.capture(stream: nil) {|Stream| ... } ⇒ GraphExecutable

Capture GPU ops and return executable graph.

Parameters:

  • stream (Stream, nil) (defaults to: nil)

Yields:

Returns:



247
248
249
250
# File 'lib/nvruby/cuda/graph.rb', line 247

def capture(stream: nil, &block)
  graph = Graph.capture(stream: stream, &block)
  graph.instantiate
end

.capture_and_launch(stream: nil, repeat: 1) {|Stream| ... } ⇒ GraphExecutable

Capture and immediately launch.

Parameters:

  • stream (Stream, nil) (defaults to: nil)
  • repeat (Integer) (defaults to: 1)

Yields:

Returns:



257
258
259
260
261
# File 'lib/nvruby/cuda/graph.rb', line 257

def capture_and_launch(stream: nil, repeat: 1, &block)
  exec = capture(stream: stream, &block)
  repeat.times { exec.launch(stream: stream) }
  exec
end