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. |
cublasMpLoggerCallback_t
#
Function pointer type for cuBLASMp logging callbacks. The callback function is called by the library to report logging information.The callback can be set using cublasMpLoggerSetCallback().The callback function takes the following parameters:
Parameter |
Type |
Description |
---|---|---|
logLevel |
int |
The severity level of the log message |
functionName |
const char* |
Name of the function generating the log message |
message |
const char* |
The actual log message text |
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. Only valid for GEMM+ReduceScatter and GEMM+AllReduce on Compute Capability 9.0 (Hopper) and newer GPUs connected with an NVSwitch. |
CUBLASMP_MATMUL_ALGO_TYPE_ATOMIC_MULTICAST |
Use atomic matmul with multicast communication. Only valid for GEMM+ReduceScatter on Compute Capability 9.0 (Hopper) and newer GPUs connected with an NVSwitch. [DEPRECATED] |