HiCMA
Hierarchical Computations on Manycore Architectures
testing_zauxiliary.h File Reference

Go to the source code of this file.

Macros

#define USAGE(name, args, details)
 
#define max(a, b)   ((a) > (b) ? (a) : (b))
 
#define min(a, b)   ((a) < (b) ? (a) : (b))
 

Functions

int map_CM (int m, int n, int mb, int nb, int i, int j)
 
int map_CCRB (int m, int n, int mb, int nb, int i, int j)
 
int map_CRRB (int m, int n, int mb, int nb, int i, int j)
 
int map_RCRB (int m, int n, int mb, int nb, int i, int j)
 
int map_RRRB (int m, int n, int mb, int nb, int i, int j)
 
int map_RM (int m, int n, int mb, int nb, int i, int j)
 
int testing_dposv (int argc, char **argv)
 
int testing_dtrsmd (int argc, char **argv)
 

Variables

int IONE
 
int ISEED [4]
 
int format [6]
 
int trans [3]
 
int uplo [2]
 
int side [2]
 
int diag [2]
 
int itype [3]
 
int storev [2]
 
int norm [4]
 
char * formatstr [6]
 
char * transstr [3]
 
char * uplostr [2]
 
char * sidestr [2]
 
char * diagstr [2]
 
char * itypestr [3]
 
char * storevstr [2]
 
char * normstr [4]
 
int(* formatmap [6])(int, int, int, int, int, int)
 

Detailed Description

MORSE testing routines MORSE is a software package provided by Univ. of Tennessee, Univ. of California Berkeley and Univ. of Colorado Denver

Version
0.9.0
Author
Mathieu Faverge
Cédric Castagnède
Date
2018-11-08 normal z -> c d s

Definition in file testing_zauxiliary.h.

Macro Definition Documentation

◆ USAGE

#define USAGE (   name,
  args,
  details 
)
Value:
printf(" Proper Usage is : ./ztesting ncores ngpus " name " " args " with\n" \
" - ncores : number of cores \n" \
" - ngpus : number of GPUs\n" \
" - name : name of function to test\n" \
details);

Definition at line 31 of file testing_zauxiliary.h.

◆ max

#define max (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 44 of file testing_zauxiliary.h.

◆ min

#define min (   a,
 
)    ((a) < (b) ? (a) : (b))

Definition at line 47 of file testing_zauxiliary.h.

Function Documentation

◆ map_CM()

int map_CM ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 66 of file testing_zauxiliary.c.

◆ map_CCRB()

int map_CCRB ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 84 of file testing_zauxiliary.c.

◆ map_CRRB()

int map_CRRB ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 103 of file testing_zauxiliary.c.

◆ map_RCRB()

int map_RCRB ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 122 of file testing_zauxiliary.c.

◆ map_RRRB()

int map_RRRB ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 141 of file testing_zauxiliary.c.

◆ map_RM()

int map_RM ( int  m,
int  n,
int  mb,
int  nb,
int  i,
int  j 
)

Definition at line 75 of file testing_zauxiliary.c.

◆ testing_dposv()

int testing_dposv ( int  argc,
char **  argv 
)

This function shows matrix factorization and solve using TLR matrices.

Steps are as follows:

  1. Allocate structures for TLR matrix A











  2. Allocate rank matrix for A. Set off-diagonal elements to 0 and diagonal elements to NB since only diagonals are dense.










  3. Generate whole Dense Matrix descAdense for only checking purposes.









  4. Generate diagonal Dense Matrix descAD but put the tiles in a tall and skinny matrix.








  5. Generate Compressed Matrix descAUV.







  6. Check if there exists off diagonal dense blocks.






  7. Calculate number of tiles in column dimension of B via $ceil(NRHS*1.0/NB)$





  8. Generate whole Dense Matrix descBdense for only checking purposes.




  9. Generate Compressed Matrix descBUV.



  10. Check if there exists off diagonal dense blocks.


  11. Perform Cholesky factorization.

  12. Uncompress low rank tiles.
  13. Scatter dense tiles on to diagonal of dense matrix

Definition at line 228 of file testing_zposv.c.

◆ testing_dtrsmd()

int testing_dtrsmd ( int  argc,
char **  argv 
)

This function shows matrix factorization and solve using TLR and dense matrices. A is in TLR format. X/B is in dense format.

Steps are as follows:

  1. Allocate structures for TLR matrix A









  2. Allocate rank matrix for A. Set off-diagonal elements to 0 and diagonal elements to NB since only diagonals are dense.








  3. Generate whole Dense Matrix descAdense for only checking purposes.







  4. Generate diagonal Dense Matrix descAD but put the tiles in a tall and skinny matrix.






  5. Generate Compressed Matrix descAUV.





  6. Check if there exists off diagonal dense blocks.




  7. Calculate number of tiles in column dimension of B via $ceil(NRHS*1.0/NB)$



  8. Generate whole Dense Matrix descBdense for only checking purposes.


  9. Perform Cholesky factorization.

  10. Uncompress low rank tiles.
  11. Scatter dense tiles on to diagonal of dense matrix

Definition at line 215 of file testing_zposv.c.

Variable Documentation

◆ IONE

int IONE

Definition at line 42 of file testing_zauxiliary.c.

◆ ISEED

int ISEED[4]

Definition at line 84 of file timing.c.

◆ format

int format[6]

Definition at line 45 of file testing_zauxiliary.c.

◆ trans

int trans[3]

Definition at line 49 of file testing_zauxiliary.c.

◆ uplo

int uplo[2]

Definition at line 47 of file testing_zauxiliary.c.

◆ side

int side[2]

Definition at line 46 of file testing_zauxiliary.c.

◆ diag

int diag[2]

Definition at line 48 of file testing_zauxiliary.c.

◆ itype

int itype[3]

Definition at line 50 of file testing_zauxiliary.c.

◆ storev

int storev[2]

Definition at line 51 of file testing_zauxiliary.c.

◆ norm

int norm[4]

Definition at line 52 of file testing_zauxiliary.c.

◆ formatstr

char* formatstr[6]

Definition at line 54 of file testing_zauxiliary.c.

◆ transstr

char* transstr[3]

Definition at line 58 of file testing_zauxiliary.c.

◆ uplostr

char* uplostr[2]

Definition at line 56 of file testing_zauxiliary.c.

◆ sidestr

char* sidestr[2]

Definition at line 55 of file testing_zauxiliary.c.

◆ diagstr

char* diagstr[2]

Definition at line 57 of file testing_zauxiliary.c.

◆ itypestr

char* itypestr[3]

Definition at line 59 of file testing_zauxiliary.c.

◆ storevstr

char* storevstr[2]

Definition at line 60 of file testing_zauxiliary.c.

◆ normstr

char* normstr[4]

Definition at line 61 of file testing_zauxiliary.c.

◆ formatmap

int(* formatmap[6])(int, int, int, int, int, int)

Definition at line 160 of file testing_zauxiliary.c.