HiCMA
Hierarchical Computations on Manycore Architectures
hicma_z.h
Go to the documentation of this file.
1 
15 #ifndef _HICMA_Z_H_
16 #define _HICMA_Z_H_
17 
18 #undef REAL
19 #define COMPLEX
20 #include "morse.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 
27 //FIXME Naive interfaces taking only arrays are not implemented yet
28 int HICMA_zpotrf(MORSE_enum uplo, int N, double *A, int LDA);
29 int HICMA_zpotrf_Tile(MORSE_enum uplo,
30  MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark,
31  int rk, int maxrk, double acc
32  );
33 int HICMA_zpotrf_Tile_Async(MORSE_enum uplo,
34  MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark,
35  int rk, int maxrk, double acc,
36  MORSE_sequence_t *sequence, MORSE_request_t *request );
37 int HICMA_zgemm_Tile(MORSE_enum transA, MORSE_enum transB,
38  double alpha,
39  MORSE_desc_t *AUV, MORSE_desc_t *Ark,
40  MORSE_desc_t *BUV, MORSE_desc_t *Brk,
41  double beta,
42  MORSE_desc_t *CUV, MORSE_desc_t *Crk ,
43  int rk,
44  int maxrk,
45  double acc
46  );
47 int HICMA_zgemm_Tile_Async(MORSE_enum transA, MORSE_enum transB,
48  double alpha,
49  MORSE_desc_t *AUV, MORSE_desc_t *Ark,
50  MORSE_desc_t *BUV, MORSE_desc_t *Brk,
51  double beta,
52  MORSE_desc_t *CUV, MORSE_desc_t *Crk,
53  int rk,
54  int maxrk,
55  double acc ,
56  MORSE_sequence_t *sequence, MORSE_request_t *request);
57 int HICMA_zgytlr(
58  MORSE_enum uplo,
59  int M, int N,
60  double *AUV,
61  double *AD,
62  double *Ark,
63  int LDA, unsigned long long int seed,
64  int maxrank, double tol
65  );
67  MORSE_enum uplo,
68  MORSE_desc_t *AUV,
69  MORSE_desc_t *AD,
70  MORSE_desc_t *Ark,
71  unsigned long long int seed,
72  int maxrank,
73  double tol,
74  int compress_diag,
75  MORSE_desc_t *Dense
76  );
78  MORSE_enum uplo,
79  MORSE_desc_t *AUV,
80  MORSE_desc_t *AD,
81  MORSE_desc_t *Ark,
82  unsigned long long int seed,
83  int maxrank, double tol,
84  int compress_diag,
85  MORSE_desc_t *Dense,
86  MORSE_sequence_t *sequence, MORSE_request_t *request );
88  MORSE_enum uplo,
89  MORSE_desc_t *AUV,
90  MORSE_desc_t *Ark,
91  int numrows_matrix,
92  int numcols_matrix,
93  int numrows_block,
94  int numcols_block,
95  int maxrank,
96  double tol
97  );
99  MORSE_enum uplo,
100  MORSE_desc_t *AUV,
101  MORSE_desc_t *Ark,
102  int numrows_matrix,
103  int numcols_matrix,
104  int numrows_block,
105  int numcols_block,
106  int maxrank, double tol,
107  MORSE_sequence_t *sequence, MORSE_request_t *request );
109  MORSE_enum uplo,
110  MORSE_desc_t *Dense
111  );
113  MORSE_enum uplo,
114  MORSE_desc_t *Dense,
115  MORSE_sequence_t *sequence,
116  MORSE_request_t *request);
118  MORSE_enum uplo,
119  MORSE_desc_t *Dense
120  );
122  MORSE_enum uplo,
123  MORSE_desc_t *Dense,
124  MORSE_sequence_t *sequence,
125  MORSE_request_t *request);
126 int HICMA_ztrsm_Tile(MORSE_enum side, MORSE_enum uplo,
127  MORSE_enum transA, MORSE_enum diag,
128  double alpha,
129  MORSE_desc_t *AUV,
130  MORSE_desc_t *AD,
131  MORSE_desc_t *Ark,
132  MORSE_desc_t *BUV,
133  MORSE_desc_t *Brk,
134  int rk,
135  int maxrk,
136  double acc
137  );
138 int HICMA_ztrsm_Tile_Async(MORSE_enum side, MORSE_enum uplo,
139  MORSE_enum transA, MORSE_enum diag,
140  double alpha,
141  MORSE_desc_t *AUV,
142  MORSE_desc_t *AD,
143  MORSE_desc_t *Ark,
144  MORSE_desc_t *BUV,
145  MORSE_desc_t *Brk,
146  int rk,
147  int maxrk,
148  double acc,
149  MORSE_sequence_t *sequence, MORSE_request_t *request);
150 int HICMA_ztrsmd_Tile(MORSE_enum side, MORSE_enum uplo,
151  MORSE_enum transA, MORSE_enum diag,
152  double alpha,
153  MORSE_desc_t *AUV,
154  MORSE_desc_t *AD,
155  MORSE_desc_t *Ark,
156  MORSE_desc_t *Bdense,
157  int maxrk
158  );
159 int HICMA_ztrsmd_Tile_Async(MORSE_enum side, MORSE_enum uplo,
160  MORSE_enum transA, MORSE_enum diag,
161  double alpha,
162  MORSE_desc_t *AUV,
163  MORSE_desc_t *AD,
164  MORSE_desc_t *Ark,
165  MORSE_desc_t *Bdense,
166  int maxrk,
167  MORSE_sequence_t *sequence, MORSE_request_t *request);
168 #ifdef __cplusplus
169 }
170 #endif
171 
172 #undef COMPLEX
173 
174 #endif
int HICMA_zhagdmdiag_Tile(MORSE_enum uplo, MORSE_desc_t *Dense)
Definition: zhagdm.c:162
int HICMA_zhagdm_Tile(MORSE_enum uplo, MORSE_desc_t *Dense)
Definition: zhagdm.c:57
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)
Definition: ztrsm.c:366
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)
Definition: ztrsm.c:303
#define AUV(m, n)
Definition: pzgemm.c:60
int HICMA_zgytlr(MORSE_enum uplo, int M, int N, double *AUV, double *AD, double *Ark, int LDA, unsigned long long int seed, int maxrank, double tol)
#define A(m, n)
Definition: pzgemm.c:56
int HICMA_zpotrf_Tile(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, int rk, int maxrk, double acc)
Definition: zpotrf.c:79
#define BUV(m, n)
Definition: pzgemm.c:61
int side[2]
#define CUV(m, n)
Definition: pzgemm.c:62
int HICMA_zhagcm_Tile_Async(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *Ark, int numrows_matrix, int numcols_matrix, int numrows_block, int numcols_block, int maxrank, double tol, MORSE_sequence_t *sequence, MORSE_request_t *request)
Definition: zhagcm.c:149
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)
Definition: ztrsm.c:172
int HICMA_zgytlr_Tile_Async(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, unsigned long long int seed, int maxrank, double tol, int compress_diag, MORSE_desc_t *Dense, MORSE_sequence_t *sequence, MORSE_request_t *request)
Definition: zgytlr.c:155
int HICMA_zhagdmdiag_Tile_Async(MORSE_enum uplo, MORSE_desc_t *Dense, MORSE_sequence_t *sequence, MORSE_request_t *request)
Definition: zhagdm.c:207
int HICMA_zhagdm_Tile_Async(MORSE_enum uplo, MORSE_desc_t *Dense, MORSE_sequence_t *sequence, MORSE_request_t *request)
Definition: zhagdm.c:101
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)
Definition: ztrsm.c:104
int diag[2]
int HICMA_zgytlr_Tile(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, unsigned long long int seed, int maxrank, double tol, int compress_diag, MORSE_desc_t *Dense)
Definition: zgytlr.c:93
int HICMA_zpotrf(MORSE_enum uplo, int N, double *A, int LDA)
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)
Definition: zgemm.c:176
int uplo[2]
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)
Definition: zgemm.c:109
int HICMA_zhagcm_Tile(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *Ark, int numrows_matrix, int numcols_matrix, int numrows_block, int numcols_block, int maxrank, double tol)
Definition: zhagcm.c:92
int HICMA_zpotrf_Tile_Async(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, int rk, int maxrk, double acc, MORSE_sequence_t *sequence, MORSE_request_t *request)
Definition: zpotrf.c:132