cuSOLVERMp Data Types#

Data types#

cusolverMpHandle_t#

The cusolverMpHandle_t structure holds the cuSOLVERMp library context (device properties, system information, etc.).
The handle must be initialized and destroyed using cusolverMpCreate() and cusolverMpDestroy() functions respectively.

cusolverMpGrid_t#

The cusolverMpGrid_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 cusolverMpCreateDeviceGrid() and cusolverMpDestroyGrid() functions respectively.

cusolverMpMatrixDescriptor_t#

The cusolverMpMatrixDescriptor_t structure captures the shape and characteristics of a distributed matrix.
It must be initialized and destroyed using cusolverMpCreateMatrixDesc() and cusolverMpDestroyMatrixDesc() functions respectively.

cusolverMpNewtonSchulzDescriptor_t#

The cusolverMpNewtonSchulzDescriptor_t structure holds parameters that control the behavior of cusolverMpNewtonSchulz(), such as whether to normalize the input matrix.
It must be initialized and destroyed using cusolverMpNewtonSchulzDescriptorCreate() and cusolverMpNewtonSchulzDescriptorDestroy() functions respectively.

Enumerators#

cusolverMpGridMapping_t#

Describes the ordering of the grid of processes.

Value

Description

CUSOLVERMP_GRID_MAPPING_ROW_MAJOR

The grid of processes will be accessed in row-major ordering.

CUSOLVERMP_GRID_MAPPING_COL_MAJOR

The grid of processes will be accessed in column-major ordering.

cusolverMpNewtonSchulzDescriptorAttribute_t#

Enumerates the attributes that can be set on a cusolverMpNewtonSchulzDescriptor_t.

Value

Type

Default

Description

CUSOLVERMP_NEWTON_SCHULZ_DESCRIPTOR_ATTRIBUTE_NORMALIZE

int

1

When set to 1, the input matrix is normalized by its Frobenius norm before iterations begin. Normalization is required for convergence; set to 0 only when the input is already normalized.

CUSOLVERMP_NEWTON_SCHULZ_DESCRIPTOR_ATTRIBUTE_REDUCE_VIA_COMPUTE_TYPE

int

0

When set to 1, the distributed Gram-matrix reduction path may communicate/reduce intermediate X^T X data using the compute type when the value type differs from the compute type.

cusolverMpLoggerCallback_t#

Function pointer type for cuSOLVERMp logging callbacks. The callback function is called by the library to report logging information.
The callback can be set using cusolverMpLoggerSetCallback().

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.