| 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
![\[ C = \alpha [op( A )\times op( B )] + \beta C \]](form_0.png) 
, 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). |