Module: Ignis
- Defined in:
- lib/nvruby/array.rb,
lib/nvruby/mathdx.rb,
lib/nvruby/solver.rb,
lib/nvruby/tensor.rb,
lib/ignis-numerics.rb,
lib/nvruby/solver/lu.rb,
lib/nvruby/solver/svd.rb,
lib/nvruby/fft/fft_plan.rb,
lib/nvruby/solver/eigen.rb,
lib/nvruby/fft/operations.rb,
lib/nvruby/random/generator.rb,
lib/nvruby/mathdx/fft_kernel.rb,
lib/nvruby/fft/cufft_bindings.rb,
lib/nvruby/mathdx/gemm_kernel.rb,
lib/nvruby/solver/amgx_config.rb,
lib/nvruby/solver/amgx_solver.rb,
lib/nvruby/tensor/contraction.rb,
lib/nvruby/solver/amgx_bindings.rb,
lib/nvruby/solver/sparse_solver.rb,
lib/nvruby/sparse/sparse_matrix.rb,
lib/nvruby/solver/cudss_bindings.rb,
lib/nvruby/random/curand_bindings.rb,
lib/nvruby/linalg/cutensor_bindings.rb,
lib/nvruby/solver/cusolver_bindings.rb,
lib/nvruby/sparse/cusparse_bindings.rb
Defined Under Namespace
Modules: FFT, Linalg, MathDx, Random, Solver, Sparse, Tensor
Classes: NvArray
Class Method Summary
collapse
-
.array(data, dtype: :float32, device: nil) ⇒ Object
-
.contract(expr, a, b, alpha: 1.0) ⇒ Object
— Tensor contraction (cuTENSOR) —.
-
.eig(m) ⇒ Object
-
.eigh(m, eigenvectors: true) ⇒ Object
-
.eye(size, dtype: :float32, device: nil) ⇒ Object
-
.fft(x, axis: -1,, norm: :backward) ⇒ Object
-
.ifft(x, axis: -1,, norm: :backward) ⇒ Object
-
.irfft(x, n: nil, axis: -1,, norm: :backward) ⇒ Object
-
.linspace(a, b, num, dtype: :float32, device: nil) ⇒ Object
-
.lu(m) ⇒ Object
-
.ones(shape, dtype: :float32, device: nil) ⇒ Object
-
.rfft(x, n: nil, axis: -1,, norm: :backward) ⇒ Object
-
.solve(a, b) ⇒ Object
— Linear solvers / decompositions (cuSOLVER) —.
-
.svd(m, full_matrices: false) ⇒ Object
-
.zeros(shape, dtype: :float32, device: nil) ⇒ Object
— Array creation (nvmath-style) —.
Class Method Details
.array(data, dtype: :float32, device: nil) ⇒ Object
43
|
# File 'lib/ignis-numerics.rb', line 43
def array(data, dtype: :float32, device: nil); NvArray.from_array(data, dtype: dtype, device: device); end
|
.contract(expr, a, b, alpha: 1.0) ⇒ Object
— Tensor contraction (cuTENSOR) —
60
|
# File 'lib/ignis-numerics.rb', line 60
def contract(expr, a, b, alpha: 1.0); Tensor.contract(expr, a, b, alpha: alpha); end
|
.eig(m) ⇒ Object
57
|
# File 'lib/ignis-numerics.rb', line 57
def eig(m); Solver.eig(m); end
|
.eigh(m, eigenvectors: true) ⇒ Object
56
|
# File 'lib/ignis-numerics.rb', line 56
def eigh(m, eigenvectors: true); Solver.eigh(m, eigenvectors: eigenvectors); end
|
.eye(size, dtype: :float32, device: nil) ⇒ Object
42
|
# File 'lib/ignis-numerics.rb', line 42
def eye(size, dtype: :float32, device: nil); NvArray.eye(size, dtype: dtype, device: device); end
|
.fft(x, axis: -1,, norm: :backward) ⇒ Object
47
|
# File 'lib/ignis-numerics.rb', line 47
def fft(x, axis: -1, norm: :backward); FFT::Operations.fft(x, axis: axis, norm: norm); end
|
.ifft(x, axis: -1,, norm: :backward) ⇒ Object
48
|
# File 'lib/ignis-numerics.rb', line 48
def ifft(x, axis: -1, norm: :backward); FFT::Operations.ifft(x, axis: axis, norm: norm); end
|
.irfft(x, n: nil, axis: -1,, norm: :backward) ⇒ Object
50
|
# File 'lib/ignis-numerics.rb', line 50
def irfft(x, n: nil, axis: -1, norm: :backward); FFT::Operations.irfft(x, n: n, axis: axis, norm: norm); end
|
.linspace(a, b, num, dtype: :float32, device: nil) ⇒ Object
44
|
# File 'lib/ignis-numerics.rb', line 44
def linspace(a, b, num, dtype: :float32, device: nil); NvArray.linspace(a, b, num, dtype: dtype, device: device); end
|
.lu(m) ⇒ Object
54
|
# File 'lib/ignis-numerics.rb', line 54
def lu(m); Solver.lu(m); end
|
.ones(shape, dtype: :float32, device: nil) ⇒ Object
41
|
# File 'lib/ignis-numerics.rb', line 41
def ones(shape, dtype: :float32, device: nil); NvArray.ones(shape, dtype: dtype, device: device); end
|
.rfft(x, n: nil, axis: -1,, norm: :backward) ⇒ Object
49
|
# File 'lib/ignis-numerics.rb', line 49
def rfft(x, n: nil, axis: -1, norm: :backward); FFT::Operations.rfft(x, n: n, axis: axis, norm: norm); end
|
.solve(a, b) ⇒ Object
— Linear solvers / decompositions (cuSOLVER) —
53
|
# File 'lib/ignis-numerics.rb', line 53
def solve(a, b); Solver.solve(a, b); end
|
.svd(m, full_matrices: false) ⇒ Object
55
|
# File 'lib/ignis-numerics.rb', line 55
def svd(m, full_matrices: false); Solver.svd(m, full_matrices: full_matrices); end
|
.zeros(shape, dtype: :float32, device: nil) ⇒ Object
— Array creation (nvmath-style) —
40
|
# File 'lib/ignis-numerics.rb', line 40
def zeros(shape, dtype: :float32, device: nil); NvArray.zeros(shape, dtype: dtype, device: device); end
|