Table of Contents

Class MatmulOptions

Namespace
NVMathNet.LinAlg
Assembly
NVMath.Net.dll

Options controlling matrix multiplication behaviour.

public sealed class MatmulOptions

Inheritance

Inherited Members

Properties

Blocking

If true (default), execution waits for the GPU to finish before returning. Set to false for asynchronous overlapped execution.

public bool Blocking { get; set; }

Property Value

bool

ComputeType

Compute type. Default: NVMathNet.LinAlg.MatmulComputeType.Compute32F.

public MatmulComputeType ComputeType { get; set; }

Property Value

MatmulComputeType

ConjugateTransposeA

Use the conjugate transpose of A (complex types). Implies a transpose and takes precedence over NVMathNet.LinAlg.MatmulOptions.TransposeA.

public bool ConjugateTransposeA { get; set; }

Property Value

bool

ConjugateTransposeB

Use the conjugate transpose of B (complex types). Implies a transpose and takes precedence over NVMathNet.LinAlg.MatmulOptions.TransposeB.

public bool ConjugateTransposeB { get; set; }

Property Value

bool

Epilog

Epilog to apply after the core GEMM. Default: NVMathNet.LinAlg.MatmulEpilog.Default (no epilog).

public MatmulEpilog Epilog { get; set; }

Property Value

MatmulEpilog

FastAccum

Enables FP8 fast accumulation (faster, lower precision).

public bool FastAccum { get; set; }

Property Value

bool

MaxWorkspaceBytes

Maximum workspace in bytes offered to the heuristic. Default: 4 MiB.

public nuint MaxWorkspaceBytes { get; set; }

Property Value

nuint

ScaleType

Scale type for alpha/beta scalars. Default: NVMathNet.LinAlg.MatrixDataType.Float32.

public MatrixDataType ScaleType { get; set; }

Property Value

MatrixDataType

TransposeA

Whether to transpose matrix A. Default: false.

public bool TransposeA { get; set; }

Property Value

bool

TransposeB

Whether to transpose matrix B. Default: false.

public bool TransposeB { get; set; }

Property Value

bool

TypeA

Data type of matrix A. Default: NVMathNet.LinAlg.MatrixDataType.Float32.

public MatrixDataType TypeA { get; set; }

Property Value

MatrixDataType

TypeB

Data type of matrix B. Default: NVMathNet.LinAlg.MatrixDataType.Float32.

public MatrixDataType TypeB { get; set; }

Property Value

MatrixDataType

TypeC

Data type of matrix C (accumulator). Default: NVMathNet.LinAlg.MatrixDataType.Float32.

public MatrixDataType TypeC { get; set; }

Property Value

MatrixDataType

TypeD

Data type of matrix D (output). Default: NVMathNet.LinAlg.MatrixDataType.Float32.

public MatrixDataType TypeD { get; set; }

Property Value

MatrixDataType