HiCMA
Hierarchical Computations on Manycore Architectures
ztrsm.c File Reference
#include "hicma.h"
#include <stdio.h>
#include "control/common.h"
#include "control/hicma_common.h"

Go to the source code of this file.

Functions

int HICMA_ztrsm_Tile (MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, MORSE_desc_t *BUV, MORSE_desc_t *Brk, int rk, int maxrk, double acc)
 
int HICMA_ztrsm_Tile_Async (MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, MORSE_desc_t *BUV, MORSE_desc_t *Brk, int rk, int maxrk, double acc, MORSE_sequence_t *sequence, MORSE_request_t *request)
 
int HICMA_ztrsmd_Tile (MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, MORSE_desc_t *Bdense, int maxrk)
 
int HICMA_ztrsmd_Tile_Async (MORSE_enum side, MORSE_enum uplo, MORSE_enum transA, MORSE_enum diag, double alpha, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, MORSE_desc_t *Bdense, int maxrk, MORSE_sequence_t *sequence, MORSE_request_t *request)
 

Detailed Description

HICMA computational routines HiCMA is a software package provided by King Abdullah University of Science and Technology (KAUST)

Version
0.1.1
Author
Jakub Kurzak
Mathieu Faverge
Emmanuel Agullo
Cedric Castagnede
Kadir Akbudak
Date
2018-11-08 normal z -> s d c

Definition in file ztrsm.c.

Function Documentation

◆ HICMA_ztrsm_Tile()

int HICMA_ztrsm_Tile ( MORSE_enum  side,
MORSE_enum  uplo,
MORSE_enum  transA,
MORSE_enum  diag,
double  alpha,
MORSE_desc_t *  AUV,
MORSE_desc_t *  AD,
MORSE_desc_t *  Ark,
MORSE_desc_t *  BUV,
MORSE_desc_t *  Brk,
int  rk,
int  maxrk,
double  acc 
)

HICMA_ztrsm_Tile - Computes triangular solve. Both A and B/X matrices are in Tile Low Rank (TLR) format. Tile equivalent of HICMA_ztrsm(). Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Parameters
[in]sideSpecifies whether A appears on the left or on the right of X: = MorseLeft: A*X = B = MorseRight: X*A = B
[in]uploSpecifies whether the matrix A is upper triangular or lower triangular: = MorseUpper: Upper triangle of A is stored; = MorseLower: Lower triangle of A is stored.
[in]transASpecifies whether the matrix A is transposed, not transposed or conjugate transposed: = MorseNoTrans: A is transposed; = MorseTrans: A is not transposed; = MorseConjTrans: A is conjugate transposed.
[in]diagSpecifies whether or not A is unit triangular: = MorseNonUnit: A is non unit; = MorseUnit: A us unit.
[in]alphaalpha specifies the scalar alpha.
[in]AThe triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = MorseUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in,out]BOn entry, the N-by-NRHS right hand side matrix B. On exit, if return value = 0, the N-by-NRHS solution matrix X.
Returns
Return values
MORSE_SUCCESSsuccessful exit

Definition at line 104 of file ztrsm.c.

◆ HICMA_ztrsm_Tile_Async()

int HICMA_ztrsm_Tile_Async ( MORSE_enum  side,
MORSE_enum  uplo,
MORSE_enum  transA,
MORSE_enum  diag,
double  alpha,
MORSE_desc_t *  AUV,
MORSE_desc_t *  AD,
MORSE_desc_t *  Ark,
MORSE_desc_t *  BUV,
MORSE_desc_t *  Brk,
int  rk,
int  maxrk,
double  acc,
MORSE_sequence_t *  sequence,
MORSE_request_t *  request 
)

HICMA_ztrsm_Tile_Async - Computes triangular solve. Both A and B/X matrices are in Tile Low Rank (TLR) format. Non-blocking equivalent of HICMA_ztrsm_Tile(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).

Definition at line 172 of file ztrsm.c.

◆ HICMA_ztrsmd_Tile()

int HICMA_ztrsmd_Tile ( MORSE_enum  side,
MORSE_enum  uplo,
MORSE_enum  transA,
MORSE_enum  diag,
double  alpha,
MORSE_desc_t *  AUV,
MORSE_desc_t *  AD,
MORSE_desc_t *  Ark,
MORSE_desc_t *  Bdense,
int  maxrk 
)

HICMA_ztrsm_Tile - Computes triangular solve. A matrix is in Tile Low Rank (TLR) format and B/X matrix is dense. Tile equivalent of HICMA_ztrsm(). Operates on matrices stored by tiles. All matrices are passed through descriptors. All dimensions are taken from the descriptors.

Parameters
[in]sideSpecifies whether A appears on the left or on the right of X: = MorseLeft: A*X = B = MorseRight: X*A = B
[in]uploSpecifies whether the matrix A is upper triangular or lower triangular: = MorseUpper: Upper triangle of A is stored; = MorseLower: Lower triangle of A is stored.
[in]transASpecifies whether the matrix A is transposed, not transposed or conjugate transposed: = MorseNoTrans: A is transposed; = MorseTrans: A is not transposed; = MorseConjTrans: A is conjugate transposed.
[in]diagSpecifies whether or not A is unit triangular: = MorseNonUnit: A is non unit; = MorseUnit: A us unit.
[in]alphaalpha specifies the scalar alpha.
[in]AThe triangular matrix A. If uplo = MorseUpper, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = MorseLower, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = MorseUnit, the diagonal elements of A are also not referenced and are assumed to be 1.
[in,out]BOn entry, the N-by-NRHS right hand side matrix B. On exit, if return value = 0, the N-by-NRHS solution matrix X.
Returns
Return values
MORSE_SUCCESSsuccessful exit

Definition at line 303 of file ztrsm.c.

◆ HICMA_ztrsmd_Tile_Async()

int HICMA_ztrsmd_Tile_Async ( MORSE_enum  side,
MORSE_enum  uplo,
MORSE_enum  transA,
MORSE_enum  diag,
double  alpha,
MORSE_desc_t *  AUV,
MORSE_desc_t *  AD,
MORSE_desc_t *  Ark,
MORSE_desc_t *  Bdense,
int  maxrk,
MORSE_sequence_t *  sequence,
MORSE_request_t *  request 
)

HICMA_ztrsm_Tile_Async - Computes triangular solve. A matrix is in Tile Low Rank (TLR) format and B/X matrix is dense. Non-blocking equivalent of HICMA_ztrsm_Tile(). May return before the computation is finished. Allows for pipelining of operations at runtime.

Parameters
[in]sequenceIdentifies the sequence of function calls that this call belongs to (for completion checks and exception handling purposes).
[out]requestIdentifies this function call (for exception handling purposes).

Definition at line 366 of file ztrsm.c.