PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
compute_z.h
Go to the documentation of this file.
1 
17 /***************************************************************************/
20 #define plasma_zdesc_alloc( descA, mb, nb, lm, ln, i, j, m, n, free) \
21  descA = plasma_desc_init( \
22  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
23  (m), (n), (i), (j), (m), (n)); \
24  if ( plasma_desc_mat_alloc( &(descA) ) ) { \
25  plasma_error( __func__, "plasma_shared_alloc() failed"); \
26  {free;}; \
27  return PLASMA_ERR_OUT_OF_RESOURCES; \
28  }
29 
30 #define plasma_zooplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n, free) \
31  descA = plasma_desc_init( \
32  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
33  (lm), (ln), (i), (j), (m), (n)); \
34  if ( plasma_desc_mat_alloc( &(descA) ) ) { \
35  plasma_error( __func__, "plasma_shared_alloc() failed"); \
36  {free;}; \
37  return PLASMA_ERR_OUT_OF_RESOURCES; \
38  } \
39  plasma_parallel_call_5( \
40  plasma_pzlapack_to_tile, \
41  PLASMA_Complex64_t*, (A), \
42  int, (lm), \
43  PLASMA_desc, (descA), \
44  PLASMA_sequence*, sequence, \
45  PLASMA_request*, &request);
46 
47 #define plasma_ziplap2tile( descA, A, mb, nb, lm, ln, i, j, m, n) \
48  descA = plasma_desc_init( \
49  PlasmaComplexDouble, (mb), (nb), ((mb)*(nb)), \
50  (lm), (ln), (i), (j), (m), (n)); \
51  descA.mat = A; \
52  PLASMA_zgecfi_Async((lm), (ln), (A), PlasmaCM, (mb), (nb), \
53  PlasmaCCRB, (mb), (nb), sequence, &request);
54 
55 
56 
57 #define plasma_zooptile2lap( descA, A, mb, nb, lm, ln) \
58  plasma_parallel_call_5(plasma_pztile_to_lapack, \
59  PLASMA_desc, (descA), \
60  PLASMA_Complex64_t*, (A), \
61  int, (lm), \
62  PLASMA_sequence*, sequence, \
63  PLASMA_request*, &request);
64 
65 #define plasma_ziptile2lap( descA, A, mb, nb, lm, ln) \
66  PLASMA_zgecfi_Async((lm), (ln), (A), PlasmaCCRB, (mb), (nb), \
67  PlasmaCM, (mb), (nb), sequence, &request);
68 
69 /***************************************************************************/
79 #ifdef COMPLEX
83 #endif
87 #ifdef COMPLEX
89 #endif
110 
111 /***************************************************************************/
115  int nprob, int me, int ne, int L,
116  PLASMA_sequence *sequence, PLASMA_request *request);
117 
118 /***************************************************************************/
134 void plasma_pzgetmi2_quark(PLASMA_enum idep, PLASMA_enum odep, PLASMA_enum storev, int m, int n, int mb, int nb, PLASMA_Complex64_t *A, PLASMA_sequence *sequence, PLASMA_request *request);
139 #ifdef COMPLEX
141 void plasma_pzherk_quark(PLASMA_enum uplo, PLASMA_enum trans, double alpha, PLASMA_desc A, double beta, PLASMA_desc C, PLASMA_sequence *sequence, PLASMA_request *request);
143 #endif
145 void plasma_pzgbrdb_quark(PLASMA_enum uplo, PLASMA_desc A, double *D, double *E, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
146 void plasma_pzhbrdt_quark(PLASMA_enum uplo, PLASMA_desc A, double *D, double *E, PLASMA_desc T, PLASMA_sequence *sequence, PLASMA_request *request);
149 void plasma_pzlange_quark(PLASMA_enum norm, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
150 #ifdef COMPLEX
151 void plasma_pzlanhe_quark(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
152 #endif
153 void plasma_pzlansy_quark(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_desc A, double *work, double *result, PLASMA_sequence *sequence, PLASMA_request *request);
156 void plasma_pzlaswp_quark(PLASMA_desc B, int *IPIV, int inc, PLASMA_sequence *sequence, PLASMA_request *request);
157 void plasma_pzlaswpc_quark(PLASMA_desc B, int *IPIV, int inc, PLASMA_sequence *sequence, PLASMA_request *request);
159 void plasma_pzplghe_quark(double bump, PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request);
160 void plasma_pzplgsy_quark(PLASMA_Complex64_t bump, PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
161 void plasma_pzplrnt_quark(PLASMA_desc A, unsigned long long int seed, PLASMA_sequence *sequence, PLASMA_request *request );
163 void plasma_pzshift_quark(int, int, int, PLASMA_Complex64_t *, int *, int, int, PLASMA_sequence*, PLASMA_request*);