Mentions légales du service

Skip to content
Snippets Groups Projects
Commit abf1d506 authored by BOUCHERIE Raphael's avatar BOUCHERIE Raphael
Browse files

fixed issue with zunmlq

parent 5c6df2e2
No related branches found
No related tags found
1 merge request!47Integration of hierarchicah householder reduction trees
...@@ -16,17 +16,10 @@ ...@@ -16,17 +16,10 @@
* MORSE is a software package provided by Univ. of Tennessee, * MORSE is a software package provided by Univ. of Tennessee,
* Univ. of California Berkeley and Univ. of Colorado Denver * Univ. of California Berkeley and Univ. of Colorado Denver
* *
* @version 2.5.0 * @version 1.0.0
* @comment This file has been automatically generated
* from Plasma 2.5.0 for MORSE 1.0.0
* @author Hatem Ltaief
* @author Jakub Kurzak
* @author Azzam Haidar
* @author Mathieu Faverge * @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @author Raphael Boucherie * @author Raphael Boucherie
* @date 2010-11-15 * @date 2017-05-17
* @precisions normal z -> s d c * @precisions normal z -> s d c
* *
**/ **/
...@@ -57,7 +50,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ...@@ -57,7 +50,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
MORSE_desc_t *D = NULL; MORSE_desc_t *D = NULL;
int k, m, n, i, p; int k, m, n, i, p;
int ldam, ldan, ldbm, ldak, ldbp; int ldan, ldam, ldbm, ldbn, ldak, ldbp;
int tempnn, tempkmin, tempmm, tempkn, tempkm; int tempnn, tempkmin, tempmm, tempkn, tempkm;
int ib, K; int ib, K;
int *tiles; int *tiles;
...@@ -100,7 +93,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ...@@ -100,7 +93,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
/* necessary to avoid dependencies between tasks regarding the diag tile */ /* necessary to avoid dependencies between tasks regarding the diag tile */
#if defined(CHAMELEON_COPY_DIAG) #if defined(CHAMELEON_COPY_DIAG)
D = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t)); D = (MORSE_desc_t*)malloc(sizeof(MORSE_desc_t));
morse_zdesc_alloc_diag(*D, A->mb, A->nb, K*A->nb, A->nb, 0, 0, K*A->nb, A->nb, A->p, A->q); morse_zdesc_alloc_diag(*D, A->mb, A->nb, K*A->mb, A->nb, 0, 0, K*A->mb, A->nb, A->p, A->q);
#endif #endif
if (side == MorseLeft ) { if (side == MorseLeft ) {
...@@ -114,34 +107,34 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ...@@ -114,34 +107,34 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb; tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k); ldak = BLKLDD(A, k);
for (i = 0; i < qrtree->getnbgeqrf(qrtree, k); i++) { for (i = 0; i < qrtree->getnbgeqrf(qrtree, k); i++) {
m = qrtree->getm(qrtree, k, i); n = qrtree->getm(qrtree, k, i);
tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb;
tempkmin = chameleon_min(tempmm, tempkm); ldbn = BLKLDD(B, n);
ldbm = BLKLDD(B, m); tempkmin = chameleon_min(tempnn, tempkm);
#if defined(CHAMELEON_COPY_DIAG) #if defined(CHAMELEON_COPY_DIAG)
MORSE_TASK_zlacpy( MORSE_TASK_zlacpy(
&options, &options,
MorseUpper, tempkmin, tempmm, A->nb, MorseUpper, tempkmin, tempnn, A->nb,
A(k, m), ldak, A(k, n), ldak,
D(k, m), ldak ); D(k, n), ldak );
#if defined(CHAMELEON_USE_CUDA) #if defined(CHAMELEON_USE_CUDA)
MORSE_TASK_zlaset( MORSE_TASK_zlaset(
&options, &options,
MorseLower, tempmm, tempkmin, MorseLower, tempkmin, tempnn,
0., 1., 0., 1.,
D(k, m), ldak ); D(k, n), ldak );
#endif #endif
#endif #endif
for (n = 0; n < B->nt; n++) { for (m = 0; m < B->nt; m++) {
tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; tempmm = m == B->nt-1 ? B->n-n*B->nb : B->nb;
MORSE_TASK_zunmlq( MORSE_TASK_zunmlq(
&options, &options,
side, trans, side, trans,
tempmm, tempnn, tempkmin, ib, TS->nb, tempnn, tempmm, tempkmin, ib, TS->nb,
D( k, m), ldak, D( k, n), ldak,
TS(k, m), TS->mb, TS(k, n), TS->mb,
B( m, n), ldbm); B( n, m), ldbn);
} }
} }
/* Setting the order of the tiles*/ /* Setting the order of the tiles*/
...@@ -164,7 +157,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ...@@ -164,7 +157,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
&options, &options,
side, trans, side, trans,
B->nb, tempnn, tempmm, tempnn, tempkm, ib, TS->nb, B->nb, tempnn, tempmm, tempnn, tempkm, ib, TS->nb,
B( m, p), ldbp, B( m, p), ldbm,
B( m, n), ldbm, B( m, n), ldbm,
A( k, n), ldak, A( k, n), ldak,
TS(k, n), TS->mb); TS(k, n), TS->mb);
...@@ -177,11 +170,11 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ...@@ -177,11 +170,11 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree,
MORSE_TASK_zttmlq( MORSE_TASK_zttmlq(
&options, &options,
side, trans, side, trans,
B->mb, tempnn, tempmm, tempnn, tempkn, ib, TT->mb, tempmm, B->nb, tempmm, tempnn, tempkn, ib, TT->mb,
B( m, p), ldbm, B( m, p), ldbm,
B( m, n), ldbm, B( m, n), ldbm,
A( k, n), ldak, A( k, m), ldak,
TT(k, n), TT->mb); TT(k, m), TT->mb);
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment