From 95826f37f76e5a4682ca5424800cd05a6a3b7df1 Mon Sep 17 00:00:00 2001
From: Mathieu Faverge <mathieu.faverge@inria.fr>
Date: Thu, 25 Jan 2018 15:25:57 +0100
Subject: [PATCH] Update codelets to new PaRSEC DTD interface

---
 runtime/parsec/codelets/codelet_dataflush.c   | 47 ---------------
 runtime/parsec/codelets/codelet_zasum.c       | 25 +++-----
 runtime/parsec/codelets/codelet_zaxpy.c       | 24 +++-----
 runtime/parsec/codelets/codelet_zbuild.c      | 18 ++----
 runtime/parsec/codelets/codelet_zgeadd.c      | 31 ++++------
 runtime/parsec/codelets/codelet_zgelqt.c      | 27 +++------
 runtime/parsec/codelets/codelet_zgemm.c       | 57 +++++++-----------
 runtime/parsec/codelets/codelet_zgeqrt.c      | 27 +++------
 runtime/parsec/codelets/codelet_zgessm.c      | 36 ++++--------
 runtime/parsec/codelets/codelet_zgessq.c      | 21 +++----
 runtime/parsec/codelets/codelet_zgetrf.c      | 23 +++-----
 .../parsec/codelets/codelet_zgetrf_incpiv.c   | 30 ++++------
 .../parsec/codelets/codelet_zgetrf_nopiv.c    | 24 +++-----
 runtime/parsec/codelets/codelet_zhe2ge.c      | 25 +++-----
 runtime/parsec/codelets/codelet_zhemm.c       | 46 ++++++---------
 runtime/parsec/codelets/codelet_zher2k.c      | 44 +++++---------
 runtime/parsec/codelets/codelet_zherfb.c      | 43 +++++---------
 runtime/parsec/codelets/codelet_zherk.c       | 40 +++++--------
 runtime/parsec/codelets/codelet_zhessq.c      | 19 +++---
 runtime/parsec/codelets/codelet_zlacpy.c      | 31 ++++------
 runtime/parsec/codelets/codelet_zlag2c.c      | 44 +++++---------
 runtime/parsec/codelets/codelet_zlange.c      | 31 ++++------
 runtime/parsec/codelets/codelet_zlanhe.c      | 23 +++-----
 runtime/parsec/codelets/codelet_zlansy.c      | 23 +++-----
 runtime/parsec/codelets/codelet_zlantr.c      | 25 +++-----
 runtime/parsec/codelets/codelet_zlascal.c     | 24 +++-----
 runtime/parsec/codelets/codelet_zlaset.c      | 27 ++++-----
 runtime/parsec/codelets/codelet_zlaset2.c     | 30 ++++------
 runtime/parsec/codelets/codelet_zlatro.c      | 30 ++++------
 runtime/parsec/codelets/codelet_zlauum.c      | 18 +++---
 runtime/parsec/codelets/codelet_zpamm.c       | 45 +++++---------
 runtime/parsec/codelets/codelet_zplghe.c      | 33 ++++-------
 runtime/parsec/codelets/codelet_zplgsy.c      | 33 ++++-------
 runtime/parsec/codelets/codelet_zplrnt.c      | 30 ++++------
 runtime/parsec/codelets/codelet_zplssq.c      | 15 ++---
 runtime/parsec/codelets/codelet_zpotrf.c      | 22 +++----
 runtime/parsec/codelets/codelet_zssssm.c      | 43 +++++---------
 runtime/parsec/codelets/codelet_zsymm.c       | 44 +++++---------
 runtime/parsec/codelets/codelet_zsyr2k.c      | 44 +++++---------
 runtime/parsec/codelets/codelet_zsyrk.c       | 40 +++++--------
 runtime/parsec/codelets/codelet_zsyssq.c      | 19 +++---
 .../parsec/codelets/codelet_zsytrf_nopiv.c    | 21 +++----
 runtime/parsec/codelets/codelet_ztile_zero.c  | 28 ++++-----
 runtime/parsec/codelets/codelet_ztpmqrt.c     | 48 +++++----------
 runtime/parsec/codelets/codelet_ztpqrt.c      | 35 ++++-------
 runtime/parsec/codelets/codelet_ztradd.c      | 34 ++++-------
 runtime/parsec/codelets/codelet_ztrasm.c      | 28 ++++-----
 runtime/parsec/codelets/codelet_ztrmm.c       | 47 ++++++---------
 runtime/parsec/codelets/codelet_ztrsm.c       | 29 +++-------
 runtime/parsec/codelets/codelet_ztrssq.c      | 25 +++-----
 runtime/parsec/codelets/codelet_ztrtri.c      | 24 +++-----
 runtime/parsec/codelets/codelet_ztslqt.c      | 31 ++++------
 runtime/parsec/codelets/codelet_ztsmlq.c      | 54 ++++++-----------
 .../parsec/codelets/codelet_ztsmlq_hetra1.c   | 58 +++++++------------
 runtime/parsec/codelets/codelet_ztsmqr.c      | 54 ++++++-----------
 .../parsec/codelets/codelet_ztsmqr_hetra1.c   | 58 +++++++------------
 runtime/parsec/codelets/codelet_ztsqrt.c      | 31 ++++------
 runtime/parsec/codelets/codelet_ztstrf.c      | 41 +++++--------
 runtime/parsec/codelets/codelet_zttlqt.c      | 31 ++++------
 runtime/parsec/codelets/codelet_zttmlq.c      | 54 ++++++-----------
 runtime/parsec/codelets/codelet_zttmqr.c      | 54 ++++++-----------
 runtime/parsec/codelets/codelet_zttqrt.c      | 31 ++++------
 runtime/parsec/codelets/codelet_zunmlq.c      | 44 +++++---------
 runtime/parsec/codelets/codelet_zunmqr.c      | 44 +++++---------
 64 files changed, 756 insertions(+), 1429 deletions(-)
 delete mode 100644 runtime/parsec/codelets/codelet_dataflush.c

diff --git a/runtime/parsec/codelets/codelet_dataflush.c b/runtime/parsec/codelets/codelet_dataflush.c
deleted file mode 100644
index 6f14deb74..000000000
--- a/runtime/parsec/codelets/codelet_dataflush.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * @copyright (c) 2009-2015 The University of Tennessee and The University
- *                          of Tennessee Research Foundation.
- *                          All rights reserved.
- * @copyright (c) 2012-2015 Inria. All rights reserved.
- * @copyright (c) 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, Univ. Bordeaux. All rights reserved.
- *
- **/
-
-/**
- *
- *  MORSE codelets kernel
- *  MORSE is a software package provided by Univ. of Tennessee,
- *  Univ. of California Berkeley and Univ. of Colorado Denver
- *
- * @version 2.5.0
- * @author Reazul Hoque
- * @precisions normal z -> c d s
- *
- **/
-#include "chameleon_parsec.h"
-#include "chameleon/morse_tasks.h"
-
-void MORSE_TASK_flush_data( const MORSE_option_t *options,
-                            const MORSE_desc_t *A, int Am, int An )
-{
-    parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt);
-
-    parsec_dtd_data_flush( PARSEC_dtd_taskpool, RTBLKADDR( A, MORSE_Complex64_t, Am, An ) );
-}
-
-void MORSE_TASK_flush_desc( const MORSE_option_t *options,
-                            MORSE_enum uplo, const MORSE_desc_t *A )
-{
-    /* parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt); */
-
-    /* parsec_dtd_data_flush_all( PARSEC_dtd_taskpool, (parsec_data_collection_t*)(A->schedopt) ); */
-
-    (void)options;
-    (void)uplo;
-    (void)A;
-}
-
-void MORSE_TASK_flush_all()
-{
-}
diff --git a/runtime/parsec/codelets/codelet_zasum.c b/runtime/parsec/codelets/codelet_zasum.c
index c3e381f19..24a926f43 100644
--- a/runtime/parsec/codelets/codelet_zasum.c
+++ b/runtime/parsec/codelets/codelet_zasum.c
@@ -28,28 +28,21 @@ static inline int
 CORE_dzasum_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *storev;
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
+    MORSE_enum storev;
+    MORSE_enum uplo;
+    int M;
+    int N;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *work;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &storev,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &work );
+        this_task, &storev, &uplo, &M, &N, &A, &lda, &work );
 
-    CORE_dzasum(*storev, *uplo, *M, *N, A, *lda, work);
+    CORE_dzasum( storev, uplo, M, N, A, lda, work );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_dzasum(const MORSE_option_t *options,
@@ -68,5 +61,5 @@ void MORSE_TASK_dzasum(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INPUT,
         sizeof(int),           &lda,                              VALUE,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ),     INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zaxpy.c b/runtime/parsec/codelets/codelet_zaxpy.c
index 4b8725454..2c06d26f6 100644
--- a/runtime/parsec/codelets/codelet_zaxpy.c
+++ b/runtime/parsec/codelets/codelet_zaxpy.c
@@ -28,30 +28,24 @@ static inline int
 CORE_zaxpy_parsec( parsec_execution_stream_t *context,
                    parsec_task_t             *this_task )
 {
-    int *M;
-    MORSE_Complex64_t *alpha;
+    int M;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *incA;
+    int incA;
     MORSE_Complex64_t *B;
-    int *incB;
+    int incB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &incA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &incB );
+        this_task, &M, &alpha, &A, &incA, &B, &incB );
 
-    CORE_zaxpy(*M, *alpha, A, *incA, B, *incB);
+    CORE_zaxpy( M, alpha, A, incA, B, incB );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zaxpy(const MORSE_option_t *options,
-                      int M, MORSE_Complex64_t *alpha,
+                      int M, MORSE_Complex64_t alpha,
                       const MORSE_desc_t *A, int Am, int An, int incA,
                       const MORSE_desc_t *B, int Bm, int Bn, int incB)
 {
@@ -65,5 +59,5 @@ void MORSE_TASK_zaxpy(const MORSE_option_t *options,
         sizeof(int),               &incA, VALUE,
         PASSED_BY_REF,  RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT,
         sizeof(int),               &incB, VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zbuild.c b/runtime/parsec/codelets/codelet_zbuild.c
index af7271bc8..f0a3bbd1d 100644
--- a/runtime/parsec/codelets/codelet_zbuild.c
+++ b/runtime/parsec/codelets/codelet_zbuild.c
@@ -33,25 +33,17 @@ CORE_zbuild_parsec( parsec_execution_stream_t *context,
     MORSE_Complex64_t *A;
     int lda;
     void *user_data;
-    void (*user_build_callback)(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) ;
+    void (*user_build_callback)( int row_min, int row_max, int col_min, int col_max,
+                                 void *buffer, int ld, void *user_data );
     int row_min, row_max, col_min, col_max;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &row_min,
-        UNPACK_VALUE, &row_max,
-        UNPACK_VALUE, &col_min,
-        UNPACK_VALUE, &col_max,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &user_data,
-        UNPACK_VALUE, &user_build_callback );
+        this_task, &row_min, &row_max, &col_min, &col_max, &A, &lda, &user_data, &user_build_callback );
 
     user_build_callback(row_min, row_max, col_min, col_max, A, lda, user_data);
 
     (void)context;
-    (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zbuild( const MORSE_option_t *options,
@@ -75,5 +67,5 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options,
         sizeof(int),   &lda,                              VALUE,
         sizeof(void*), &user_data,                        VALUE,
         sizeof(void*), &user_build_callback,              VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgeadd.c b/runtime/parsec/codelets/codelet_zgeadd.c
index e5b59ed54..3e90e8ffb 100644
--- a/runtime/parsec/codelets/codelet_zgeadd.c
+++ b/runtime/parsec/codelets/codelet_zgeadd.c
@@ -33,32 +33,23 @@ static inline int
 CORE_zgeadd_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *trans;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum trans;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
-    MORSE_Complex64_t *beta;
+    int LDA;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB );
+        this_task, &trans, &M, &N, &alpha, &A, &LDA, &beta, &B, &LDB );
 
-    CORE_zgeadd(*trans, *M, *N, *alpha, A, *LDA, *beta, B, *LDB);
+    CORE_zgeadd( trans, M, N, alpha, A, LDA, beta, B, LDB );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 /**
@@ -133,7 +124,7 @@ void MORSE_TASK_zgeadd(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t), &beta,  VALUE,
         PASSED_BY_REF,              RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),     INOUT,
         sizeof(int),               &ldb,   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zgelqt.c b/runtime/parsec/codelets/codelet_zgelqt.c
index 16fe5e643..e827cca93 100644
--- a/runtime/parsec/codelets/codelet_zgelqt.c
+++ b/runtime/parsec/codelets/codelet_zgelqt.c
@@ -89,32 +89,23 @@ static inline int
 CORE_zgelqt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &T,
-        UNPACK_VALUE, &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task, &m, &n, &ib, &A, &lda, &T, &ldt, &TAU, &WORK );
 
-    CORE_zgelqt(*m, *n, *ib, A, *lda, T, *ldt, TAU, WORK);
+    CORE_zgelqt( m, n, ib, A, lda, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgelqt(const MORSE_option_t *options,
@@ -135,5 +126,5 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options,
         sizeof(int),           &ldt,                VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,   SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,   SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgemm.c b/runtime/parsec/codelets/codelet_zgemm.c
index b51074e05..18ae8cd7c 100644
--- a/runtime/parsec/codelets/codelet_zgemm.c
+++ b/runtime/parsec/codelets/codelet_zgemm.c
@@ -33,51 +33,38 @@ static inline int
 CORE_zgemm_parsec( parsec_execution_stream_t *context,
                    parsec_task_t             *this_task )
 {
-    MORSE_enum *transA;
-    MORSE_enum *transB;
-    int *m;
-    int *n;
-    int *k;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum transA;
+    MORSE_enum transB;
+    int m;
+    int n;
+    int k;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
-    MORSE_Complex64_t *beta;
+    int ldb;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &transA,
-        UNPACK_VALUE, &transB,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &ldb,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldc );
+        this_task, &transA, &transB, &m, &n, &k, &alpha, &A, &lda, &B, &ldb, &beta, &C, &ldc );
 
-    CORE_zgemm(*transA, *transB, *m, *n, *k,
-               *alpha, A, *lda,
-                       B, *ldb,
-               *beta,  C, *ldc);
+    CORE_zgemm( transA, transB, m, n, k,
+               alpha, A, lda,
+                      B, ldb,
+               beta,  C, ldc);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
-void MORSE_TASK_zgemm(const MORSE_option_t *options,
-                      MORSE_enum transA, int transB,
-                      int m, int n, int k, int nb,
-                      MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda,
+void MORSE_TASK_zgemm( const MORSE_option_t *options,
+                       MORSE_enum transA, int transB,
+                       int m, int n, int k, int nb,
+                       MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int lda,
                                                 const MORSE_desc_t *B, int Bm, int Bn, int ldb,
-                      MORSE_Complex64_t beta, const MORSE_desc_t *C, int Cm, int Cn, int ldc)
+                       MORSE_Complex64_t beta,  const MORSE_desc_t *C, int Cm, int Cn, int ldc )
 {
     parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt);
 
@@ -96,7 +83,7 @@ void MORSE_TASK_zgemm(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t),           &beta,               VALUE,
         PASSED_BY_REF,     RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT | morse_parsec_get_arena_index(C) | AFFINITY,
         sizeof(int),           &ldc,                              VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zgeqrt.c b/runtime/parsec/codelets/codelet_zgeqrt.c
index cea9b098f..f3881733d 100644
--- a/runtime/parsec/codelets/codelet_zgeqrt.c
+++ b/runtime/parsec/codelets/codelet_zgeqrt.c
@@ -90,32 +90,23 @@ static inline int
 CORE_zgeqrt_parsec ( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &T,
-        UNPACK_VALUE, &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task, &m, &n, &ib, &A, &lda, &T, &ldt, &TAU, &WORK );
 
-    CORE_zgeqrt(*m, *n, *ib, A, *lda, T, *ldt, TAU, WORK);
+    CORE_zgeqrt( m, n, ib, A, lda, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgeqrt(const MORSE_option_t *options,
@@ -136,5 +127,5 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options,
         sizeof(int),           &ldt,                           VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,              SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,              SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgessm.c b/runtime/parsec/codelets/codelet_zgessm.c
index 37d4dbf03..d7196b789 100644
--- a/runtime/parsec/codelets/codelet_zgessm.c
+++ b/runtime/parsec/codelets/codelet_zgessm.c
@@ -73,41 +73,29 @@ static inline int
 CORE_zgessm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *k;
-    int *ib;
+    int m;
+    int n;
+    int k;
+    int ib;
     int *IPIV;
     MORSE_Complex64_t *L;
-    int *ldl;
+    int ldl;
     MORSE_Complex64_t *D;
-    int *ldd;
+    int ldd;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &ib,
-        UNPACK_SCRATCH, &IPIV,
-        UNPACK_DATA,  &L,
-        UNPACK_VALUE, &ldl,
-        UNPACK_DATA,  &D,
-        UNPACK_VALUE, &ldd,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda );
+        this_task, &m, &n, &k, &ib, &IPIV, &L, &ldl, &D, &ldd, &A, &lda );
 
-    CORE_zgessm(*m, *n, *k, *ib, IPIV, D, *ldd, A, *lda);
+    CORE_zgessm( m, n, k, ib, IPIV, D, ldd, A, lda );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgessm(const MORSE_option_t *options,
-                       int m, int n, int k, int ib, int nb,
-                       int *IPIV,
+                       int m, int n, int k, int ib, int nb, int *IPIV,
                        const MORSE_desc_t *L, int Lm, int Ln, int ldl,
                        const MORSE_desc_t *D, int Dm, int Dn, int ldd,
                        const MORSE_desc_t *A, int Am, int An, int lda)
@@ -127,5 +115,5 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options,
         sizeof(int),           &ldd,                              VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),           &lda,                              VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgessq.c b/runtime/parsec/codelets/codelet_zgessq.c
index 2b1c91355..999adb365 100644
--- a/runtime/parsec/codelets/codelet_zgessq.c
+++ b/runtime/parsec/codelets/codelet_zgessq.c
@@ -28,24 +28,19 @@ static inline int
 CORE_zgessq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *SCALESUMSQ;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &SCALESUMSQ );
+        this_task, &m, &n, &A, &lda, &SCALESUMSQ );
 
-    CORE_zgessq( *m, *n, A, *lda, SCALESUMSQ, SCALESUMSQ+1);
+    CORE_zgessq( m, n, A, lda, SCALESUMSQ, SCALESUMSQ+1 );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgessq( const MORSE_option_t *options,
@@ -59,8 +54,8 @@ void MORSE_TASK_zgessq( const MORSE_option_t *options,
         PARSEC_dtd_taskpool, CORE_zgessq_parsec, options->priority, "gessq",
         sizeof(int),    &m,            VALUE,
         sizeof(int),    &n,            VALUE,
-        PASSED_BY_REF,   RTBLKADDR( A, MORSE_Complex64_t, Am, An ),                            INPUT,
+        PASSED_BY_REF,   RTBLKADDR( A, MORSE_Complex64_t, Am, An ),                 INPUT,
         sizeof(int),    &lda,          VALUE,
         PASSED_BY_REF,   RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ), INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgetrf.c b/runtime/parsec/codelets/codelet_zgetrf.c
index 077f6b6cd..d62a7c011 100644
--- a/runtime/parsec/codelets/codelet_zgetrf.c
+++ b/runtime/parsec/codelets/codelet_zgetrf.c
@@ -28,29 +28,22 @@ static inline int
 CORE_zgetrf_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     int *IPIV;
     MORSE_bool *check_info;
-    int *iinfo;
+    int iinfo;
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_SCRATCH, &IPIV,
-        UNPACK_VALUE, &check_info,
-        UNPACK_VALUE, &iinfo );
+        this_task, &m, &n, &A, &lda, &IPIV, &check_info, &iinfo );
 
-    CORE_zgetrf( *m, *n, A, *lda, IPIV, &info );
+    CORE_zgetrf( m, n, A, lda, IPIV, &info );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgetrf(const MORSE_option_t *options,
@@ -70,5 +63,5 @@ void MORSE_TASK_zgetrf(const MORSE_option_t *options,
         sizeof(int)*nb,      IPIV,                        SCRATCH,
         sizeof(MORSE_bool), &check_info,                 VALUE,
         sizeof(int),        &iinfo,                      VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
index afa9026ce..0f257167c 100644
--- a/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
+++ b/runtime/parsec/codelets/codelet_zgetrf_incpiv.c
@@ -29,7 +29,7 @@
  * @ingroup CORE_MORSE_Complex64_t
  *
  *  CORE_zgetrf_incpiv computes an LU factorization of a general M-by-N tile A
- *  using partial pivoting with row interchanges.
+ *  using partial pivoting with row int erchanges.
  *
  *  The factorization has the form
  *
@@ -62,7 +62,7 @@
  *
  * @param[out] IPIV
  *         The pivot indices; for 1 <= i <= min(M,N), row i of the
- *         tile was interchanged with row IPIV(i).
+ *         tile was int erchanged with row IPIV(i).
  *
  * @param[out] INFO
  *         See returned value.
@@ -82,32 +82,24 @@ static inline int
 CORE_zgetrf_incpiv_parsec( parsec_execution_stream_t *context,
                            parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     int *IPIV;
     MORSE_bool *check_info;
-    int *iinfo;
+    int iinfo;
 
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_SCRATCH, &IPIV,
-        UNPACK_VALUE, &check_info,
-        UNPACK_VALUE, &iinfo );
+        this_task, &m, &n, &ib, &A, &lda, &IPIV, &check_info, &iinfo );
 
-    CORE_zgetrf_incpiv(*m, *n, *ib, A, *lda, IPIV, &info);
+    CORE_zgetrf_incpiv( m, n, ib, A, lda, IPIV, &info );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options,
@@ -129,7 +121,7 @@ void MORSE_TASK_zgetrf_incpiv( const MORSE_option_t *options,
         sizeof(int)*nb,        IPIV,                              SCRATCH,
         sizeof(int),           &check_info,                       VALUE,
         sizeof(int),           &iinfo,                            VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)L;
     (void)Lm;
diff --git a/runtime/parsec/codelets/codelet_zgetrf_nopiv.c b/runtime/parsec/codelets/codelet_zgetrf_nopiv.c
index 837a5769b..9896dfc3c 100644
--- a/runtime/parsec/codelets/codelet_zgetrf_nopiv.c
+++ b/runtime/parsec/codelets/codelet_zgetrf_nopiv.c
@@ -75,27 +75,21 @@ static inline int
 CORE_zgetrf_nopiv_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
-    int *iinfo;
+    int lda;
+    int iinfo;
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &iinfo );
+        this_task, &m, &n, &ib, &A, &lda, &iinfo );
 
-    CORE_zgetrf_nopiv(*m, *n, *ib, A, *lda, &info);
+    CORE_zgetrf_nopiv( m, n, ib, A, lda, &info );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options,
@@ -113,7 +107,7 @@ void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),           &lda,                        VALUE,
         sizeof(int),           &iinfo,                      VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zhe2ge.c b/runtime/parsec/codelets/codelet_zhe2ge.c
index e6888e645..5b81955a5 100644
--- a/runtime/parsec/codelets/codelet_zhe2ge.c
+++ b/runtime/parsec/codelets/codelet_zhe2ge.c
@@ -33,28 +33,21 @@ static inline int
 CORE_zhe2ge_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
+    MORSE_enum uplo;
+    int M;
+    int N;
     const MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB);
+        this_task, &uplo, &M, &N, &A, &LDA, &B, &LDB);
 
-    CORE_zhe2ge(*uplo, *M, *N, A, *LDA, B, *LDB);
+    CORE_zhe2ge( uplo, M, N, A, LDA, B, LDB );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 
@@ -75,7 +68,7 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options,
         sizeof(int),        &lda,    VALUE,
         PASSED_BY_REF,       RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT,
         sizeof(int),        &ldb,    VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)mb;
 }
diff --git a/runtime/parsec/codelets/codelet_zhemm.c b/runtime/parsec/codelets/codelet_zhemm.c
index 624501f34..5e45bb6a5 100644
--- a/runtime/parsec/codelets/codelet_zhemm.c
+++ b/runtime/parsec/codelets/codelet_zhemm.c
@@ -31,43 +31,31 @@
  **/
 static inline int
 CORE_zhemm_parsec( parsec_execution_stream_t *context,
-                    parsec_task_t             *this_task )
+                   parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum side;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     MORSE_Complex64_t *B;
-    int *LDB;
-    MORSE_Complex64_t *beta;
+    int LDB;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *C;
-    int *LDC;
+    int LDC;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &side,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &LDC );
+        this_task, &side, &uplo, &M, &N, &alpha, &A, &LDA, &B, &LDB, &beta, &C, &LDC );
 
-    CORE_zhemm(*side, *uplo, *M, *N,
-               *alpha, A, *LDA,
-                       B, *LDB,
-               *beta,  C, *LDC);
+    CORE_zhemm( side, uplo, M, N,
+               alpha, A, LDA,
+                      B, LDB,
+               beta,  C, LDC);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zhemm(const MORSE_option_t *options,
@@ -93,7 +81,7 @@ void MORSE_TASK_zhemm(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t),         &beta,    VALUE,
         PASSED_BY_REF,         RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT,
         sizeof(int),           &ldc,                 VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zher2k.c b/runtime/parsec/codelets/codelet_zher2k.c
index 643578593..bfbbb681e 100644
--- a/runtime/parsec/codelets/codelet_zher2k.c
+++ b/runtime/parsec/codelets/codelet_zher2k.c
@@ -33,41 +33,29 @@ static inline int
 CORE_zher2k_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *n;
-    int *k;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int n;
+    int k;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
-    double *beta;
+    int ldb;
+    double beta;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &ldb,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldc );
+        this_task, &uplo, &trans, &n, &k, &alpha, &A, &lda, &B, &ldb, &beta, &C, &ldc );
 
-    CORE_zher2k(*uplo, *trans, *n, *k,
-                *alpha, A, *lda,
-                        B, *ldb,
-                *beta,  C, *ldc);
+    CORE_zher2k( uplo, trans, n, k,
+                alpha, A, lda,
+                       B, ldb,
+                beta,  C, ldc);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zher2k(const MORSE_option_t *options,
@@ -93,7 +81,7 @@ void MORSE_TASK_zher2k(const MORSE_option_t *options,
         sizeof(double),                     &beta,     VALUE,
         PASSED_BY_REF,         RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT | morse_parsec_get_arena_index(C) | AFFINITY,
         sizeof(int),                        &ldc,      VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zherfb.c b/runtime/parsec/codelets/codelet_zherfb.c
index 3828d4e09..c90a7bc85 100644
--- a/runtime/parsec/codelets/codelet_zherfb.c
+++ b/runtime/parsec/codelets/codelet_zherfb.c
@@ -30,42 +30,29 @@ static inline int
 CORE_zherfb_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *n;
-    int *k;
-    int *ib;
-    int *nb;
+    MORSE_enum uplo;
+    int n;
+    int k;
+    int ib;
+    int nb;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &uplo,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_VALUE,   &nb,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_DATA,    &C,
-        UNPACK_VALUE,   &ldc,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork);
+        this_task,   &uplo,   &n,   &k,   &ib,   &nb, &A,   &lda, &T,   &ldt, &C,   &ldc, &WORK,   &ldwork);
 
-    CORE_zherfb(*uplo, *n, *k, *ib, *nb,
-                A, *lda, T, *ldt,
-                C, *ldc, WORK, *ldwork);
+    CORE_zherfb( uplo, n, k, ib, nb,
+                A, lda, T, ldt,
+                C, ldc, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zherfb(const MORSE_option_t *options,
@@ -92,5 +79,5 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options,
         sizeof(int),        &ldc,  VALUE,
         sizeof(MORSE_Complex64_t)*2*nb*nb,  NULL, SCRATCH,
         sizeof(int),        &nb,   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zherk.c b/runtime/parsec/codelets/codelet_zherk.c
index 1f05559f9..7a0959d4e 100644
--- a/runtime/parsec/codelets/codelet_zherk.c
+++ b/runtime/parsec/codelets/codelet_zherk.c
@@ -32,38 +32,28 @@
 
 static inline int
 CORE_zherk_parsec( parsec_execution_stream_t *context,
-                    parsec_task_t             *this_task )
+                   parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *n;
-    int *k;
-    double *alpha;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int n;
+    int k;
+    double alpha;
     MORSE_Complex64_t *A;
-    int *lda;
-    double *beta;
+    int lda;
+    double beta;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldc );
+        this_task, &uplo, &trans, &n, &k, &alpha, &A, &lda, &beta, &C, &ldc );
 
-    CORE_zherk(*uplo, *trans, *n, *k,
-               *alpha, A, *lda,
-               *beta,  C, *ldc);
+    CORE_zherk( uplo, trans, n, k,
+                alpha, A, lda,
+                beta,  C, ldc);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zherk(const MORSE_option_t *options,
@@ -86,7 +76,7 @@ void MORSE_TASK_zherk(const MORSE_option_t *options,
         sizeof(double),        &beta,                             VALUE,
         PASSED_BY_REF,         RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT | morse_parsec_get_arena_index(C) | AFFINITY,
         sizeof(int),           &ldc,                              VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zhessq.c b/runtime/parsec/codelets/codelet_zhessq.c
index 81468fbb2..be38a4f67 100644
--- a/runtime/parsec/codelets/codelet_zhessq.c
+++ b/runtime/parsec/codelets/codelet_zhessq.c
@@ -28,24 +28,19 @@ static inline int
 CORE_zhessq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *n;
+    MORSE_enum uplo;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *SCALESUMSQ;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &SCALESUMSQ );
+        this_task, &uplo, &n, &A, &lda, &SCALESUMSQ );
 
-    CORE_zhessq( *uplo, *n, A, *lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
+    CORE_zhessq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zhessq( const MORSE_option_t *options,
@@ -62,5 +57,5 @@ void MORSE_TASK_zhessq( const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),                    INPUT,
         sizeof(int),           &lda,                VALUE,
         PASSED_BY_REF,         RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ),    INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zlacpy.c b/runtime/parsec/codelets/codelet_zlacpy.c
index dfe8f3526..702f414d9 100644
--- a/runtime/parsec/codelets/codelet_zlacpy.c
+++ b/runtime/parsec/codelets/codelet_zlacpy.c
@@ -33,32 +33,23 @@ static inline int
 CORE_zlacpyx_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    int *displA;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    int displA;
     MORSE_Complex64_t *A;
-    int *LDA;
-    int *displB;
+    int LDA;
+    int displB;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &displA,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_VALUE, &displB,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB );
+        this_task, &uplo, &M, &N, &displA, &A, &LDA, &displB, &B, &LDB );
 
-    CORE_zlacpy(*uplo, *M, *N, A + (*displA), *LDA, B + (*displB), *LDB);
+    CORE_zlacpy( uplo, M, N, A + (displA), LDA, B + (displB), LDB );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlacpyx( const MORSE_option_t *options,
@@ -80,7 +71,7 @@ void MORSE_TASK_zlacpyx( const MORSE_option_t *options,
         sizeof(int),           &displB,                    VALUE,
         PASSED_BY_REF,         RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),   OUTPUT,
         sizeof(int),           &ldb,                       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
     (void)nb;
 }
 
diff --git a/runtime/parsec/codelets/codelet_zlag2c.c b/runtime/parsec/codelets/codelet_zlag2c.c
index 791fba216..c6c0f3345 100644
--- a/runtime/parsec/codelets/codelet_zlag2c.c
+++ b/runtime/parsec/codelets/codelet_zlag2c.c
@@ -33,27 +33,21 @@ static inline int
 CORE_zlag2c_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex32_t *B;
-    int *ldb;
+    int ldb;
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &ldb );
+        this_task, &m, &n, &A, &lda, &B, &ldb );
 
-    CORE_zlag2c( *m, *n, A, *lda, B, *ldb);
+    CORE_zlag2c( m, n, A, lda, B, ldb );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlag2c(const MORSE_option_t *options,
@@ -70,7 +64,7 @@ void MORSE_TASK_zlag2c(const MORSE_option_t *options,
         sizeof(int),                        &lda,       VALUE,
         PASSED_BY_REF,         RTBLKADDR( B, MORSE_Complex32_t, Bm, Bn ),     OUTPUT,
         sizeof(int),                        &ldb,       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
 
 /***************************************************************************//**
@@ -81,26 +75,20 @@ void MORSE_TASK_zlag2c(const MORSE_option_t *options,
 static inline int
 CORE_clag2z_parsec(parsec_execution_stream_t *context, parsec_task_t *this_task)
 {
-    int *m;
-    int *n;
+    int m;
+    int n;
     MORSE_Complex32_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
+    int ldb;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &ldb );
+        this_task, &m, &n, &A, &lda, &B, &ldb );
 
-    CORE_clag2z( *m, *n, A, *lda, B, *ldb );
+    CORE_clag2z( m, n, A, lda, B, ldb );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_clag2z(const MORSE_option_t *options,
@@ -118,5 +106,5 @@ void MORSE_TASK_clag2z(const MORSE_option_t *options,
         sizeof(int),                        &lda,       VALUE,
         PASSED_BY_REF,         RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),     INOUT,
         sizeof(int),                        &ldb,       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zlange.c b/runtime/parsec/codelets/codelet_zlange.c
index c44d8e8f8..ef7df0b78 100644
--- a/runtime/parsec/codelets/codelet_zlange.c
+++ b/runtime/parsec/codelets/codelet_zlange.c
@@ -28,28 +28,21 @@ static inline int
 CORE_zlange_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *norm;
-    int *M;
-    int *N;
+    MORSE_enum norm;
+    int M;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     double *work;
     double *normA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &norm,
-        UNPACK_VALUE,   &M,
-        UNPACK_VALUE,   &N,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &LDA,
-        UNPACK_SCRATCH, &work,
-        UNPACK_DATA,    &normA );
+        this_task,   &norm,   &M,   &N, &A,   &LDA, &work, &normA );
 
-    CORE_zlange( *norm, *M, *N, A, *LDA, work, normA );
+    CORE_zlange( norm, M, N, A, LDA, work, normA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlange(const MORSE_option_t *options,
@@ -70,7 +63,7 @@ void MORSE_TASK_zlange(const MORSE_option_t *options,
         sizeof(int),                   &LDA,           VALUE,
         sizeof(double)*szeW,           NULL,           SCRATCH,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ),     OUTPUT,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)NB;
 }
@@ -84,15 +77,13 @@ CORE_zlange_max_parsec( parsec_execution_stream_t *context,
     double *normA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_DATA,  &A,
-        UNPACK_DATA,  &normA );
+        this_task, &A, &normA );
 
     if ( *A > *normA )
         *normA = *A;
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlange_max(const MORSE_option_t *options,
@@ -105,7 +96,7 @@ void MORSE_TASK_zlange_max(const MORSE_option_t *options,
         PARSEC_dtd_taskpool, CORE_zlange_max_parsec, options->priority, "lange_max",
         PASSED_BY_REF,         RTBLKADDR( A, double, Am, An ), INPUT,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ), OUTPUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
 
 #endif /* defined(PRECISION_d) || defined(PRECISION_s) */
diff --git a/runtime/parsec/codelets/codelet_zlanhe.c b/runtime/parsec/codelets/codelet_zlanhe.c
index fcd6a519d..58efac9fc 100644
--- a/runtime/parsec/codelets/codelet_zlanhe.c
+++ b/runtime/parsec/codelets/codelet_zlanhe.c
@@ -28,28 +28,21 @@ static inline int
 CORE_zlanhe_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *norm;
-    MORSE_enum *uplo;
-    int *N;
+    MORSE_enum norm;
+    MORSE_enum uplo;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     double *work;
     double *normA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &norm,
-        UNPACK_VALUE,   &uplo,
-        UNPACK_VALUE,   &N,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &LDA,
-        UNPACK_SCRATCH, &work,
-        UNPACK_DATA,    &normA );
+        this_task,   &norm,   &uplo,   &N, &A,   &LDA, &work, &normA );
 
-    CORE_zlanhe( *norm, *uplo, *N, A, *LDA, work, normA);
+    CORE_zlanhe( norm, uplo, N, A, LDA, work, normA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlanhe(const MORSE_option_t *options,
@@ -70,7 +63,7 @@ void MORSE_TASK_zlanhe(const MORSE_option_t *options,
         sizeof(int),                   &LDA,           VALUE,
         sizeof(double)*szeW,           NULL,           SCRATCH,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ),     OUTPUT,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)NB;
 }
diff --git a/runtime/parsec/codelets/codelet_zlansy.c b/runtime/parsec/codelets/codelet_zlansy.c
index 9b0807dec..748b68065 100644
--- a/runtime/parsec/codelets/codelet_zlansy.c
+++ b/runtime/parsec/codelets/codelet_zlansy.c
@@ -28,28 +28,21 @@ static inline int
 CORE_zlansy_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *norm;
-    MORSE_enum *uplo;
-    int *N;
+    int norm;
+    MORSE_enum uplo;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     double *work;
     double *normA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &norm,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_SCRATCH, &work,
-        UNPACK_DATA,  &normA );
+        this_task, &norm, &uplo, &N, &A, &LDA, &work, &normA );
 
-    CORE_zlansy( *norm, *uplo, *N, A, *LDA, work, normA);
+    CORE_zlansy( norm, uplo, N, A, LDA, work, normA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlansy(const MORSE_option_t *options,
@@ -70,7 +63,7 @@ void MORSE_TASK_zlansy(const MORSE_option_t *options,
         sizeof(int),                   &LDA,           VALUE,
         sizeof(double)*szeW,           NULL,           SCRATCH,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ),     OUTPUT,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)NB;
 }
diff --git a/runtime/parsec/codelets/codelet_zlantr.c b/runtime/parsec/codelets/codelet_zlantr.c
index 80df6fbf1..03da6c4ca 100644
--- a/runtime/parsec/codelets/codelet_zlantr.c
+++ b/runtime/parsec/codelets/codelet_zlantr.c
@@ -28,30 +28,21 @@ static inline int
 CORE_zlantr_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *norm, *uplo, *diag;
-    int *M;
-    int *N;
+    MORSE_enum norm, uplo, diag;
+    int M;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     double *work;
     double *normA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &norm,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_SCRATCH, &work,
-        UNPACK_DATA,  &normA );
+        this_task, &norm, &uplo, &diag, &M, &N, &A, &LDA, &work, &normA );
 
-    CORE_zlantr( *norm, *uplo, *diag, *M, *N, A, *LDA, work, normA);
+    CORE_zlantr( norm, uplo, diag, M, N, A, LDA, work, normA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlantr(const MORSE_option_t *options,
@@ -75,7 +66,7 @@ void MORSE_TASK_zlantr(const MORSE_option_t *options,
         sizeof(int),                   &LDA,           VALUE,
         sizeof(double)*szeW,           NULL,           SCRATCH,
         PASSED_BY_REF,         RTBLKADDR( B, double, Bm, Bn ),     OUTPUT,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)NB;
 }
diff --git a/runtime/parsec/codelets/codelet_zlascal.c b/runtime/parsec/codelets/codelet_zlascal.c
index 575355ad9..5f6d2a238 100644
--- a/runtime/parsec/codelets/codelet_zlascal.c
+++ b/runtime/parsec/codelets/codelet_zlascal.c
@@ -42,26 +42,20 @@ static inline int
 CORE_zlascal_parsec( parsec_execution_stream_t *context,
                      parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA);
+        this_task, &uplo, &M, &N, &alpha, &A, &LDA);
 
-    CORE_zlascal(*uplo, *M, *N, *alpha, A, *LDA);
+    CORE_zlascal( uplo, M, N, alpha, A, LDA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlascal(const MORSE_option_t *options,
@@ -80,7 +74,7 @@ void MORSE_TASK_zlascal(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t), &alpha, VALUE,
         PASSED_BY_REF,              RTBLKADDR(A, MORSE_Complex64_t, Am, An), INOUT,
         sizeof(int),               &lda,   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zlaset.c b/runtime/parsec/codelets/codelet_zlaset.c
index b40535f6a..626286c0f 100644
--- a/runtime/parsec/codelets/codelet_zlaset.c
+++ b/runtime/parsec/codelets/codelet_zlaset.c
@@ -63,28 +63,21 @@ static inline int
 CORE_zlaset_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
-    MORSE_Complex64_t *beta;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA );
+        this_task, &uplo, &M, &N, &alpha, &beta, &A, &LDA );
 
-    CORE_zlaset(*uplo, *M, *N, *alpha, *beta, A, *LDA);
+    CORE_zlaset( uplo, M, N, alpha, beta, A, LDA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlaset(const MORSE_option_t *options,
@@ -103,5 +96,5 @@ void MORSE_TASK_zlaset(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t),       &beta,        VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     OUTPUT,
         sizeof(int),                     &LDA,         VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zlaset2.c b/runtime/parsec/codelets/codelet_zlaset2.c
index 59c2aa096..648d99e9a 100644
--- a/runtime/parsec/codelets/codelet_zlaset2.c
+++ b/runtime/parsec/codelets/codelet_zlaset2.c
@@ -59,33 +59,27 @@
  **/
 static inline int
 CORE_zlaset2_parsec( parsec_execution_stream_t *context,
-                    parsec_task_t             *this_task )
+                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA );
+        this_task, &uplo, &M, &N, &alpha, &A, &LDA );
 
-    CORE_zlaset2(*uplo, *M, *N, *alpha, A, *LDA);
+    CORE_zlaset2( uplo, M, N, alpha, A, LDA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlaset2(const MORSE_option_t *options,
-                       MORSE_enum uplo, int M, int N,
-                       MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int LDA)
+                        MORSE_enum uplo, int M, int N,
+                        MORSE_Complex64_t alpha, const MORSE_desc_t *A, int Am, int An, int LDA)
 {
     parsec_taskpool_t* PARSEC_dtd_taskpool = (parsec_taskpool_t *)(options->sequence->schedopt);
 
@@ -97,5 +91,5 @@ void MORSE_TASK_zlaset2(const MORSE_option_t *options,
         sizeof(MORSE_enum),                &alpha,     VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     OUTPUT,
         sizeof(int),                       &LDA,       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zlatro.c b/runtime/parsec/codelets/codelet_zlatro.c
index a2b61536b..04887c3a6 100644
--- a/runtime/parsec/codelets/codelet_zlatro.c
+++ b/runtime/parsec/codelets/codelet_zlatro.c
@@ -29,31 +29,23 @@ static inline int
 CORE_zlatro_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *M;
-    int *N;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int M;
+    int N;
     const MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB);
+        this_task, &uplo, &trans, &M, &N, &A, &LDA, &B, &LDB);
 
-    CORE_zlatro(*uplo, *trans, *M, *N,
-                A, *LDA, B, *LDB);
+    CORE_zlatro( uplo, trans, M, N,
+                A, LDA, B, LDB);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 /***************************************************************************//**
@@ -77,7 +69,7 @@ void MORSE_TASK_zlatro(const MORSE_option_t *options,
         sizeof(int),        &lda,   VALUE,
         PASSED_BY_REF,       RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), OUTPUT,
         sizeof(int),        &ldb,   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)mb;
 }
diff --git a/runtime/parsec/codelets/codelet_zlauum.c b/runtime/parsec/codelets/codelet_zlauum.c
index da36150cb..e63854da7 100644
--- a/runtime/parsec/codelets/codelet_zlauum.c
+++ b/runtime/parsec/codelets/codelet_zlauum.c
@@ -33,22 +33,18 @@ static inline int
 CORE_zlauum_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *N;
+    MORSE_enum uplo;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA );
+        this_task, &uplo, &N, &A, &LDA );
 
-    CORE_zlauum(*uplo, *N, A, *LDA);
+    CORE_zlauum( uplo, N, A, LDA );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zlauum(const MORSE_option_t *options,
@@ -63,7 +59,7 @@ void MORSE_TASK_zlauum(const MORSE_option_t *options,
         sizeof(int),           &n,                     VALUE,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),           &lda,                   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zpamm.c b/runtime/parsec/codelets/codelet_zpamm.c
index 14f5b2867..53a7407de 100644
--- a/runtime/parsec/codelets/codelet_zpamm.c
+++ b/runtime/parsec/codelets/codelet_zpamm.c
@@ -172,44 +172,29 @@ static inline int
 CORE_zpamm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *op;
-    MORSE_enum *side;
-    int *storev;
-    int *M;
-    int *N;
-    int *K;
-    int *L;
+    int op;
+    MORSE_enum side;
+    int storev;
+    int M;
+    int N;
+    int K;
+    int L;
     MORSE_Complex64_t *A1;
-    int *LDA1;
+    int LDA1;
     MORSE_Complex64_t *A2;
-    int *LDA2;
+    int LDA2;
     MORSE_Complex64_t *V;
-    int *LDV;
+    int LDV;
     MORSE_Complex64_t *W;
-    int *LDW;
+    int LDW;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &op,
-        UNPACK_VALUE, &side,
-        UNPACK_VALUE, &storev,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &K,
-        UNPACK_VALUE, &L,
-        UNPACK_DATA,  &A1,
-        UNPACK_VALUE, &LDA1,
-        UNPACK_DATA,  &A2,
-        UNPACK_VALUE, &LDA2,
-        UNPACK_DATA,  &V,
-        UNPACK_VALUE, &LDV,
-        UNPACK_DATA,  &W,
-        UNPACK_VALUE, &LDW );
+        this_task, &op, &side, &storev, &M, &N, &K, &L, &A1, &LDA1, &A2, &LDA2, &V, &LDV, &W, &LDW );
 
-    CORE_zpamm( *op, *side, *storev, *M, *N, *K, *L, A1, *LDA1, A2, *LDA2, V, *LDV, W, *LDW);
+    CORE_zpamm( op, side, storev, M, N, K, L, A1, LDA1, A2, LDA2, V, LDV, W, LDW );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void
@@ -240,5 +225,5 @@ MORSE_TASK_zpamm(const MORSE_option_t *options,
         sizeof(int),                        &ldv,               VALUE,
         PASSED_BY_REF,         RTBLKADDR( W, MORSE_Complex64_t, Wm, Wn ),        INOUT,
         sizeof(int),                        &ldw,               VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zplghe.c b/runtime/parsec/codelets/codelet_zplghe.c
index 6fa2309ff..9f56b3937 100644
--- a/runtime/parsec/codelets/codelet_zplghe.c
+++ b/runtime/parsec/codelets/codelet_zplghe.c
@@ -28,32 +28,23 @@ static inline int
 CORE_zplghe_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    double *bump;
-    int *m;
-    int *n;
+    double bump;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
-    int *bigM;
-    int *m0;
-    int *n0;
-    unsigned long long int *seed;
+    int lda;
+    int bigM;
+    int m0;
+    int n0;
+    unsigned long long int seed;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &bump,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &bigM,
-        UNPACK_VALUE, &m0,
-        UNPACK_VALUE, &n0,
-        UNPACK_VALUE, &seed );
+        this_task, &bump, &m, &n, &A, &lda, &bigM, &m0, &n0, &seed );
 
-    CORE_zplghe( *bump, *m, *n, A, *lda, *bigM, *m0, *n0, *seed );
+    CORE_zplghe( bump, m, n, A, lda, bigM, m0, n0, seed );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zplghe( const MORSE_option_t *options,
@@ -73,5 +64,5 @@ void MORSE_TASK_zplghe( const MORSE_option_t *options,
         sizeof(int),       &m0,                            VALUE,
         sizeof(int),       &n0,                            VALUE,
         sizeof(unsigned long long int),       &seed,       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zplgsy.c b/runtime/parsec/codelets/codelet_zplgsy.c
index e1fc25301..5c78e20a7 100644
--- a/runtime/parsec/codelets/codelet_zplgsy.c
+++ b/runtime/parsec/codelets/codelet_zplgsy.c
@@ -28,32 +28,23 @@ static inline int
 CORE_zplgsy_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_Complex64_t *bump;
-    int *m;
-    int *n;
+    MORSE_Complex64_t bump;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
-    int *bigM;
-    int *m0;
-    int *n0;
-    unsigned long long int *seed;
+    int lda;
+    int bigM;
+    int m0;
+    int n0;
+    unsigned long long int seed;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &bump,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &bigM,
-        UNPACK_VALUE, &m0,
-        UNPACK_VALUE, &n0,
-        UNPACK_VALUE, &seed );
+        this_task, &bump, &m, &n, &A, &lda, &bigM, &m0, &n0, &seed );
 
-    CORE_zplgsy( *bump, *m, *n, A, *lda, *bigM, *m0, *n0, *seed );
+    CORE_zplgsy( bump, m, n, A, lda, bigM, m0, n0, seed );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zplgsy( const MORSE_option_t *options,
@@ -73,5 +64,5 @@ void MORSE_TASK_zplgsy( const MORSE_option_t *options,
         sizeof(int),               &m0,                            VALUE,
         sizeof(int),               &n0,                            VALUE,
         sizeof(unsigned long long int),               &seed,       VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zplrnt.c b/runtime/parsec/codelets/codelet_zplrnt.c
index 589062fec..61ecdf376 100644
--- a/runtime/parsec/codelets/codelet_zplrnt.c
+++ b/runtime/parsec/codelets/codelet_zplrnt.c
@@ -28,30 +28,22 @@ static inline int
 CORE_zplrnt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
-    int *bigM;
-    int *m0;
-    int *n0;
-    unsigned long long int *seed;
+    int lda;
+    int bigM;
+    int m0;
+    int n0;
+    unsigned long long int seed;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &bigM,
-        UNPACK_VALUE, &m0,
-        UNPACK_VALUE, &n0,
-        UNPACK_VALUE, &seed );
+        this_task, &m, &n, &A, &lda, &bigM, &m0, &n0, &seed );
 
-    CORE_zplrnt( *m, *n, A, *lda, *bigM, *m0, *n0, *seed );
+    CORE_zplrnt( m, n, A, lda, bigM, m0, n0, seed );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zplrnt( const MORSE_option_t *options,
@@ -70,5 +62,5 @@ void MORSE_TASK_zplrnt( const MORSE_option_t *options,
         sizeof(int),       &m0,                         VALUE,
         sizeof(int),       &n0,                         VALUE,
         sizeof(unsigned long long int),       &seed,    VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zplssq.c b/runtime/parsec/codelets/codelet_zplssq.c
index affd9deb4..9200e65b0 100644
--- a/runtime/parsec/codelets/codelet_zplssq.c
+++ b/runtime/parsec/codelets/codelet_zplssq.c
@@ -64,9 +64,7 @@ CORE_zplssq_parsec( parsec_execution_stream_t *context,
     double *SCLSSQ;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_DATA,  &SCALESUMSQ,
-        UNPACK_DATA,  &SCLSSQ );
+        this_task, &SCALESUMSQ, &SCLSSQ );
 
     if( SCLSSQ[0] < SCALESUMSQ[0] ) {
         SCLSSQ[1] = SCALESUMSQ[1] + (SCLSSQ[1]     * (( SCLSSQ[0] / SCALESUMSQ[0] ) * ( SCLSSQ[0] / SCALESUMSQ[0] )));
@@ -76,7 +74,7 @@ CORE_zplssq_parsec( parsec_execution_stream_t *context,
     }
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zplssq( const MORSE_option_t *options,
@@ -89,7 +87,7 @@ void MORSE_TASK_zplssq( const MORSE_option_t *options,
         PARSEC_dtd_taskpool, CORE_zplssq_parsec, options->priority, "plssq",
         PASSED_BY_REF,         RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ),    INPUT,
         PASSED_BY_REF,         RTBLKADDR( SCLSSQ, double, SCLSSQm, SCLSSQn ),                INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
 
 static inline int
@@ -99,13 +97,12 @@ CORE_zplssq2_parsec( parsec_execution_stream_t *context,
     double *RESULT;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_DATA, &RESULT );
+        this_task, &RESULT );
 
     RESULT[0] = RESULT[0] * sqrt( RESULT[1] );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zplssq2( const MORSE_option_t *options,
@@ -116,5 +113,5 @@ void MORSE_TASK_zplssq2( const MORSE_option_t *options,
     parsec_dtd_taskpool_insert_task(
         PARSEC_dtd_taskpool, CORE_zplssq2_parsec, options->priority, "plssq2",
         PASSED_BY_REF,         RTBLKADDR( RESULT, double, RESULTm, RESULTn ),     INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zpotrf.c b/runtime/parsec/codelets/codelet_zpotrf.c
index 5cf402c68..a8618e06e 100644
--- a/runtime/parsec/codelets/codelet_zpotrf.c
+++ b/runtime/parsec/codelets/codelet_zpotrf.c
@@ -33,22 +33,22 @@ static inline int
 CORE_zpotrf_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *tempkm, *ldak, *iinfo;
+    MORSE_enum uplo;
+    int tempkm, ldak, iinfo, info;
     MORSE_Complex64_t *A;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &tempkm,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &ldak,
-        UNPACK_VALUE, &iinfo );
+        this_task, &uplo, &tempkm, &A, &ldak, &iinfo );
 
-    CORE_zpotrf(*uplo, *tempkm, A, *ldak, iinfo);
+    CORE_zpotrf( uplo, tempkm, A, ldak, &info );
 
+    /* if ( (sequence->status == MORSE_SUCCESS) && (info != 0) ) { */
+    /*     RUNTIME_sequence_flush( (MORSE_context_t*)quark, sequence, request, iinfo+info ); */
+    /* } */
     (void)context;
-    return 0;
+    (void)info;
+    (void)iinfo;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zpotrf(const MORSE_option_t *options,
@@ -65,7 +65,7 @@ void MORSE_TASK_zpotrf(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT | morse_parsec_get_arena_index(A) | AFFINITY,
         sizeof(int),           &lda,                              VALUE,
         sizeof(int),           &iinfo,                            VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zssssm.c b/runtime/parsec/codelets/codelet_zssssm.c
index 3d174c76f..71998f8fd 100644
--- a/runtime/parsec/codelets/codelet_zssssm.c
+++ b/runtime/parsec/codelets/codelet_zssssm.c
@@ -28,44 +28,29 @@ static inline int
 CORE_zssssm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *L1;
-    int *ldl1;
+    int ldl1;
     MORSE_Complex64_t *L2;
-    int *ldl2;
+    int ldl2;
     int *IPIV;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &L1,
-        UNPACK_VALUE,   &ldl1,
-        UNPACK_DATA,    &L2,
-        UNPACK_VALUE,   &ldl2,
-        UNPACK_SCRATCH, &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);
+    CORE_zssssm( m1, n1, m2, n2, k, ib, A1, lda1, A2, lda2, L1, ldl1, L2, ldl2, IPIV );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zssssm(const MORSE_option_t *options,
@@ -95,5 +80,5 @@ void MORSE_TASK_zssssm(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( L2, MORSE_Complex64_t, L2m, L2n ),     INPUT,
         sizeof(int),           &ldl2,                              VALUE,
         sizeof(int)*nb,        IPIV,                               SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zsymm.c b/runtime/parsec/codelets/codelet_zsymm.c
index eebb34021..292ab02ef 100644
--- a/runtime/parsec/codelets/codelet_zsymm.c
+++ b/runtime/parsec/codelets/codelet_zsymm.c
@@ -28,41 +28,29 @@ static inline int
 CORE_zsymm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *uplo;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum side;
+    MORSE_enum uplo;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     MORSE_Complex64_t *B;
-    int *LDB;
-    MORSE_Complex64_t *beta;
+    int LDB;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *C;
-    int *LDC;
+    int LDC;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &side,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &LDC );
+        this_task, &side, &uplo, &M, &N, &alpha, &A, &LDA, &B, &LDB, &beta, &C, &LDC );
 
-    CORE_zsymm(*side, *uplo, *M, *N,
-                *alpha, A, *LDA,
-                        B, *LDB,
-                *beta,  C, *LDC);
+    CORE_zsymm( side, uplo, M, N,
+                alpha, A, LDA,
+                       B, LDB,
+                beta,  C, LDC);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zsymm(const MORSE_option_t *options,
@@ -88,7 +76,7 @@ void MORSE_TASK_zsymm(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t),  &beta,          VALUE,
         PASSED_BY_REF,          RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT,
         sizeof(int),            &ldc,               VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zsyr2k.c b/runtime/parsec/codelets/codelet_zsyr2k.c
index ba520eb31..16ba72734 100644
--- a/runtime/parsec/codelets/codelet_zsyr2k.c
+++ b/runtime/parsec/codelets/codelet_zsyr2k.c
@@ -28,41 +28,29 @@ static inline int
 CORE_zsyr2k_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *n;
-    int *k;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int n;
+    int k;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
-    MORSE_Complex64_t *beta;
+    int ldb;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &ldb,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldc );
+        this_task, &uplo, &trans, &n, &k, &alpha, &A, &lda, &B, &ldb, &beta, &C, &ldc );
 
-    CORE_zsyr2k(*uplo, *trans, *n, *k,
-                *alpha, A, *lda,
-                        B, *ldb,
-                *beta,  C, *ldc);
+    CORE_zsyr2k( uplo, trans, n, k,
+                alpha, A, lda,
+                        B, ldb,
+                beta,  C, ldc);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zsyr2k(const MORSE_option_t *options,
@@ -88,7 +76,7 @@ void MORSE_TASK_zsyr2k(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t), &beta,               VALUE,
         PASSED_BY_REF,          RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT | morse_parsec_get_arena_index(C) | AFFINITY,
         sizeof(int),            &ldc,                   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zsyrk.c b/runtime/parsec/codelets/codelet_zsyrk.c
index cebf30a55..0d313d8a3 100644
--- a/runtime/parsec/codelets/codelet_zsyrk.c
+++ b/runtime/parsec/codelets/codelet_zsyrk.c
@@ -26,38 +26,28 @@
 
 static inline int
 CORE_zsyrk_parsec( parsec_execution_stream_t *context,
-                    parsec_task_t             *this_task )
+                   parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *n;
-    int *k;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int n;
+    int k;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *lda;
-    MORSE_Complex64_t *beta;
+    int lda;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &k,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldc );
+        this_task, &uplo, &trans, &n, &k, &alpha, &A, &lda, &beta, &C, &ldc );
 
-    CORE_zsyrk(*uplo, *trans, *n, *k,
-               *alpha, A, *lda,
-               *beta,  C, *ldc);
+    CORE_zsyrk( uplo, trans, n, k,
+               alpha, A, lda,
+               beta,  C, ldc);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zsyrk(const MORSE_option_t *options,
@@ -80,7 +70,7 @@ void MORSE_TASK_zsyrk(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t),           &beta,                VALUE,
         PASSED_BY_REF,         RTBLKADDR( C, MORSE_Complex64_t, Cm, Cn ),     INOUT | morse_parsec_get_arena_index(C) | AFFINITY,
         sizeof(int),           &ldc,                               VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_zsyssq.c b/runtime/parsec/codelets/codelet_zsyssq.c
index dd5901340..0dc91bbb1 100644
--- a/runtime/parsec/codelets/codelet_zsyssq.c
+++ b/runtime/parsec/codelets/codelet_zsyssq.c
@@ -28,24 +28,19 @@ static inline int
 CORE_zsyssq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *n;
+    MORSE_enum uplo;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *SCALESUMSQ;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &SCALESUMSQ );
+        this_task, &uplo, &n, &A, &lda, &SCALESUMSQ );
 
-    CORE_zsyssq( *uplo, *n, A, *lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
+    CORE_zsyssq( uplo, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zsyssq( const MORSE_option_t *options,
@@ -62,5 +57,5 @@ void MORSE_TASK_zsyssq( const MORSE_option_t *options,
         PASSED_BY_REF,          RTBLKADDR( A, MORSE_Complex64_t, Am, An ),                               INPUT,
         sizeof(int),            &lda,                   VALUE,
         PASSED_BY_REF,          RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ),    INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
index db1b17b5b..e28a4d234 100644
--- a/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
+++ b/runtime/parsec/codelets/codelet_zsytrf_nopiv.c
@@ -28,24 +28,19 @@ static inline int
 CORE_zsytrf_nopiv_parsec( parsec_execution_stream_t *context,
                           parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    int *n;
+    MORSE_enum uplo;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
-    int *iinfo;
+    int lda;
+    int iinfo;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_VALUE, &iinfo );
+        this_task, &uplo, &n, &A, &lda, &iinfo );
 
-    CORE_zsytf2_nopiv(*uplo, *n, A, *lda);
+    CORE_zsytf2_nopiv( uplo, n, A, lda );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options,
@@ -62,7 +57,7 @@ void MORSE_TASK_zsytrf_nopiv(const MORSE_option_t *options,
         PASSED_BY_REF,         RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INOUT,
         sizeof(int),                     &lda,                 VALUE,
         sizeof(int),                     &iinfo,               VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztile_zero.c b/runtime/parsec/codelets/codelet_ztile_zero.c
index 2e33ebff6..e55afa236 100644
--- a/runtime/parsec/codelets/codelet_ztile_zero.c
+++ b/runtime/parsec/codelets/codelet_ztile_zero.c
@@ -28,29 +28,23 @@ static inline int
 CORE_ztile_zero_parsec( parsec_execution_stream_t *context,
                         parsec_task_t             *this_task )
 {
-    int *X1;
-    int *X2;
-    int *Y1;
-    int *Y2;
+    int X1;
+    int X2;
+    int Y1;
+    int Y2;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     int x, y;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &X1,
-        UNPACK_VALUE, &X2,
-        UNPACK_VALUE, &Y1,
-        UNPACK_VALUE, &Y2,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda );
+        this_task, &X1, &X2, &Y1, &Y2, &A, &lda );
 
-    for (x = *X1; x < *X2; x++)
-        for (y = *Y1; y < *Y2; y++)
-            A[*lda*x+y] = 0.0;
+    for (x = X1; x < X2; x++)
+        for (y = Y1; y < Y2; y++)
+            A[lda * x + y] = 0.0;
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztile_zero( const MORSE_option_t *options,
@@ -67,5 +61,5 @@ void MORSE_TASK_ztile_zero( const MORSE_option_t *options,
         sizeof(int),       &Y2,                       VALUE,
         PASSED_BY_REF,     RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     OUTPUT,
         sizeof(int),       &lda,                      VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztpmqrt.c b/runtime/parsec/codelets/codelet_ztpmqrt.c
index 61c7f0ece..62fda5c03 100644
--- a/runtime/parsec/codelets/codelet_ztpmqrt.c
+++ b/runtime/parsec/codelets/codelet_ztpmqrt.c
@@ -30,47 +30,31 @@ static inline int
 CORE_ztpmqrt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *M;
-    int *N;
-    int *K;
-    int *L;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int M;
+    int N;
+    int K;
+    int L;
+    int ib;
     const MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     const MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
+    int ldb;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &M,
-        UNPACK_VALUE,   &N,
-        UNPACK_VALUE,   &K,
-        UNPACK_VALUE,   &L,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &B,
-        UNPACK_VALUE,   &ldb,
-        UNPACK_SCRATCH, &WORK );
+        this_task,   &side,   &trans,   &M,   &N,   &K,   &L,   &ib, &V,   &ldv, &T,   &ldt, &A,   &lda, &B,   &ldb, &WORK );
 
-    CORE_ztpmqrt( *side, *trans, *M, *N, *K, *L, *ib,
-                  V, *ldv, T, *ldt, A, *lda, B, *ldb, WORK );
+    CORE_ztpmqrt( side, trans, M, N, K, L, ib,
+                  V, ldv, T, ldt, A, lda, B, ldb, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztpmqrt( const MORSE_option_t *options,
@@ -101,5 +85,5 @@ void MORSE_TASK_ztpmqrt( const MORSE_option_t *options,
         PASSED_BY_REF,       RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ), INOUT,
         sizeof(int),        &ldb,   VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztpqrt.c b/runtime/parsec/codelets/codelet_ztpqrt.c
index 324eddb35..e60b1ef5a 100644
--- a/runtime/parsec/codelets/codelet_ztpqrt.c
+++ b/runtime/parsec/codelets/codelet_ztpqrt.c
@@ -30,37 +30,26 @@ static inline int
 CORE_ztpqrt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *M;
-    int *N;
-    int *L;
-    int *ib;
+    int M;
+    int N;
+    int L;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *B;
-    int *ldb;
+    int ldb;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &M,
-        UNPACK_VALUE,   &N,
-        UNPACK_VALUE,   &L,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &B,
-        UNPACK_VALUE,   &ldb,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK );
+        this_task,   &M,   &N,   &L,   &ib, &A,   &lda, &B,   &ldb, &T,   &ldt, &WORK );
 
-    CORE_ztpqrt( *M, *N, *L, *ib,
-                 A, *lda, B, *ldb, T, *ldt, WORK );
+    CORE_ztpqrt( M, N, L, ib,
+                 A, lda, B, ldb, T, ldt, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztpqrt( const MORSE_option_t *options,
@@ -84,5 +73,5 @@ void MORSE_TASK_ztpqrt( const MORSE_option_t *options,
         PASSED_BY_REF,  RTBLKADDR( T, MORSE_Complex64_t, Tm, Tn ), OUTPUT,
         sizeof(int),   &ldt, VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztradd.c b/runtime/parsec/codelets/codelet_ztradd.c
index b306cb277..29b6cb932 100644
--- a/runtime/parsec/codelets/codelet_ztradd.c
+++ b/runtime/parsec/codelets/codelet_ztradd.c
@@ -32,34 +32,24 @@ static inline int
 CORE_ztradd_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *trans;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum uplo;
+    MORSE_enum trans;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
-    MORSE_Complex64_t *beta;
+    int LDA;
+    MORSE_Complex64_t beta;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_VALUE, &beta,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB );
+        this_task, &uplo, &trans, &M, &N, &alpha, &A, &LDA, &beta, &B, &LDB );
 
-    CORE_ztradd(*uplo, *trans, *M, *N, *alpha, A, *LDA, *beta, B, *LDB);
+    CORE_ztradd( uplo, trans, M, N, alpha, A, LDA, beta, B, LDB );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 /**
@@ -141,7 +131,7 @@ void MORSE_TASK_ztradd(const MORSE_option_t *options,
         sizeof(MORSE_Complex64_t), &beta,  VALUE,
         PASSED_BY_REF,              RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),     INOUT,
         sizeof(int),               &ldb,   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztrasm.c b/runtime/parsec/codelets/codelet_ztrasm.c
index 48ed77628..3ca5dcf2e 100644
--- a/runtime/parsec/codelets/codelet_ztrasm.c
+++ b/runtime/parsec/codelets/codelet_ztrasm.c
@@ -28,30 +28,22 @@ static inline int
 CORE_ztrasm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *storev;
-    MORSE_enum *uplo;
-    MORSE_enum *diag;
-    int *M;
-    int *N;
+    MORSE_enum storev;
+    MORSE_enum uplo;
+    MORSE_enum diag;
+    int M;
+    int N;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *work;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &storev,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &work );
+        this_task, &storev, &uplo, &diag, &M, &N, &A, &lda, &work );
 
-    CORE_ztrasm(*storev, *uplo, *diag, *M, *N, A, *lda, work);
+    CORE_ztrasm( storev, uplo, diag, M, N, A, lda, work );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztrasm(const MORSE_option_t *options,
@@ -71,5 +63,5 @@ void MORSE_TASK_ztrasm(const MORSE_option_t *options,
         PASSED_BY_REF,          RTBLKADDR( A, MORSE_Complex64_t, Am, An ),     INPUT,
         sizeof(int),            &lda,                   VALUE,
         PASSED_BY_REF,          RTBLKADDR( B, double, Bm, Bn ),     INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztrmm.c b/runtime/parsec/codelets/codelet_ztrmm.c
index 749533ef5..ce0608f48 100644
--- a/runtime/parsec/codelets/codelet_ztrmm.c
+++ b/runtime/parsec/codelets/codelet_ztrmm.c
@@ -26,42 +26,31 @@
 
 static inline int
 CORE_ztrmm_parsec( parsec_execution_stream_t *context,
-                    parsec_task_t             *this_task )
+                   parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *uplo;
-    MORSE_enum *transA;
-    MORSE_enum *diag;
-    int *M;
-    int *N;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum side;
+    MORSE_enum uplo;
+    MORSE_enum transA;
+    MORSE_enum diag;
+    int M;
+    int N;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *A;
-    int *LDA;
+    int LDA;
     MORSE_Complex64_t *B;
-    int *LDB;
+    int LDB;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &side,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &transA,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &M,
-        UNPACK_VALUE, &N,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_DATA,  &B,
-        UNPACK_VALUE, &LDB );
+        this_task, &side, &uplo, &transA, &diag, &M, &N, &alpha, &A, &LDA, &B, &LDB );
 
-    CORE_ztrmm(*side, *uplo,
-        *transA, *diag,
-        *M, *N,
-        *alpha, A, *LDA,
-        B, *LDB);
+    CORE_ztrmm( side, uplo,
+        transA, diag,
+        M, N,
+        alpha, A, LDA,
+        B, LDB);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztrmm(const MORSE_option_t *options,
@@ -85,7 +74,7 @@ void MORSE_TASK_ztrmm(const MORSE_option_t *options,
         sizeof(int),            &lda,                   VALUE,
         PASSED_BY_REF,          RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),     INOUT,
         sizeof(int),            &ldb,                   VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztrsm.c b/runtime/parsec/codelets/codelet_ztrsm.c
index 3a054e920..deaace6bd 100644
--- a/runtime/parsec/codelets/codelet_ztrsm.c
+++ b/runtime/parsec/codelets/codelet_ztrsm.c
@@ -28,32 +28,21 @@ static inline int
 CORE_ztrsm_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side, *uplo, *trans, *diag;
-    int  *tempmm, *nb, *ldak, *ldam;
-    MORSE_Complex64_t *alpha;
+    MORSE_enum side, uplo, trans, diag;
+    int tempmm, nb, ldak, ldam;
+    MORSE_Complex64_t alpha;
     MORSE_Complex64_t *T;
     MORSE_Complex64_t *C;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &side,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &trans,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &tempmm,
-        UNPACK_VALUE, &nb,
-        UNPACK_VALUE, &alpha,
-        UNPACK_DATA,  &T,
-        UNPACK_VALUE, &ldak,
-        UNPACK_DATA,  &C,
-        UNPACK_VALUE, &ldam );
+        this_task, &side, &uplo, &trans, &diag, &tempmm, &nb, &alpha, &T, &ldak, &C, &ldam );
 
-    CORE_ztrsm(*side, *uplo, *trans, *diag,
-           *tempmm, *nb, *alpha, T, *ldak,
-           C, *ldam);
+    CORE_ztrsm( side, uplo, trans, diag,
+                tempmm, nb, alpha,
+                T, ldak, C, ldam );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztrsm(const MORSE_option_t *options,
@@ -77,7 +66,7 @@ void MORSE_TASK_ztrsm(const MORSE_option_t *options,
         sizeof(int),           &lda,                      VALUE,
         PASSED_BY_REF,     RTBLKADDR( B, MORSE_Complex64_t, Bm, Bn ),     INOUT | morse_parsec_get_arena_index(A) | AFFINITY,
         sizeof(int),           &ldb,                      VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztrssq.c b/runtime/parsec/codelets/codelet_ztrssq.c
index 8f6762fad..66c57d747 100644
--- a/runtime/parsec/codelets/codelet_ztrssq.c
+++ b/runtime/parsec/codelets/codelet_ztrssq.c
@@ -28,28 +28,21 @@ static inline int
 CORE_ztrssq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *diag;
-    int *m;
-    int *n;
+    MORSE_enum uplo;
+    MORSE_enum diag;
+    int m;
+    int n;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     double *SCALESUMSQ;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &lda,
-        UNPACK_DATA,  &SCALESUMSQ );
+        this_task, &uplo, &diag, &m, &n, &A, &lda, &SCALESUMSQ );
 
-    CORE_ztrssq( *uplo, *diag, *m, *n, A, *lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
+    CORE_ztrssq( uplo, diag, m, n, A, lda, &SCALESUMSQ[0], &SCALESUMSQ[1]);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztrssq( const MORSE_option_t *options,
@@ -69,5 +62,5 @@ void MORSE_TASK_ztrssq( const MORSE_option_t *options,
         PASSED_BY_REF,          RTBLKADDR( A, MORSE_Complex64_t, Am, An ),                    INPUT,
         sizeof(int),            &lda,                   VALUE,
         PASSED_BY_REF,          RTBLKADDR( SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn ),    INOUT,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztrtri.c b/runtime/parsec/codelets/codelet_ztrtri.c
index f8f7a211a..cd14186ba 100644
--- a/runtime/parsec/codelets/codelet_ztrtri.c
+++ b/runtime/parsec/codelets/codelet_ztrtri.c
@@ -28,27 +28,21 @@ static inline int
 CORE_ztrtri_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *uplo;
-    MORSE_enum *diag;
-    int *N;
+    MORSE_enum uplo;
+    MORSE_enum diag;
+    int N;
     MORSE_Complex64_t *A;
-    int *LDA;
-    int *iinfo;
+    int LDA;
+    int iinfo;
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &uplo,
-        UNPACK_VALUE, &diag,
-        UNPACK_VALUE, &N,
-        UNPACK_DATA,  &A,
-        UNPACK_VALUE, &LDA,
-        UNPACK_VALUE, &iinfo );
+        this_task, &uplo, &diag, &N, &A, &LDA, &iinfo );
 
-    CORE_ztrtri(*uplo, *diag, *N, A, *LDA, &info);
+    CORE_ztrtri( uplo, diag, N, A, LDA, &info );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztrtri( const MORSE_option_t *options,
@@ -67,7 +61,7 @@ void MORSE_TASK_ztrtri( const MORSE_option_t *options,
         PASSED_BY_REF,              RTBLKADDR( A, MORSE_Complex64_t, Am, An ),   INOUT,
         sizeof(int),                &lda,                   VALUE,
         sizeof(int),                &iinfo,                 VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 
     (void)nb;
 }
diff --git a/runtime/parsec/codelets/codelet_ztslqt.c b/runtime/parsec/codelets/codelet_ztslqt.c
index 4ad84b4f2..3bb06310d 100644
--- a/runtime/parsec/codelets/codelet_ztslqt.c
+++ b/runtime/parsec/codelets/codelet_ztslqt.c
@@ -28,36 +28,25 @@ static inline int
 CORE_ztslqt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A1,
-        UNPACK_VALUE, &lda1,
-        UNPACK_DATA,  &A2,
-        UNPACK_VALUE, &lda2,
-        UNPACK_DATA,  &T,
-        UNPACK_VALUE, &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK );
 
-    CORE_ztslqt(*m, *n, *ib, A1, *lda1, A2, *lda2, T, *ldt, TAU, WORK);
+    CORE_ztslqt( m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztslqt(const MORSE_option_t *options,
@@ -81,5 +70,5 @@ void MORSE_TASK_ztslqt(const MORSE_option_t *options,
         sizeof(int),                        &ldt,       VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,       SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,       SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztsmlq.c b/runtime/parsec/codelets/codelet_ztsmlq.c
index 001b7f976..4335db829 100644
--- a/runtime/parsec/codelets/codelet_ztsmlq.c
+++ b/runtime/parsec/codelets/codelet_ztsmlq.c
@@ -28,51 +28,33 @@ static inline int
 CORE_ztsmlq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork );
 
-    CORE_ztsmlq(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib,
-                A1, *lda1, A2, *lda2, V, *ldv, T, *ldt, WORK, *ldwork);
+    CORE_ztsmlq( side, trans, m1, n1, m2, n2, k, ib,
+                A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztsmlq(const MORSE_option_t *options,
@@ -107,5 +89,5 @@ void MORSE_TASK_ztsmlq(const MORSE_option_t *options,
         sizeof(int),           &ldt,                    VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,       SCRATCH,
         sizeof(int),           &ldwork,                 VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
index 52770519c..f60300f8f 100644
--- a/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
+++ b/runtime/parsec/codelets/codelet_ztsmlq_hetra1.c
@@ -33,53 +33,35 @@ static inline int
 CORE_ztsmlq_hetra1_parsec( parsec_execution_stream_t *context,
                            parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork);
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork);
 
-    CORE_ztsmlq_hetra1(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib,
-                       A1, *lda1, A2, *lda2,
-                       V, *ldv, T, *ldt,
-                       WORK, *ldwork);
+    CORE_ztsmlq_hetra1( side, trans, m1, n1, m2, n2, k, ib,
+                       A1, lda1, A2, lda2,
+                       V, ldv, T, ldt,
+                       WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options,
@@ -113,5 +95,5 @@ void MORSE_TASK_ztsmlq_hetra1(const MORSE_option_t *options,
         sizeof(int),        &ldt,    VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH,
         sizeof(int),        &ldwork, VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztsmqr.c b/runtime/parsec/codelets/codelet_ztsmqr.c
index 2f818f997..a0beb9f8b 100644
--- a/runtime/parsec/codelets/codelet_ztsmqr.c
+++ b/runtime/parsec/codelets/codelet_ztsmqr.c
@@ -28,51 +28,33 @@ static inline int
 CORE_ztsmqr_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork );
 
-    CORE_ztsmqr(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib,
-                A1, *lda1, A2, *lda2, V, *ldv, T, *ldt, WORK, *ldwork);
+    CORE_ztsmqr( side, trans, m1, n1, m2, n2, k, ib,
+                A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztsmqr(const MORSE_option_t *options,
@@ -107,5 +89,5 @@ void MORSE_TASK_ztsmqr(const MORSE_option_t *options,
         sizeof(int),           &ldt,                               VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,                  SCRATCH,
         sizeof(int),           &ldwork,                            VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
index ae21180a1..0a83e4b58 100644
--- a/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
+++ b/runtime/parsec/codelets/codelet_ztsmqr_hetra1.c
@@ -33,53 +33,35 @@ static inline int
 CORE_ztsmqr_hetra1_parsec( parsec_execution_stream_t *context,
                            parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork);
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork);
 
-    CORE_ztsmqr_hetra1(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib,
-                       A1, *lda1, A2, *lda2,
-                       V, *ldv, T, *ldt,
-                       WORK, *ldwork);
+    CORE_ztsmqr_hetra1( side, trans, m1, n1, m2, n2, k, ib,
+                       A1, lda1, A2, lda2,
+                       V, ldv, T, ldt,
+                       WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options,
@@ -113,5 +95,5 @@ void MORSE_TASK_ztsmqr_hetra1(const MORSE_option_t *options,
         sizeof(int),        &ldt,    VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb, NULL, SCRATCH,
         sizeof(int),        &ldwork, VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztsqrt.c b/runtime/parsec/codelets/codelet_ztsqrt.c
index c9f45f3c4..e4c983099 100644
--- a/runtime/parsec/codelets/codelet_ztsqrt.c
+++ b/runtime/parsec/codelets/codelet_ztsqrt.c
@@ -28,36 +28,25 @@ static inline int
 CORE_ztsqrt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE, &m,
-        UNPACK_VALUE, &n,
-        UNPACK_VALUE, &ib,
-        UNPACK_DATA,  &A1,
-        UNPACK_VALUE, &lda1,
-        UNPACK_DATA,  &A2,
-        UNPACK_VALUE, &lda2,
-        UNPACK_DATA,  &T,
-        UNPACK_VALUE, &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task, &m, &n, &ib, &A1, &lda1, &A2, &lda2, &T, &ldt, &TAU, &WORK );
 
-    CORE_ztsqrt(*m, *n, *ib, A1, *lda1, A2, *lda2, T, *ldt, TAU, WORK);
+    CORE_ztsqrt( m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztsqrt(const MORSE_option_t *options,
@@ -81,5 +70,5 @@ void MORSE_TASK_ztsqrt(const MORSE_option_t *options,
         sizeof(int),           &ldt,                               VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,                  SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,                  SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_ztstrf.c b/runtime/parsec/codelets/codelet_ztstrf.c
index cf6c8c7fc..7dd96544d 100644
--- a/runtime/parsec/codelets/codelet_ztstrf.c
+++ b/runtime/parsec/codelets/codelet_ztstrf.c
@@ -28,46 +28,31 @@ static inline int
 CORE_ztstrf_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
-    int *nb;
+    int m;
+    int n;
+    int ib;
+    int nb;
     MORSE_Complex64_t *U;
-    int *ldu;
+    int ldu;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *L;
-    int *ldl;
+    int ldl;
     int *IPIV;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
     MORSE_bool *check_info;
-    int *iinfo;
+    int iinfo;
 
     int info;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &m,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &ib,
-        UNPACK_VALUE,   &nb,
-        UNPACK_DATA,    &U,
-        UNPACK_VALUE,   &ldu,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &L,
-        UNPACK_VALUE,   &ldl,
-        UNPACK_SCRATCH, &IPIV,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork,
-        UNPACK_VALUE,   &check_info,
-        UNPACK_VALUE,   &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);
+    CORE_ztstrf( m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, &info );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_ztstrf(const MORSE_option_t *options,
@@ -97,5 +82,5 @@ void MORSE_TASK_ztstrf(const MORSE_option_t *options,
         sizeof(int),           &nb,                               VALUE,
         sizeof(int),           &check_info,                       VALUE,
         sizeof(int),           &iinfo,                            VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zttlqt.c b/runtime/parsec/codelets/codelet_zttlqt.c
index 96fca94d4..ec4d4bb24 100644
--- a/runtime/parsec/codelets/codelet_zttlqt.c
+++ b/runtime/parsec/codelets/codelet_zttlqt.c
@@ -28,36 +28,25 @@ static inline int
 CORE_zttlqt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &m,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task,   &m,   &n,   &ib, &A1,   &lda1, &A2,   &lda2, &T,   &ldt, &TAU, &WORK );
 
-    CORE_zttlqt(*m, *n, *ib, A1, *lda1, A2, *lda2, T, *ldt, TAU, WORK);
+    CORE_zttlqt( m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zttlqt(const MORSE_option_t *options,
@@ -82,5 +71,5 @@ void MORSE_TASK_zttlqt(const MORSE_option_t *options,
         sizeof(int),            &ldt,                   VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,       SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,       SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zttmlq.c b/runtime/parsec/codelets/codelet_zttmlq.c
index 295f95906..430f594b2 100644
--- a/runtime/parsec/codelets/codelet_zttmlq.c
+++ b/runtime/parsec/codelets/codelet_zttmlq.c
@@ -28,51 +28,33 @@ static inline int
 CORE_zttmlq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork );
 
-    CORE_zttmlq(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib, A1, *lda1,
-                A2, *lda2, V, *ldv, T, *ldt, WORK, *ldwork);
+    CORE_zttmlq( side, trans, m1, n1, m2, n2, k, ib, A1, lda1,
+                A2, lda2, V, ldv, T, ldt, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zttmlq(const MORSE_option_t *options,
@@ -107,5 +89,5 @@ void MORSE_TASK_zttmlq(const MORSE_option_t *options,
         sizeof(int),            &ldt,                       VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,           SCRATCH,
         sizeof(int),            &ldwork,                    VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zttmqr.c b/runtime/parsec/codelets/codelet_zttmqr.c
index 9f3386fc7..578107bcb 100644
--- a/runtime/parsec/codelets/codelet_zttmqr.c
+++ b/runtime/parsec/codelets/codelet_zttmqr.c
@@ -28,51 +28,33 @@ static inline int
 CORE_zttmqr_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m1;
-    int *n1;
-    int *m2;
-    int *n2;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m1;
+    int n1;
+    int m2;
+    int n2;
+    int k;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *V;
-    int *ldv;
+    int ldv;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m1,
-        UNPACK_VALUE,   &n1,
-        UNPACK_VALUE,   &m2,
-        UNPACK_VALUE,   &n2,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &V,
-        UNPACK_VALUE,   &ldv,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m1,   &n1,   &m2,   &n2,   &k,   &ib, &A1,   &lda1, &A2,   &lda2, &V,   &ldv, &T,   &ldt, &WORK,   &ldwork );
 
-    CORE_zttmqr(*side, *trans, *m1, *n1, *m2, *n2, *k, *ib,
-                A1, *lda1, A2, *lda2, V, *ldv, T, *ldt, WORK, *ldwork);
+    CORE_zttmqr( side, trans, m1, n1, m2, n2, k, ib,
+                A1, lda1, A2, lda2, V, ldv, T, ldt, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 
@@ -108,5 +90,5 @@ void MORSE_TASK_zttmqr(const MORSE_option_t *options,
         sizeof(int),           &ldt,                              VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,                           SCRATCH,
         sizeof(int),           &ldwork,                           VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zttqrt.c b/runtime/parsec/codelets/codelet_zttqrt.c
index a8dc01ae0..6f61cbf5c 100644
--- a/runtime/parsec/codelets/codelet_zttqrt.c
+++ b/runtime/parsec/codelets/codelet_zttqrt.c
@@ -28,36 +28,25 @@ static inline int
 CORE_zttqrt_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    int *m;
-    int *n;
-    int *ib;
+    int m;
+    int n;
+    int ib;
     MORSE_Complex64_t *A1;
-    int *lda1;
+    int lda1;
     MORSE_Complex64_t *A2;
-    int *lda2;
+    int lda2;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *TAU;
     MORSE_Complex64_t *WORK;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &m,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A1,
-        UNPACK_VALUE,   &lda1,
-        UNPACK_DATA,    &A2,
-        UNPACK_VALUE,   &lda2,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_SCRATCH, &TAU,
-        UNPACK_SCRATCH, &WORK );
+        this_task,   &m,   &n,   &ib, &A1,   &lda1, &A2,   &lda2, &T,   &ldt, &TAU, &WORK );
 
-    CORE_zttqrt(*m, *n, *ib, A1, *lda1, A2, *lda2, T, *ldt, TAU, WORK);
+    CORE_zttqrt( m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK );
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zttqrt(const MORSE_option_t *options,
@@ -81,5 +70,5 @@ void MORSE_TASK_zttqrt(const MORSE_option_t *options,
         sizeof(int),           &ldt,                               VALUE,
         sizeof(MORSE_Complex64_t)*nb,       NULL,                  SCRATCH,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,                  SCRATCH,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zunmlq.c b/runtime/parsec/codelets/codelet_zunmlq.c
index 3a61b3b56..362d499b2 100644
--- a/runtime/parsec/codelets/codelet_zunmlq.c
+++ b/runtime/parsec/codelets/codelet_zunmlq.c
@@ -28,43 +28,29 @@ static inline int
 CORE_zunmlq_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m;
-    int *n;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m;
+    int n;
+    int k;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_DATA,    &C,
-        UNPACK_VALUE,   &ldc,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m,   &n,   &k,   &ib, &A,   &lda, &T,   &ldt, &C,   &ldc, &WORK,   &ldwork );
 
-    CORE_zunmlq(*side, *trans, *m, *n, *k, *ib,
-                A, *lda, T, *ldt, C, *ldc, WORK, *ldwork);
+    CORE_zunmlq( side, trans, m, n, k, ib,
+                A, lda, T, ldt, C, ldc, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zunmlq(const MORSE_option_t *options,
@@ -92,5 +78,5 @@ void MORSE_TASK_zunmlq(const MORSE_option_t *options,
         sizeof(int),                        &ldc,               VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,    NULL,               SCRATCH,
         sizeof(int),                        &nb,                VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
diff --git a/runtime/parsec/codelets/codelet_zunmqr.c b/runtime/parsec/codelets/codelet_zunmqr.c
index d0361d39d..773811326 100644
--- a/runtime/parsec/codelets/codelet_zunmqr.c
+++ b/runtime/parsec/codelets/codelet_zunmqr.c
@@ -28,43 +28,29 @@ static inline int
 CORE_zunmqr_parsec( parsec_execution_stream_t *context,
                     parsec_task_t             *this_task )
 {
-    MORSE_enum *side;
-    MORSE_enum *trans;
-    int *m;
-    int *n;
-    int *k;
-    int *ib;
+    MORSE_enum side;
+    MORSE_enum trans;
+    int m;
+    int n;
+    int k;
+    int ib;
     MORSE_Complex64_t *A;
-    int *lda;
+    int lda;
     MORSE_Complex64_t *T;
-    int *ldt;
+    int ldt;
     MORSE_Complex64_t *C;
-    int *ldc;
+    int ldc;
     MORSE_Complex64_t *WORK;
-    int *ldwork;
+    int ldwork;
 
     parsec_dtd_unpack_args(
-        this_task,
-        UNPACK_VALUE,   &side,
-        UNPACK_VALUE,   &trans,
-        UNPACK_VALUE,   &m,
-        UNPACK_VALUE,   &n,
-        UNPACK_VALUE,   &k,
-        UNPACK_VALUE,   &ib,
-        UNPACK_DATA,    &A,
-        UNPACK_VALUE,   &lda,
-        UNPACK_DATA,    &T,
-        UNPACK_VALUE,   &ldt,
-        UNPACK_DATA,    &C,
-        UNPACK_VALUE,   &ldc,
-        UNPACK_SCRATCH, &WORK,
-        UNPACK_VALUE,   &ldwork );
+        this_task,   &side,   &trans,   &m,   &n,   &k,   &ib, &A,   &lda, &T,   &ldt, &C,   &ldc, &WORK,   &ldwork );
 
-    CORE_zunmqr(*side, *trans, *m, *n, *k, *ib,
-                A, *lda, T, *ldt, C, *ldc, WORK, *ldwork);
+    CORE_zunmqr( side, trans, m, n, k, ib,
+                A, lda, T, ldt, C, ldc, WORK, ldwork);
 
     (void)context;
-    return 0;
+    return PARSEC_HOOK_RETURN_DONE;
 }
 
 void MORSE_TASK_zunmqr(const MORSE_option_t *options,
@@ -92,5 +78,5 @@ void MORSE_TASK_zunmqr(const MORSE_option_t *options,
         sizeof(int),           &ldc,                               VALUE,
         sizeof(MORSE_Complex64_t)*ib*nb,   NULL,                   SCRATCH,
         sizeof(int),           &nb,                                VALUE,
-        0);
+        PARSEC_DTD_ARG_END );
 }
-- 
GitLab