From 89132a676d50965f689103c0517341563e7e2f88 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Fri, 9 Feb 2018 22:17:34 +0100
Subject: [PATCH] Fix IPIV in codelet, It is not a scratch but a value

---
 runtime/parsec/codelets/codelet_zgessm.c        | 4 +++-
 runtime/parsec/codelets/codelet_zgetrf_incpiv.c | 3 ++-
 runtime/parsec/codelets/codelet_zssssm.c        | 6 ++++--
 runtime/parsec/codelets/codelet_ztstrf.c        | 6 ++++--
 4 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/runtime/parsec/codelets/codelet_zgessm.c b/runtime/parsec/codelets/codelet_zgessm.c
index ebcf7b6c3..5e3804563 100644
--- a/runtime/parsec/codelets/codelet_zgessm.c
+++ b/runtime/parsec/codelets/codelet_zgessm.c
@@ -104,7 +104,7 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options,
         sizeof(int),           &n,                                VALUE,
         sizeof(int),           &k,                                VALUE,
         sizeof(int),           &ib,                               VALUE,
-        sizeof(int)*nb,        IPIV,                              SCRATCH,
+        sizeof(int*),          &IPIV,                             VALUE,
         PASSED_BY_REF,         RTBLKADDR( L, MORSE_Complex64_t, Lm, Ln ),     INPUT,
         sizeof(int),           &ldl,                              VALUE,
         PASSED_BY_REF,         RTBLKADDR( D, MORSE_Complex64_t, Dm, Dn ),     INPUT,
@@ -112,4 +112,6 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),           &lda,                              VALUE,
         PARSEC_DTD_ARG_END );
+
+    (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
index 38b340589..24e4d39f3 100644
--- a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
+++ b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
@@ -114,7 +114,7 @@ void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options,
         sizeof(int),           &ib,                               VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),           &lda,                              VALUE,
-        sizeof(int)*nb,        IPIV,                              SCRATCH,
+        sizeof(int*),          &IPIV,                             VALUE,
         sizeof(int),           &check_info,                       VALUE,
         sizeof(int),           &iinfo,                            VALUE,
         PARSEC_DTD_ARG_END );
@@ -123,4 +123,5 @@ void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options,
     (void)Lm;
     (void)Ln;
     (void)ldl;
+    (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zssssm.c b/runtime/parsec/codelets/codelet_zssssm.c
index be3193ae6..5dc14b983 100644
--- a/runtime/parsec/codelets/codelet_zssssm.c
+++ b/runtime/parsec/codelets/codelet_zssssm.c
@@ -41,7 +41,7 @@ CORE_zssssm_parsec( parsec_execution_stream_t *context,
     int *IPIV;
 
     parsec_dtd_unpack_args(
-        this_task,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &L1,   &ldl1, &L2,   &ldl2, &IPIV );
+        this_task, &m1, &n1, &m2, &n2, &k, &ib, &A1, &lda1, &A2, &lda2, &L1, &ldl1, &L2, &ldl2, &IPIV );
 
     CORE_zssssm( m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, L1, ldl1, L2, ldl2, IPIV );
 
@@ -75,6 +75,8 @@ void MORSE_TASK_zssssm(const MORSE_option_t *options,
         sizeof(int),           &ldl1,                              VALUE,
         PASSED_BY_REF,         RTBLKADDR( L2, MORSE_Complex64_t, L2m, L2n ),     INPUT,
         sizeof(int),           &ldl2,                              VALUE,
-        sizeof(int)*nb,        IPIV,                               SCRATCH,
+        sizeof(int*),          &IPIV,                              VALUE,
         PARSEC_DTD_ARG_END );
+
+    (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztstrf.c b/runtime/parsec/codelets/codelet_ztstrf.c
index cc52a1203..d5434de94 100644
--- a/runtime/parsec/codelets/codelet_ztstrf.c
+++ b/runtime/parsec/codelets/codelet_ztstrf.c
@@ -43,7 +43,7 @@ CORE_ztstrf_parsec( parsec_execution_stream_t *context,
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,   &m,   &n,   &ib,   &nb, &U,   &ldu, &A,   &lda, &L,   &ldl, &IPIV, &WORK,   &ldwork,   &check_info,   &iinfo );
+        this_task, &m, &n, &ib, &nb, &U, &ldu, &A, &lda, &L, &ldl, &IPIV, &WORK, &ldwork, &check_info, &iinfo );
 
     CORE_ztstrf( m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, &info );
 
@@ -73,10 +73,12 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options,
         sizeof(int),           &lda,                              VALUE,
         PASSED_BY_REF,         RTBLKADDR( L, MORSE_Complex64_t, Lm, Ln ),     OUTPUT,
         sizeof(int),           &ldl,                              VALUE,
-        sizeof(int)*nb,        IPIV,                              SCRATCH,
+        sizeof(int*),          &IPIV,                             VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,                 SCRATCH,
         sizeof(int),           &nb,                               VALUE,
         sizeof(int),           &check_info,                       VALUE,
         sizeof(int),           &iinfo,                            VALUE,
         PARSEC_DTD_ARG_END );
+
+    (void)nb;
 }
-- 
GitLab