cuBLASMp Data Types#
Data types#
cublasMpHandle_t
#
ThecublasMpHandle_t
structure holds the cuBLASMp library context (device properties, system information, etc.).The handle must be initialized and destroyed using cublasMpCreate() and cublasMpDestroy() functions respectively.
cublasMpGrid_t
#
ThecublasMpGrid_t
structure holds information about the grid dimensions and stores the communicator associated to the grid of processes.It must be initialized and destroyed using cublasMpGridCreate() and cublasMpGridDestroy() functions respectively.
cublasMpMatrixDescriptor_t
#
ThecublasMpMatrixDescriptor_t
structure captures the shape and characteristics of a distributed matrix.It must be initialized and destroyed using cublasMpMatrixDescriptorCreate() and cublasMpMatrixDescriptorDestroy() functions respectively.
cublasMpMatmulDescriptor_t
#
ThecublasMpMatmulDescriptor_t
structure captures the properties of a distributed matrix-matrix multiplication performed using cublasMpMatmul().It must be initialized and destroyed using cublasMpMatmulDescriptorCreate() and cublasMpMatmulDescriptorDestroy() functions respectively.
Enumerators#
cublasMpStatus_t
#
The type is used for function status returns. All cuBLASMp library functions return their status, which can have the following values.
Value |
Meaning |
---|---|
CUBLASMP_STATUS_SUCCESS |
The operation completed successfully. |
CUBLASMP_STATUS_NOT_INITIALIZED |
The cuBLASMp library was not initialized. |
CUBLASMP_STATUS_ALLOCATION_FAILED |
Resource allocation failed inside the cuBLASMp library. |
CUBLASMP_STATUS_INVALID_VALUE |
An unsupported value or parameter was passed to the function. |
CUBLASMP_STATUS_ARCHITECTURE_MISMATCH |
The function requires a feature absent from the device architecture. |
CUBLASMP_STATUS_EXECUTION_FAILED |
The GPU program failed to execute. |
CUBLASMP_STATUS_INTERNAL_ERROR |
An internal cuBLASMp operation failed. |
CUBLASMP_STATUS_NOT_SUPPORTED |
The functionality requested is not supported. |
cublasMpGridLayout_t
#
Describes the ordering of the grid of processes.
Value |
Meaning |
---|---|
CUBLASMP_GRID_MAPPING_ROW_MAJOR |
The grid of processes will be accessed in row-major ordering. |
CUBLASMP_GRID_MAPPING_COL_MAJOR |
The grid of processes will be accessed in column-major ordering. |
cublasMpMatmulDescriptorAttribute_t
#
Attributes ofcublasMpMatmulDescriptor_t
that can be set using cublasMpMatmulDescriptorAttributeSet() and queried using cublasMpMatmulDescriptorAttributeGet().
Value |
Meaning |
Type |
---|---|---|
CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSA |
Indicates which operation needs to be performed with the dense matrix A. |
|
CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_TRANSB |
Indicates which operation needs to be performed with the dense matrix B. |
|
CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMPUTE_TYPE |
Indicates the compute type of the matrix multiplication. |
|
CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_ALGO_TYPE |
Hints the algorithm type to be used. If not supported, cuBLASMp will fallback to the default algorithm. |
|
CUBLASMP_MATMUL_DESCRIPTOR_ATTRIBUTE_COMMUNICATION_SM_COUNT |
Indicates the number of SMs to be used for communication. |
cublasMpMatmulAlgoType_t
#
Matrix-matrix multiplication algorithms types to be used. This is treated as a hint and it is not guaranteed that cuBLASMp will use the requested implementation.
Value |
Meaning |
---|---|
CUBLASMP_MATMUL_ALGO_TYPE_DEFAULT |
Default algorithm. |
CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_P2P |
Use split matmul with p2p communication. |
CUBLASMP_MATMUL_ALGO_TYPE_SPLIT_MULTICAST |
Use split matmul with multicast communication. |
CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_MULTICAST |
Use atomic matmul with multicast communication. |