HiCMA
Hierarchical Computations on Manycore Architectures
|
#include "coreblas/coreblas.h"
#include "coreblas/lapacke.h"
#include <assert.h>
Go to the source code of this file.
Macros | |
#define | CBLAS_SADDR(_val) (_val) |
Functions | |
void | hc_printmat (double *A, int m, int n, int ld) |
void | __qra (int _M, int maxrank, double *_CU, int ld_CU, int _Crk, int *pnew_CU_ncols, double *_AU, int ld_AU, int _Ark, double alpha, double beta, double *qrtauA) |
void | __qrb (int _M, int maxrank, double *_CV, int ld_CV, int _Crk, int *pnew_CV_ncols, double *_AV, int ld_AV, int _Ark, double *_BU, int ld_BU, double *_BV, int ld_BV, int _Brk, double *qrtauB, double *AcolBcolT) |
void | __svd (int _M, int maxrank, double *_CU, int ld_CU, double *_CV, int ld_CV, int _Crk, double *_U, int ld_U, double *_V, int ld_V, int *pnew_UVrk, int rank, double acc, double *_rA, double *_rB, double *_T, double *sigma, double *svdsuperb) |
void | __newu (int _M, int ncols_qA, double *_CU, int ld_CU, int _Crk, double *_U, int ld_U, int _Urk, double *qrtauA) |
void | __newv (int _M, int ncols_qB, double *_CV, int ld_CV, int _Crk, double *_V, int ld_V, int _Vrk, double *qrtauB) |
void | HCORE_zgemm (MORSE_enum transA, int transB, int M, int N, double alpha, double *AU, double *AV, double *Ark, int LDA, double *BU, double *BV, double *Brk, int LDB, double beta, double *CU, double *CV, double *Crk, int LDC, int rk, int maxrk, double acc, double *work) |
Variables | |
int | use_trmm = 1 |
int | use_scratch |
int | gemm_print_index = 0 |
int | gemm_print_mat = 0 |
int | hc_nelm_limit = 512 |
HiCMA HCORE kernels HiCMA is a software package provided by King Abdullah University of Science and Technology (KAUST)
HiCMA HCORE kernels HiCMA is a software package provided by King Abdullah University of Science and Technology (KAUST)
Definition in file hcore_zgemm.c.
#define CBLAS_SADDR | ( | _val | ) | (_val) |
Definition at line 25 of file hcore_zgemm.c.
void hc_printmat | ( | double * | A, |
int | m, | ||
int | n, | ||
int | ld | ||
) |
Definition at line 32 of file hcore_zgemm.c.
void __qra | ( | int | _M, |
int | maxrank, | ||
double * | _CU, | ||
int | ld_CU, | ||
int | _Crk, | ||
int * | pnew_CU_ncols, | ||
double * | _AU, | ||
int | ld_AU, | ||
int | _Ark, | ||
double | alpha, | ||
double | beta, | ||
double * | qrtauA | ||
) |
Definition at line 62 of file hcore_zgemm.c.
void __qrb | ( | int | _M, |
int | maxrank, | ||
double * | _CV, | ||
int | ld_CV, | ||
int | _Crk, | ||
int * | pnew_CV_ncols, | ||
double * | _AV, | ||
int | ld_AV, | ||
int | _Ark, | ||
double * | _BU, | ||
int | ld_BU, | ||
double * | _BV, | ||
int | ld_BV, | ||
int | _Brk, | ||
double * | qrtauB, | ||
double * | AcolBcolT | ||
) |
B2 = ( (iA{2} * iB{2}') * iB{1}');
Definition at line 123 of file hcore_zgemm.c.
void __svd | ( | int | _M, |
int | maxrank, | ||
double * | _CU, | ||
int | ld_CU, | ||
double * | _CV, | ||
int | ld_CV, | ||
int | _Crk, | ||
double * | _U, | ||
int | ld_U, | ||
double * | _V, | ||
int | ld_V, | ||
int * | pnew_UVrk, | ||
int | rank, | ||
double | acc, | ||
double * | _rA, | ||
double * | _rB, | ||
double * | _T, | ||
double * | sigma, | ||
double * | svdsuperb | ||
) |
rA START
rA END rB START
rB END SVD START
truncate according to rank
truncate according to acc
SVD END
Definition at line 198 of file hcore_zgemm.c.
void __newu | ( | int | _M, |
int | ncols_qA, | ||
double * | _CU, | ||
int | ld_CU, | ||
int | _Crk, | ||
double * | _U, | ||
int | ld_U, | ||
int | _Urk, | ||
double * | qrtauA | ||
) |
Definition at line 385 of file hcore_zgemm.c.
void __newv | ( | int | _M, |
int | ncols_qB, | ||
double * | _CV, | ||
int | ld_CV, | ||
int | _Crk, | ||
double * | _V, | ||
int | ld_V, | ||
int | _Vrk, | ||
double * | qrtauB | ||
) |
Definition at line 493 of file hcore_zgemm.c.
void HCORE_zgemm | ( | MORSE_enum | transA, |
int | transB, | ||
int | M, | ||
int | N, | ||
double | alpha, | ||
double * | AU, | ||
double * | AV, | ||
double * | Ark, | ||
int | LDA, | ||
double * | BU, | ||
double * | BV, | ||
double * | Brk, | ||
int | LDB, | ||
double | beta, | ||
double * | CU, | ||
double * | CV, | ||
double * | Crk, | ||
int | LDC, | ||
int | rk, | ||
int | maxrk, | ||
double | acc, | ||
double * | work | ||
) |
Performs C = alpha A B + beta C
Definition at line 568 of file hcore_zgemm.c.
int use_trmm = 1 |
Definition at line 27 of file hcore_zgemm.c.
int use_scratch |
Definition at line 90 of file time_zgemm_tile.c.
int gemm_print_index = 0 |
Definition at line 29 of file hcore_zgemm.c.
int gemm_print_mat = 0 |
Definition at line 30 of file hcore_zgemm.c.
int hc_nelm_limit = 512 |
Definition at line 31 of file hcore_zgemm.c.