HiCMA
Hierarchical Computations on Manycore Architectures
|
Go to the source code of this file.
Functions | |
int | HICMA_zgemm_Tile (MORSE_enum transA, MORSE_enum transB, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *Ark, MORSE_desc_t *BUV, MORSE_desc_t *Brk, double beta, MORSE_desc_t *CUV, MORSE_desc_t *Crk, int rk, int maxrk, double acc) |
int | HICMA_zgemm_Tile_Async (MORSE_enum transA, MORSE_enum transB, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *Ark, MORSE_desc_t *BUV, MORSE_desc_t *Brk, double beta, MORSE_desc_t *CUV, MORSE_desc_t *Crk, int rk, int maxrk, double acc, MORSE_sequence_t *sequence, MORSE_request_t *request) |
This file contains top-level functions for matrix-matrix multiplication.
HiCMA is a software package provided by King Abdullah University of Science and Technology (KAUST)
Definition in file zgemm.c.
int HICMA_zgemm_Tile | ( | MORSE_enum | transA, |
MORSE_enum | transB, | ||
double | alpha, | ||
MORSE_desc_t * | AUV, | ||
MORSE_desc_t * | Ark, | ||
MORSE_desc_t * | BUV, | ||
MORSE_desc_t * | Brk, | ||
double | beta, | ||
MORSE_desc_t * | CUV, | ||
MORSE_desc_t * | Crk, | ||
int | rk, | ||
int | maxrk, | ||
double | acc | ||
) |
HICMA_zgemm_Tile - Performs multiplication of tile-low-rank (TLR) matrices in the form of
, where op( X ) is one of
op( X ) = X or op( X ) = X' or op( X ) = conjg( X' )
alpha and beta are scalars, and A, B and C which are all in TLR format. Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors.
[in] | transA | Specifies whether the matrix A is transposed or not transposed: = MorseNoTrans: A is not transposed; = MorseTrans: A is transposed; |
[in] | transB | Specifies whether the matrix B is transposed or not transposed: = MorseNoTrans: B is not transposed; = MorseTrans: B is transposed; |
[in] | alpha | alpha specifies the scalar alpha |
[in] | AUV | AUV is a descriptor for the tile low-rank matrix A |
[in] | Ark | Ark is a descriptor containing rank of each tile of A |
[in] | BUV | BUV is a descriptor for the tile low-rank matrix B |
[in] | Brk | Brk is a descriptor containing rank of each tile of B |
[in] | beta | beta specifies the scalar beta |
[out] | CUV | CUV is a descriptor for the tile low-rank matrix C. On exit, it is over-written by the result TLR matrix. |
[out] | Crk | Crk is a descriptor containing rank of each tile of C. On exit, it is over-written by the new rank of each tile. |
MORSE_SUCCESS | successful exit |
int HICMA_zgemm_Tile_Async | ( | MORSE_enum | transA, |
MORSE_enum | transB, | ||
double | alpha, | ||
MORSE_desc_t * | AUV, | ||
MORSE_desc_t * | Ark, | ||
MORSE_desc_t * | BUV, | ||
MORSE_desc_t * | Brk, | ||
double | beta, | ||
MORSE_desc_t * | CUV, | ||
MORSE_desc_t * | Crk, | ||
int | rk, | ||
int | maxrk, | ||
double | acc, | ||
MORSE_sequence_t * | sequence, | ||
MORSE_request_t * | request | ||
) |
HICMA_zgemm_Tile_Async - Performs matrix multiplication. Non-blocking equivalent of HICMA_zgemm_Tile(). May return before the computation is finished. Allows for pipelining of operations at runtime.
[in] | sequence | Identifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes). |
[out] | request | Identifies this function call (for exception handling purposes). |