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

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

— FFT (cuFFT) —



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