BlasOptions#
-
class nvmath.
device. BlasOptions( - size,
- precision,
- data_type,
- *,
- code_type=None,
- block_size=None,
- block_dim=None,
- leading_dimension=None,
- transpose_mode=('non_transposed', 'non_transposed'),
- function='MM',
- execution='Block',
A class that encapsulates a partial BLAS device function. A partial device function can be queried for available or optimal values for the some knobs (such as
leading_dimensionorblock_dim). It does not contain a compiled, ready-to-use, device function until finalized usingcreate().- Parameters:
size – A sequence of integers denoting the three dimensions
(m, n, k)for the matrix multiplication problem.precision – The computation precision specified as a numpy float dtype, currently supports
numpy.float16,numpy.float32andnumpy.float64.data_type – The data type of the input matrices, can be either
'real'or'complex'.code_type (CodeType) – The target GPU code and compute-capability.
block_size (int) – The total block size, optional. If not provided or set to
'suggested', will be set to a suggested value for 1D block dim.block_dim (Dim3) – The block dimension for launching the CUDA kernel, optional. If not provided or set to
'suggested', will be set to a suggested value. Can’t not be used whenblock_sizeis explicitly specified.leading_dimension (LeadingDimension) – The leading dimensions for the input matrices, optional. If not provided, will be set to match the matrix row/column dimension. Alternatively, if provided as
'suggested', will be set to a suggested value for optimal performance.transpose_mode (TransposeMode) – The transpose mode for all input matrices. If not provided, no transposition by default.
function (str) – A string specifying the name of the function. Currently supports
'MM'(default) for matrix multiplication.execution (str) – A string specifying the execution method, can be
'Block'or'Thread'.
See also
The attributes of this class provide a 1:1 mapping with the CUDA C++ cuBLASDx APIs. For further details, please refer to cuBLASDx documentation.
Methods
- __init__(
- size,
- precision,
- data_type,
- *,
- code_type=None,
- block_size=None,
- block_dim=None,
- leading_dimension=None,
- transpose_mode=('non_transposed', 'non_transposed'),
- function='MM',
- execution='Block',
Attributes
- block_dim#
- block_size#
- code_type#
- data_type#
- execution#
- function#
- leading_dimension#
- precision#
- size#
- transpose_mode#