Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 1a7a2139 authored by MIJIEUX Thomas's avatar MIJIEUX Thomas
Browse files

Fix tile2lapack parameters

parent e73ebd4f
No related branches found
No related tags found
1 merge request!48Fix #30. Incorrect descriptor initialization for Lapack matrix.
...@@ -38,8 +38,7 @@ void morse_pzlapack_to_tile(MORSE_Complex64_t *Af77, int lda, MORSE_desc_t *dA, ...@@ -38,8 +38,7 @@ void morse_pzlapack_to_tile(MORSE_Complex64_t *Af77, int lda, MORSE_desc_t *dA,
MORSE_context_t *morse; MORSE_context_t *morse;
MORSE_option_t options; MORSE_option_t options;
MORSE_desc_t dB; MORSE_desc_t dB;
int X1, Y1; int X, Y;
int X2, Y2;
int n, m, ldt; int n, m, ldt;
morse = morse_context_self(); morse = morse_context_self();
...@@ -60,18 +59,15 @@ void morse_pzlapack_to_tile(MORSE_Complex64_t *Af77, int lda, MORSE_desc_t *dA, ...@@ -60,18 +59,15 @@ void morse_pzlapack_to_tile(MORSE_Complex64_t *Af77, int lda, MORSE_desc_t *dA,
for (m = 0; m < dA->mt; m++) for (m = 0; m < dA->mt; m++)
{ {
Y = m == dA->mt-1 ? dA->m-m*dA->mb : dA->mb;
ldt = BLKLDD(dA, m); ldt = BLKLDD(dA, m);
for (n = 0; n < dA->nt; n++) for (n = 0; n < dA->nt; n++)
{ {
X1 = n == 0 ? dA->j%dA->nb : 0; X = n == dA->nt-1 ? dA->n-n*dA->nb : dA->nb;
Y1 = m == 0 ? dA->i%dA->mb : 0;
X2 = n == dA->nt-1 ? (dA->j+dA->n-1)%dA->nb+1 : dA->nb;
Y2 = m == dA->mt-1 ? (dA->i+dA->m-1)%dA->mb+1 : dA->mb;
MORSE_TASK_zlacpy( MORSE_TASK_zlacpy(
&options, &options,
MorseUpperLower, MorseUpperLower,
(Y2-Y1), (X2-X1), dA->mb, Y, X, dA->mb,
B(m, n), lda, B(m, n), lda,
A(m, n), ldt); A(m, n), ldt);
} }
...@@ -93,8 +89,7 @@ void morse_pztile_to_lapack(MORSE_desc_t *dA, MORSE_Complex64_t *Af77, int lda, ...@@ -93,8 +89,7 @@ void morse_pztile_to_lapack(MORSE_desc_t *dA, MORSE_Complex64_t *Af77, int lda,
MORSE_context_t *morse; MORSE_context_t *morse;
MORSE_option_t options; MORSE_option_t options;
MORSE_desc_t dB; MORSE_desc_t dB;
int X1, Y1; int X, Y;
int X2, Y2;
int n, m, ldt; int n, m, ldt;
morse = morse_context_self(); morse = morse_context_self();
...@@ -115,19 +110,15 @@ void morse_pztile_to_lapack(MORSE_desc_t *dA, MORSE_Complex64_t *Af77, int lda, ...@@ -115,19 +110,15 @@ void morse_pztile_to_lapack(MORSE_desc_t *dA, MORSE_Complex64_t *Af77, int lda,
for (m = 0; m < dA->mt; m++) for (m = 0; m < dA->mt; m++)
{ {
Y1 = m == 0 ? dA->i%dA->mb : 0; Y = m == dA->mt-1 ? dA->m-m*dA->mb : dA->mb;
Y2 = m == dA->mt-1 ? (dA->i+dA->m-1)%dA->mb+1 : dA->mb;
ldt = BLKLDD(dA, m); ldt = BLKLDD(dA, m);
for (n = 0; n < dA->nt; n++) for (n = 0; n < dA->nt; n++)
{ {
X1 = n == 0 ? dA->j%dA->nb : 0; X = n == dA->nt-1 ? dA->n-n*dA->nb : dA->nb;
X2 = n == dA->nt-1 ? (dA->j+dA->n-1)%dA->nb+1 : dA->nb;
MORSE_TASK_zlacpy( MORSE_TASK_zlacpy(
&options, &options,
MorseUpperLower, MorseUpperLower,
(Y2-Y1), (X2-X1), dA->mb, Y, X, dA->mb,
A(m, n), ldt, A(m, n), ldt,
B(m, n), lda); B(m, n), lda);
} }
...@@ -148,8 +139,7 @@ void morse_pztile_zero(MORSE_desc_t *dA, MORSE_sequence_t *sequence, MORSE_reque ...@@ -148,8 +139,7 @@ void morse_pztile_zero(MORSE_desc_t *dA, MORSE_sequence_t *sequence, MORSE_reque
{ {
MORSE_context_t *morse; MORSE_context_t *morse;
MORSE_option_t options; MORSE_option_t options;
int X1, Y1; int X, Y;
int X2, Y2;
int n, m, ldt; int n, m, ldt;
morse = morse_context_self(); morse = morse_context_self();
...@@ -159,17 +149,14 @@ void morse_pztile_zero(MORSE_desc_t *dA, MORSE_sequence_t *sequence, MORSE_reque ...@@ -159,17 +149,14 @@ void morse_pztile_zero(MORSE_desc_t *dA, MORSE_sequence_t *sequence, MORSE_reque
for (m = 0; m < dA->mt; m++) for (m = 0; m < dA->mt; m++)
{ {
Y1 = m == 0 ? dA->i%dA->mb : 0; Y = m == dA->mt-1 ? dA->m-m*dA->mb : dA->mb;
Y2 = m == dA->mt-1 ? (dA->i+dA->m-1)%dA->mb+1 : dA->mb;
ldt = BLKLDD(dA, m); ldt = BLKLDD(dA, m);
for (n = 0; n < dA->nt; n++) for (n = 0; n < dA->nt; n++)
{ {
X1 = n == 0 ? dA->j%dA->nb : 0; X = n == dA->nt-1 ? dA->n-n*dA->nb : dA->nb;
X2 = n == dA->nt-1 ? (dA->j+dA->n-1)%dA->nb+1 : dA->nb;
MORSE_TASK_ztile_zero( MORSE_TASK_ztile_zero(
&options, &options,
X1, X2, Y1, Y2, 0, X, 0, Y,
A(m, n), ldt); A(m, n), ldt);
} }
} }
......
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