HiCMA
Hierarchical Computations on Manycore Architectures
hcore_z.h File Reference
#include "morse.h"

Go to the source code of this file.

Macros

#define COMPLEX
 

Functions

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)
 
void HCORE_zgemm_fast (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)
 
void HCORE_zgemmbdcd (MORSE_enum transA, MORSE_enum transB, int M, int N, double alpha, double *AU, double *AV, double *Ark, int LDA, double *BD, int LDB, double beta, double *CD, int LDC, double *work)
 
void HCORE_zgytlr (int m, int n, double *AU, double *AV, double *AD, double *Ark, int lda, int ldu, int ldv, int bigM, int m0, int n0, unsigned long long int seed, int maxrank, double tol, int compress_diag, double *Dense)
 
void HCORE_zhagdm (int nrows_Dense, int ncols_Dense, double *Dense, int ld_Dense, int tile_row_index, int tile_col_index)
 
void HCORE_zhagcm (int m, int n, double *AU, double *AV, double *Ark, int ldu, int ldv, int tile_row_index, int tile_column_index, int maxrank, double tol)
 
void HCORE_zsyrk (MORSE_enum uplo, MORSE_enum trans, int N, int K, double alpha, const double *AU, int LDAU, const double *AV, int LDAV, double beta, double *CD, int LDCD, double *work)
 
void HCORE_zuncompress (MORSE_enum transA, MORSE_enum transB, int M, int N, double alpha, double *AU, double *Ark, int LDA, double *BV, double *Brk, int LDB, double beta, double *CD, int LDC)
 

Detailed Description

HiCMA HCORE kernels HiCMA is a software package provided by King Abdullah University of Science and Technology (KAUST)

Version
0.1.1
Author
Kadir Akbudak
Date
2018-11-08

Definition in file hcore_z.h.

Macro Definition Documentation

◆ COMPLEX

#define COMPLEX

Definition at line 18 of file hcore_z.h.

Function Documentation

◆ HCORE_zgemm()

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 
)

Declarations of serial kernels - alphabetical order

Performs C = alpha A B + beta C

Definition at line 568 of file hcore_zgemm.c.

◆ HCORE_zgemm_fast()

void HCORE_zgemm_fast ( 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 
)

truncate according to rank

truncate according to acc

Definition at line 62 of file hcore_zgemm_fast.c.

◆ HCORE_zgemmbdcd()

void HCORE_zgemmbdcd ( MORSE_enum  transA,
MORSE_enum  transB,
int  M,
int  N,
double  alpha,
double *  AU,
double *  AV,
double *  Ark,
int  LDA,
double *  BD,
int  LDB,
double  beta,
double *  CD,
int  LDC,
double *  work 
)

Definition at line 34 of file hcore_zgemmbdcd.c.

◆ HCORE_zgytlr()

void HCORE_zgytlr ( int  m,
int  n,
double *  AU,
double *  AV,
double *  AD,
double *  Ark,
int  lda,
int  ldu,
int  ldv,
int  bigM,
int  m0,
int  n0,
unsigned long long int  seed,
int  maxrank,
double  tol,
int  compress_diag,
double *  Dense 
)

Definition at line 51 of file hcore_zgytlr.c.

◆ HCORE_zhagdm()

void HCORE_zhagdm ( int  nrows_Dense,
int  ncols_Dense,
double *  Dense,
int  ld_Dense,
int  tile_row_index,
int  tile_col_index 
)

Definition at line 37 of file hcore_zhagdm.c.

◆ HCORE_zhagcm()

void HCORE_zhagcm ( int  m,
int  n,
double *  AU,
double *  AV,
double *  Ark,
int  ldu,
int  ldv,
int  tile_row_index,
int  tile_column_index,
int  maxrank,
double  tol 
)

Definition at line 37 of file hcore_zhagcm.c.

◆ HCORE_zsyrk()

void HCORE_zsyrk ( MORSE_enum  uplo,
MORSE_enum  trans,
int  N,
int  K,
double  alpha,
const double *  AU,
int  LDAU,
const double *  AV,
int  LDAV,
double  beta,
double *  CD,
int  LDCD,
double *  work 
)

C = C + alpha * A * A' C = C + alpha * ( (A^u * (A^v * A^v^T) ) * A^u^T) A^v * B^v^T

A^u * (A^v * B^v^T)

(A^u * (A^v * B^v^T) ) * B^u^T

Definition at line 45 of file hcore_zsyrk.c.

◆ HCORE_zuncompress()

void HCORE_zuncompress ( MORSE_enum  transA,
MORSE_enum  transB,
int  M,
int  N,
double  alpha,
double *  AU,
double *  Ark,
int  LDA,
double *  BV,
double *  Brk,
int  LDB,
double  beta,
double *  CD,
int  LDC 
)

Definition at line 34 of file hcore_zuncompress.c.