43 #include "control/common.h" 83 int rk,
int maxrk,
double acc
86 MORSE_context_t *morse;
87 MORSE_sequence_t *sequence = NULL;
88 MORSE_request_t request = MORSE_REQUEST_INITIALIZER;
91 morse = morse_context_self();
93 morse_fatal_error(
"HICMA_zpotrf_Tile",
"MORSE not initialized");
94 return MORSE_ERR_NOT_INITIALIZED;
96 morse_sequence_create(morse, &sequence);
102 MORSE_Desc_Flush( AD, sequence );
103 MORSE_Desc_Flush(
AUV, sequence );
104 MORSE_Desc_Flush( Ark, sequence );
105 morse_sequence_wait(morse, sequence);
110 status = sequence->status;
111 morse_sequence_destroy(morse, sequence);
136 int rk,
int maxrk,
double acc,
137 MORSE_sequence_t *sequence, MORSE_request_t *request
140 MORSE_context_t *morse;
142 morse = morse_context_self();
144 morse_fatal_error(
"HICMA_zpotrf_Tile_Async",
"MORSE not initialized");
145 return MORSE_ERR_NOT_INITIALIZED;
147 if (sequence == NULL) {
148 morse_fatal_error(
"HICMA_zpotrf_Tile_Async",
"NULL sequence");
149 return MORSE_ERR_UNALLOCATED;
151 if (request == NULL) {
152 morse_fatal_error(
"HICMA_zpotrf_Tile_Async",
"NULL request");
153 return MORSE_ERR_UNALLOCATED;
156 if (sequence->status == MORSE_SUCCESS)
157 request->status = MORSE_SUCCESS;
159 return morse_request_fail(sequence, request, MORSE_ERR_SEQUENCE_FLUSHED);
163 (morse_desc_check(
AUV) != MORSE_SUCCESS)
164 || (morse_desc_check(AD) != MORSE_SUCCESS)
165 || (morse_desc_check(Ark) != MORSE_SUCCESS)
167 morse_error(
"HICMA_zpotrf_Tile_Async",
"invalid descriptor");
168 return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE);
171 if (AD->nb != AD->mb) {
172 morse_error(
"HICMA_zpotrf_Tile_Async",
"only square tiles supported");
173 return morse_request_fail(sequence, request, MORSE_ERR_ILLEGAL_VALUE);
175 if (
uplo != MorseUpper &&
uplo != MorseLower) {
176 morse_error(
"HICMA_zpotrf_Tile_Async",
"illegal value of uplo");
177 return morse_request_fail(sequence, request, -1);
189 return MORSE_SUCCESS;
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)
void hicma_pzpotrf(MORSE_enum uplo, MORSE_desc_t *AUV, MORSE_desc_t *AD, MORSE_desc_t *Ark, MORSE_sequence_t *sequence, MORSE_request_t *request, int rk, int maxrk, double acc)
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)