Mentions légales du service

Skip to content
Snippets Groups Projects
Commit a2bde4b9 authored by THIBAULT Samuel's avatar THIBAULT Samuel
Browse files

use macros in all codelets

parent 53b883fc
Branches
Tags
1 merge request!27Add macros to make codelets just declare their access and let the macro definition do what should be
Showing
with 386 additions and 361 deletions
...@@ -35,6 +35,12 @@ void MORSE_TASK_dzasum(const MORSE_option_t *options, ...@@ -35,6 +35,12 @@ void MORSE_TASK_dzasum(const MORSE_option_t *options,
{ {
struct starpu_codelet *codelet = &cl_zasum; struct starpu_codelet *codelet = &cl_zasum;
void (*callback)(void*) = options->profiling ? cl_zasum_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zasum_callback : NULL;
MORSE_BEGIN_ACCESS_DECLARATION;
MORSE_ACCESS_R(A, Am, An);
MORSE_ACCESS_RW(B, Bm, Bn);
MORSE_END_ACCESS_DECLARATION;
starpu_insert_task( starpu_insert_task(
starpu_mpi_codelet(codelet), starpu_mpi_codelet(codelet),
STARPU_VALUE, &storev, sizeof(MORSE_enum), STARPU_VALUE, &storev, sizeof(MORSE_enum),
......
...@@ -33,23 +33,25 @@ void MORSE_TASK_zaxpy(const MORSE_option_t *options, ...@@ -33,23 +33,25 @@ void MORSE_TASK_zaxpy(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zaxpy; struct starpu_codelet *codelet = &cl_zaxpy;
void (*callback)(void*) = options->profiling ? cl_zaxpy_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zaxpy_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ){ MORSE_ACCESS_R(A, Am, An);
starpu_insert_task( MORSE_ACCESS_RW(B, Bm, Bn);
starpu_mpi_codelet(codelet), MORSE_END_ACCESS_DECLARATION;
STARPU_VALUE, &M, sizeof(int),
STARPU_VALUE, alpha, sizeof(MORSE_Complex64_t), starpu_insert_task(
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), starpu_mpi_codelet(codelet),
STARPU_VALUE, &incA, sizeof(int), STARPU_VALUE, &M, sizeof(int),
STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_VALUE, alpha, sizeof(MORSE_Complex64_t),
STARPU_VALUE, &incB, sizeof(int), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_PRIORITY, options->priority, STARPU_VALUE, &incA, sizeof(int),
STARPU_CALLBACK, callback, STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_VALUE, &incB, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zaxpy", STARPU_NAME, "zaxpy",
#endif #endif
0); 0);
}
} }
......
...@@ -43,30 +43,30 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options, ...@@ -43,30 +43,30 @@ void MORSE_TASK_zbuild( const MORSE_option_t *options,
void (*callback)(void*) = options->profiling ? cl_zbuild_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zbuild_callback : NULL;
int row_min, row_max, col_min, col_max; int row_min, row_max, col_min, col_max;
MORSE_BEGIN_ACCESS_DECLARATION;
MORSE_AAAESS_RW(A, Am, An);
MORSE_END_ACCESS_DECLARATION;
if ( morse_desc_islocal( A, Am, An ) ) row_min = Am*A->mb ;
{ row_max = Am == A->mt-1 ? A->m-1 : row_min+A->mb-1 ;
row_min = Am*A->mb ; col_min = An*A->nb ;
row_max = Am == A->mt-1 ? A->m-1 : row_min+A->mb-1 ; col_max = An == A->nt-1 ? A->n-1 : col_min+A->nb-1 ;
col_min = An*A->nb ; starpu_insert_task(
col_max = An == A->nt-1 ? A->n-1 : col_min+A->nb-1 ; starpu_mpi_codelet(codelet),
starpu_insert_task( STARPU_VALUE, &row_min, sizeof(int),
starpu_mpi_codelet(codelet), STARPU_VALUE, &row_max, sizeof(int),
STARPU_VALUE, &row_min, sizeof(int), STARPU_VALUE, &col_min, sizeof(int),
STARPU_VALUE, &row_max, sizeof(int), STARPU_VALUE, &col_max, sizeof(int),
STARPU_VALUE, &col_min, sizeof(int), STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &col_max, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_W, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &user_data, sizeof(void*),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &user_build_callback, sizeof(void*),
STARPU_VALUE, &user_data, sizeof(void*), STARPU_PRIORITY, options->priority,
STARPU_VALUE, &user_build_callback, sizeof(void*), STARPU_CALLBACK, callback,
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zbuild", STARPU_NAME, "zbuild",
#endif #endif
0); 0);
}
} }
......
...@@ -91,27 +91,28 @@ void MORSE_TASK_zgeadd(const MORSE_option_t *options, ...@@ -91,27 +91,28 @@ void MORSE_TASK_zgeadd(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zgeadd; struct starpu_codelet *codelet = &cl_zgeadd;
void (*callback)(void*) = options->profiling ? cl_zgeadd_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgeadd_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_RW(B, Bm, Bn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &trans, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &m, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &trans, sizeof(MORSE_enum),
STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), STARPU_VALUE, &m, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t),
STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t),
STARPU_PRIORITY, options->priority, STARPU_RW, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldb, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgeadd", STARPU_NAME, "zgeadd",
#endif #endif
0); 0);
}
(void)nb; (void)nb;
} }
......
...@@ -104,29 +104,30 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options, ...@@ -104,29 +104,30 @@ void MORSE_TASK_zgelqt(const MORSE_option_t *options,
void (*callback)(void*) = options->profiling ? cl_zgelqt_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgelqt_callback : NULL;
MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host);
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( T, Tm, Tn ) ) MORSE_ACCESS_RW(A, Am, An);
{ MORSE_ACCESS_W(T, Tm, Tn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &ib, sizeof(int),
STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldt, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
/* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn),
STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &ldt, sizeof(int),
/* /\* ib*n + 3*ib*ib + max(m,n) *\/ */ /* max( nb * (ib+1), ib * (ib+nb) ) */
STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), STARPU_SCRATCH, options->ws_worker,
STARPU_PRIORITY, options->priority, /* /\* ib*n + 3*ib*ib + max(m,n) *\/ */
STARPU_CALLBACK, callback, STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgelqt", STARPU_NAME, "zgelqt",
#endif #endif
0); 0);
}
} }
......
...@@ -105,29 +105,30 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options, ...@@ -105,29 +105,30 @@ void MORSE_TASK_zgeqrt(const MORSE_option_t *options,
void (*callback)(void*) = options->profiling ? cl_zgeqrt_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgeqrt_callback : NULL;
MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host);
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( T, Tm, Tn ) ) MORSE_ACCESS_RW(A, Am, An);
{ MORSE_ACCESS_W(T, Tm, Tn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &ib, sizeof(int),
STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldt, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
/* max( nb * (ib+1), ib * (ib+nb) ) */ STARPU_W, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn),
STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &ldt, sizeof(int),
/* ib * (m+3*ib) + max(m,n) */ /* max( nb * (ib+1), ib * (ib+nb) ) */
STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), STARPU_SCRATCH, options->ws_worker,
STARPU_PRIORITY, options->priority, /* ib * (m+3*ib) + max(m,n) */
STARPU_CALLBACK, callback, STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgeqrt", STARPU_NAME, "zgeqrt",
#endif #endif
0); 0);
}
} }
......
...@@ -90,30 +90,31 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options, ...@@ -90,30 +90,31 @@ void MORSE_TASK_zgessm(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zgessm; struct starpu_codelet *codelet = &cl_zgessm;
void (*callback)(void*) = options->profiling ? cl_zgessm_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgessm_callback : NULL;
if ( morse_desc_islocal( L, Lm, Ln ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( D, Dm, Dn ) || MORSE_ACCESS_R(L, Lm, Ln);
morse_desc_islocal( A, Am, An ) ) MORSE_ACCESS_R(D, Dm, Dn);
{ MORSE_ACCESS_RW(A, Am, An);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &IPIV, sizeof(int*), STARPU_VALUE, &k, sizeof(int),
STARPU_R, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), STARPU_VALUE, &ib, sizeof(int),
STARPU_VALUE, &ldl, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*),
STARPU_R, RTBLKADDR(D, MORSE_Complex64_t, Dm, Dn), STARPU_R, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln),
STARPU_VALUE, &ldd, sizeof(int), STARPU_VALUE, &ldl, sizeof(int),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_R, RTBLKADDR(D, MORSE_Complex64_t, Dm, Dn),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &ldd, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_CALLBACK, callback, STARPU_VALUE, &lda, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgessm", STARPU_NAME, "zgessm",
#endif #endif
0); 0);
}
} }
......
...@@ -35,23 +35,24 @@ void MORSE_TASK_zgessq( const MORSE_option_t *options, ...@@ -35,23 +35,24 @@ void MORSE_TASK_zgessq( const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zgessq; struct starpu_codelet *codelet = &cl_zgessq;
void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( SCALESUMSQ, SCALESUMSQm, SCALESUMSQn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &m, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_PRIORITY, options->priority, STARPU_VALUE, &lda, sizeof(int),
STARPU_CALLBACK, callback, STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgessq", STARPU_NAME, "zgessq",
#endif #endif
0); 0);
}
} }
......
...@@ -40,24 +40,25 @@ void MORSE_TASK_zgetrf(const MORSE_option_t *options, ...@@ -40,24 +40,25 @@ void MORSE_TASK_zgetrf(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zgetrf; struct starpu_codelet *codelet = &cl_zgetrf;
void (*callback)(void*) = options->profiling ? cl_zgetrf_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgetrf_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) ) MORSE_BEGIN_ACCESS_DECLARATION;
{ MORSE_ACCESS_RW(A, Am, An);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &m, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &IPIV, sizeof(int*), STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &check_info, sizeof(MORSE_bool), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &iinfo, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*),
STARPU_PRIORITY, options->priority, STARPU_VALUE, &check_info, sizeof(MORSE_bool),
STARPU_CALLBACK, callback, STARPU_VALUE, &iinfo, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgetrf", STARPU_NAME, "zgetrf",
#endif #endif
0); 0);
}
} }
......
...@@ -100,30 +100,31 @@ void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options, ...@@ -100,30 +100,31 @@ void MORSE_TASK_zgetrf_incpiv(const MORSE_option_t *options,
MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host); MORSE_starpu_ws_t *h_work = (MORSE_starpu_ws_t*)(options->ws_host);
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( L, Lm, Ln ) ) MORSE_ACCESS_RW(A, Am, An);
{ MORSE_ACCESS_W(L, Lm, Ln);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &ib, sizeof(int),
STARPU_W, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln), STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldl, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &IPIV, sizeof(int*), STARPU_W, RTBLKADDR(L, MORSE_Complex64_t, Lm, Ln),
STARPU_VALUE, &check_info, sizeof(MORSE_bool), STARPU_VALUE, &ldl, sizeof(int),
STARPU_VALUE, &iinfo, sizeof(int), STARPU_VALUE, &IPIV, sizeof(int*),
STARPU_SCRATCH, options->ws_worker, STARPU_VALUE, &check_info, sizeof(MORSE_bool),
STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *), STARPU_VALUE, &iinfo, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_SCRATCH, options->ws_worker,
STARPU_CALLBACK, callback, STARPU_VALUE, &h_work, sizeof(MORSE_starpu_ws_t *),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgetrf_incpiv", STARPU_NAME, "zgetrf_incpiv",
#endif #endif
0); 0);
}
} }
......
...@@ -85,23 +85,24 @@ void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options, ...@@ -85,23 +85,24 @@ void MORSE_TASK_zgetrf_nopiv(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zgetrf_nopiv; struct starpu_codelet *codelet = &cl_zgetrf_nopiv;
void (*callback)(void*) = options->profiling ? cl_zgetrf_nopiv_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgetrf_nopiv_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) ) MORSE_BEGIN_ACCESS_DECLARATION;
{ MORSE_ACCESS_RW(A, Am, An);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &ib, sizeof(int),
STARPU_VALUE, &iinfo, sizeof(int), STARPU_RW, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_PRIORITY, options->priority, STARPU_VALUE, &lda, sizeof(int),
STARPU_CALLBACK, callback, STARPU_VALUE, &iinfo, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zgetrf_nopiv", STARPU_NAME, "zgetrf_nopiv",
#endif #endif
0); 0);
}
} }
/* /*
......
...@@ -39,25 +39,26 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options, ...@@ -39,25 +39,26 @@ void MORSE_TASK_zhe2ge(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zhe2ge; struct starpu_codelet *codelet = &cl_zhe2ge;
void (*callback)(void*) = options->profiling ? cl_zhe2ge_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zhe2ge_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_W(B, Bm, Bn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &m, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &m, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldb, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zhe2ge", STARPU_NAME, "zhe2ge",
#endif #endif
0); 0);
}
} }
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
......
...@@ -48,31 +48,32 @@ void MORSE_TASK_zhemm(const MORSE_option_t *options, ...@@ -48,31 +48,32 @@ void MORSE_TASK_zhemm(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zhemm; struct starpu_codelet *codelet = &cl_zhemm;
void (*callback)(void*) = options->profiling ? cl_zhemm_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zhemm_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) || MORSE_ACCESS_R(A, Am, An);
morse_desc_islocal( C, Cm, Cn ) ) MORSE_ACCESS_R(B, Bm, Bn);
{ MORSE_ACCESS_RW(C, Cm, Cn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &side, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), STARPU_VALUE, &side, sizeof(MORSE_enum),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), STARPU_VALUE, &m, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t),
STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t), STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), STARPU_VALUE, &ldb, sizeof(int),
STARPU_VALUE, &ldc, sizeof(int), STARPU_VALUE, &beta, sizeof(MORSE_Complex64_t),
STARPU_PRIORITY, options->priority, STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldc, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zhemm", STARPU_NAME, "zhemm",
#endif #endif
0); 0);
}
} }
......
...@@ -48,31 +48,32 @@ void MORSE_TASK_zher2k(const MORSE_option_t *options, ...@@ -48,31 +48,32 @@ void MORSE_TASK_zher2k(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zher2k; struct starpu_codelet *codelet = &cl_zher2k;
void (*callback)(void*) = options->profiling ? cl_zher2k_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zher2k_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) || MORSE_ACCESS_R(A, Am, An);
morse_desc_islocal( C, Cm, Cn ) ) MORSE_ACCESS_R(B, Bm, Bn);
{ MORSE_ACCESS_RW(C, Cm, Cn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &trans, sizeof(MORSE_enum), starpu_mpi_codelet(codelet),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &trans, sizeof(MORSE_enum),
STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t), STARPU_VALUE, &n, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &k, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &alpha, sizeof(MORSE_Complex64_t),
STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &beta, sizeof(double), STARPU_R, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), STARPU_VALUE, &ldb, sizeof(int),
STARPU_VALUE, &ldc, sizeof(int), STARPU_VALUE, &beta, sizeof(double),
STARPU_PRIORITY, options->priority, STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldc, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zher2k", STARPU_NAME, "zher2k",
#endif #endif
0); 0);
}
} }
......
...@@ -40,32 +40,33 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options, ...@@ -40,32 +40,33 @@ void MORSE_TASK_zherfb(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zherfb; struct starpu_codelet *codelet = &cl_zherfb;
void (*callback)(void*) = options->profiling ? cl_zherfb_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zherfb_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( T, Tm, Tn ) || MORSE_ACCESS_R(A, Am, An);
morse_desc_islocal( C, Cm, Cn ) ) MORSE_ACCESS_R(T, Tm, Tn);
{ MORSE_ACCESS_RW(C, Cm, Cn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &ib, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &nb, sizeof(int), STARPU_VALUE, &k, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &ib, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &nb, sizeof(int),
STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldt, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), STARPU_R, RTBLKADDR(T, MORSE_Complex64_t, Tm, Tn),
STARPU_VALUE, &ldc, sizeof(int), STARPU_VALUE, &ldt, sizeof(int),
STARPU_SCRATCH, options->ws_worker, STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn),
STARPU_VALUE, &nb, sizeof(int), STARPU_VALUE, &ldc, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_SCRATCH, options->ws_worker,
STARPU_CALLBACK, callback, STARPU_VALUE, &nb, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zherfb", STARPU_NAME, "zherfb",
#endif #endif
0); 0);
}
} }
......
...@@ -47,28 +47,29 @@ void MORSE_TASK_zherk(const MORSE_option_t *options, ...@@ -47,28 +47,29 @@ void MORSE_TASK_zherk(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zherk; struct starpu_codelet *codelet = &cl_zherk;
void (*callback)(void*) = options->profiling ? cl_zherk_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zherk_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( C, Cm, Cn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_RW(C, Cm, Cn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &trans, sizeof(MORSE_enum), starpu_mpi_codelet(codelet),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &k, sizeof(int), STARPU_VALUE, &trans, sizeof(MORSE_enum),
STARPU_VALUE, &alpha, sizeof(double), STARPU_VALUE, &n, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &k, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &alpha, sizeof(double),
STARPU_VALUE, &beta, sizeof(double), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &ldc, sizeof(int), STARPU_VALUE, &beta, sizeof(double),
STARPU_PRIORITY, options->priority, STARPU_RW, RTBLKADDR(C, MORSE_Complex64_t, Cm, Cn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldc, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zherk", STARPU_NAME, "zherk",
#endif #endif
0); 0);
}
} }
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
......
...@@ -35,23 +35,24 @@ void MORSE_TASK_zhessq( const MORSE_option_t *options, ...@@ -35,23 +35,24 @@ void MORSE_TASK_zhessq( const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zhessq; struct starpu_codelet *codelet = &cl_zhessq;
void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zgessq_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( SCALESUMSQ, SCALESUMSQm, SCALESUMSQn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_RW(SCALESUMSQ, SCALESUMSQm, SCALESUMSQn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_PRIORITY, options->priority, STARPU_VALUE, &lda, sizeof(int),
STARPU_CALLBACK, callback, STARPU_RW, RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zhessq", STARPU_NAME, "zhessq",
#endif #endif
0); 0);
}
} }
......
...@@ -47,27 +47,28 @@ void MORSE_TASK_zlacpyx(const MORSE_option_t *options, ...@@ -47,27 +47,28 @@ void MORSE_TASK_zlacpyx(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zlacpy; struct starpu_codelet *codelet = &cl_zlacpy;
void (*callback)(void*) = options->profiling ? cl_zlacpy_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zlacpy_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_W(B, Bm, Bn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &uplo, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &m, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &n, sizeof(int), STARPU_VALUE, &uplo, sizeof(MORSE_enum),
STARPU_VALUE, &displA, sizeof(int), STARPU_VALUE, &m, sizeof(int),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &n, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &displA, sizeof(int),
STARPU_VALUE, &displB, sizeof(int), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn), STARPU_VALUE, &lda, sizeof(int),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &displB, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_W, RTBLKADDR(B, MORSE_Complex64_t, Bm, Bn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldb, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zlacpy", STARPU_NAME, "zlacpy",
#endif #endif
0); 0);
}
} }
void MORSE_TASK_zlacpy(const MORSE_option_t *options, void MORSE_TASK_zlacpy(const MORSE_option_t *options,
......
...@@ -44,24 +44,25 @@ void MORSE_TASK_zlag2c(const MORSE_option_t *options, ...@@ -44,24 +44,25 @@ void MORSE_TASK_zlag2c(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zlag2c; struct starpu_codelet *codelet = &cl_zlag2c;
void (*callback)(void*) = options->profiling ? cl_zlag2c_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zlag2c_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_W(B, Bm, Bn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &m, sizeof(int), starpu_insert_task(
STARPU_VALUE, &n, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &m, sizeof(int),
STARPU_VALUE, &lda, sizeof(int), STARPU_VALUE, &n, sizeof(int),
STARPU_W, RTBLKADDR(B, MORSE_Complex32_t, Bm, Bn), STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_VALUE, &ldb, sizeof(int), STARPU_VALUE, &lda, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_W, RTBLKADDR(B, MORSE_Complex32_t, Bm, Bn),
STARPU_CALLBACK, callback, STARPU_VALUE, &ldb, sizeof(int),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zlag2c", STARPU_NAME, "zlag2c",
#endif #endif
0); 0);
}
} }
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
......
...@@ -39,25 +39,26 @@ void MORSE_TASK_zlange(const MORSE_option_t *options, ...@@ -39,25 +39,26 @@ void MORSE_TASK_zlange(const MORSE_option_t *options,
struct starpu_codelet *codelet = &cl_zlange; struct starpu_codelet *codelet = &cl_zlange;
void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL; void (*callback)(void*) = options->profiling ? cl_zlange_callback : NULL;
if ( morse_desc_islocal( A, Am, An ) || MORSE_BEGIN_ACCESS_DECLARATION;
morse_desc_islocal( B, Bm, Bn ) ) MORSE_ACCESS_R(A, Am, An);
{ MORSE_ACCESS_W(B, Bm, Bn);
starpu_insert_task( MORSE_END_ACCESS_DECLARATION;
starpu_mpi_codelet(codelet),
STARPU_VALUE, &norm, sizeof(MORSE_enum), starpu_insert_task(
STARPU_VALUE, &M, sizeof(int), starpu_mpi_codelet(codelet),
STARPU_VALUE, &N, sizeof(int), STARPU_VALUE, &norm, sizeof(MORSE_enum),
STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An), STARPU_VALUE, &M, sizeof(int),
STARPU_VALUE, &LDA, sizeof(int), STARPU_VALUE, &N, sizeof(int),
STARPU_SCRATCH, options->ws_worker, STARPU_R, RTBLKADDR(A, MORSE_Complex64_t, Am, An),
STARPU_W, RTBLKADDR(B, double, Bm, Bn), STARPU_VALUE, &LDA, sizeof(int),
STARPU_PRIORITY, options->priority, STARPU_SCRATCH, options->ws_worker,
STARPU_CALLBACK, callback, STARPU_W, RTBLKADDR(B, double, Bm, Bn),
STARPU_PRIORITY, options->priority,
STARPU_CALLBACK, callback,
#if defined(CHAMELEON_CODELETS_HAVE_NAME) #if defined(CHAMELEON_CODELETS_HAVE_NAME)
STARPU_NAME, "zlange", STARPU_NAME, "zlange",
#endif #endif
0); 0);
}
} }
#if !defined(CHAMELEON_SIMULATION) #if !defined(CHAMELEON_SIMULATION)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment