#[non_exhaustive]#[repr(u32)]pub enum cublasLtMatrixLayoutAttribute_t {
CUBLASLT_MATRIX_LAYOUT_TYPE = 0,
CUBLASLT_MATRIX_LAYOUT_ORDER = 1,
CUBLASLT_MATRIX_LAYOUT_ROWS = 2,
CUBLASLT_MATRIX_LAYOUT_COLS = 3,
CUBLASLT_MATRIX_LAYOUT_LD = 4,
CUBLASLT_MATRIX_LAYOUT_BATCH_COUNT = 5,
CUBLASLT_MATRIX_LAYOUT_STRIDED_BATCH_OFFSET = 6,
CUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET = 7,
}Expand description
Attributes of memory layout
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CUBLASLT_MATRIX_LAYOUT_TYPE = 0
Data type, see cudaDataType.
uint32_t
CUBLASLT_MATRIX_LAYOUT_ORDER = 1
Memory order of the data, see cublasLtOrder_t.
int32_t, default: CUBLASLT_ORDER_COL
CUBLASLT_MATRIX_LAYOUT_ROWS = 2
Number of rows.
Usually only values that can be expressed as int32_t are supported.
uint64_t
CUBLASLT_MATRIX_LAYOUT_COLS = 3
Number of columns.
Usually only values that can be expressed as int32_t are supported.
uint64_t
CUBLASLT_MATRIX_LAYOUT_LD = 4
Matrix leading dimension.
For CUBLASLT_ORDER_COL this is stride (in elements) of matrix column, for more details and documentation for other memory orders see documentation for cublasLtOrder_t values.
Currently only non-negative values are supported, must be large enough so that matrix memory locations are not overlapping (e.g. greater or equal to CUBLASLT_MATRIX_LAYOUT_ROWS in case of CUBLASLT_ORDER_COL).
int64_t;
CUBLASLT_MATRIX_LAYOUT_BATCH_COUNT = 5
Number of matmul operations to perform in the batch.
See also CUBLASLT_ALGO_CAP_STRIDED_BATCH_SUPPORT
int32_t, default: 1
CUBLASLT_MATRIX_LAYOUT_STRIDED_BATCH_OFFSET = 6
Stride (in elements) to the next matrix for strided batch operation.
When matrix type is planar-complex (CUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET != 0), batch stride is interpreted by cublasLtMatmul() in number of real valued sub-elements. E.g. for data of type CUDA_C_16F, offset of 1024B is encoded as a stride of value 512 (since each element of the real and imaginary matrices is a 2B (16bit) floating point type).
NOTE: A bug in cublasLtMatrixTransform() causes it to interpret the batch stride for a planar-complex matrix as if it was specified in number of complex elements. Therefore an offset of 1024B must be encoded as stride value 256 when calling cublasLtMatrixTransform() (each complex element is 4B with real and imaginary values 2B each). This behavior is expected to be corrected in the next major cuBLAS version.
int64_t, default: 0
CUBLASLT_MATRIX_LAYOUT_PLANE_OFFSET = 7
Stride (in bytes) to the imaginary plane for planar complex layout.
int64_t, default: 0 - 0 means that layout is regular (real and imaginary parts of complex numbers are interleaved in memory in each element)
Trait Implementations§
source§impl Clone for cublasLtMatrixLayoutAttribute_t
impl Clone for cublasLtMatrixLayoutAttribute_t
source§fn clone(&self) -> cublasLtMatrixLayoutAttribute_t
fn clone(&self) -> cublasLtMatrixLayoutAttribute_t
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl PartialEq for cublasLtMatrixLayoutAttribute_t
impl PartialEq for cublasLtMatrixLayoutAttribute_t
source§fn eq(&self, other: &cublasLtMatrixLayoutAttribute_t) -> bool
fn eq(&self, other: &cublasLtMatrixLayoutAttribute_t) -> bool
self and other values to be equal, and is used
by ==.