Commit 195a1bf8 authored by Philippe Virouleau's avatar Philippe Virouleau

Final fixes to make tests pass

parent 4f60cf7c
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -31,7 +31,7 @@ void INSERT_TASK_dzasum(const RUNTIME_option_t *options, ...@@ -31,7 +31,7 @@ void INSERT_TASK_dzasum(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ); CHAMELEON_Complex64_t *ptrA = RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An );
double *ptrB = RTBLKADDR( B, double, Bm, Bn ); double *ptrB = RTBLKADDR( B, double, Bm, Bn );
#pragma omp task firstprivate(storev, uplo, M, N, lda, ptrA, ptrB) depend(in:ptrA[0:Am*An]) depend(inout:ptrB[0:Bm*Bn]) #pragma omp task firstprivate(storev, uplo, M, N, lda, ptrA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0])
CORE_dzasum(storev, uplo, M, N, ptrA, lda, ptrB); CORE_dzasum(storev, uplo, M, N, ptrA, lda, ptrB);
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -29,7 +29,7 @@ void INSERT_TASK_zaxpy(const RUNTIME_option_t *options, ...@@ -29,7 +29,7 @@ void INSERT_TASK_zaxpy(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn);
#pragma omp task firstprivate(M, alpha, incA, incB, ptrA, ptrB) depend(in:ptrA[0:Am*An]) depend(inout:ptrB[0:Bm*Bn]) #pragma omp task firstprivate(M, alpha, incA, incB, ptrA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0])
CORE_zaxpy(M, alpha, ptrA, incA, ptrB, incB); CORE_zaxpy(M, alpha, ptrA, incA, ptrB, incB);
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -42,6 +42,6 @@ void INSERT_TASK_zbuild( const RUNTIME_option_t *options, ...@@ -42,6 +42,6 @@ void INSERT_TASK_zbuild( const RUNTIME_option_t *options,
void (*callback)(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) ; void (*callback)(int row_min, int row_max, int col_min, int col_max, void *buffer, int ld, void *user_data) ;
callback = user_build_callback; callback = user_build_callback;
#pragma omp task firstprivate(row_min, row_max, col_min, col_max, ptrA, lda, user_data) depend(inout:ptrA[0:Am*An]) #pragma omp task firstprivate(row_min, row_max, col_min, col_max, ptrA, lda, user_data) depend(inout:ptrA[0])
callback(row_min, row_max, col_min, col_max, ptrA, lda, user_data); callback(row_min, row_max, col_min, col_max, ptrA, lda, user_data);
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -87,6 +87,6 @@ void INSERT_TASK_zgeadd(const RUNTIME_option_t *options, ...@@ -87,6 +87,6 @@ void INSERT_TASK_zgeadd(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn);
#pragma omp task firstprivate(trans, m, n, alpha, beta, lda, ldb, ptrA, ptrB) depend(in:ptrA[0:Am*An]) depend(inout:ptrB[0:Bm*Bn]) #pragma omp task firstprivate(trans, m, n, alpha, beta, lda, ldb, ptrA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0])
CORE_zgeadd(trans, m, n, alpha, ptrA, lda, beta, ptrB, ldb); CORE_zgeadd(trans, m, n, alpha, ptrA, lda, beta, ptrB, ldb);
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -97,9 +97,10 @@ void INSERT_TASK_zgelqt(const RUNTIME_option_t *options, ...@@ -97,9 +97,10 @@ void INSERT_TASK_zgelqt(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn);
#pragma omp task firstprivate(m, n, ib, ptrA, lda, ptrT, ldt) depend(inout:ptrA[0]) depend(inout:ptrT[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, m, n, ib, ptrA, lda, ptrT, ldt) depend(inout:ptrA[0]) depend(inout:ptrT[0])
{ {
CHAMELEON_Complex64_t TAU[options->ws_wsize]; CHAMELEON_Complex64_t TAU[ws_size];
CHAMELEON_Complex64_t *work = TAU + chameleon_max( m, n ); CHAMELEON_Complex64_t *work = TAU + chameleon_max( m, n );
CORE_zgelqt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work); CORE_zgelqt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work);
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -98,9 +98,10 @@ void INSERT_TASK_zgeqrt(const RUNTIME_option_t *options, ...@@ -98,9 +98,10 @@ void INSERT_TASK_zgeqrt(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn);
#pragma omp task firstprivate(m, n, ib, ptrA, lda, ptrT, ldt) depend(inout:ptrA[0]) depend(inout:ptrT[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, m, n, ib, ptrA, lda, ptrT, ldt) depend(inout:ptrA[0]) depend(inout:ptrT[0])
{ {
CHAMELEON_Complex64_t TAU[options->ws_wsize]; CHAMELEON_Complex64_t TAU[ws_size];
CHAMELEON_Complex64_t *work = TAU + chameleon_max(m, n); CHAMELEON_Complex64_t *work = TAU + chameleon_max(m, n);
CORE_zgeqrt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work); CORE_zgeqrt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work);
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -31,6 +31,6 @@ void INSERT_TASK_zgessq( const RUNTIME_option_t *options, ...@@ -31,6 +31,6 @@ void INSERT_TASK_zgessq( const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
double *ptrScaleSum = RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn); double *ptrScaleSum = RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn);
#pragma omp task firstprivate(m, n, ptrA, lda, ptrScaleSum) depend(in:ptrA[0:Am*An]) depend(inout:ptrScaleSum[0:SCALESUMSQm*SCALESUMSQn]) #pragma omp task firstprivate(m, n, ptrA, lda, ptrScaleSum) depend(in:ptrA[0]) depend(inout:ptrScaleSum[0])
CORE_zgessq( m, n, ptrA, lda, &ptrScaleSum[0], &ptrScaleSum[1] ); CORE_zgessq( m, n, ptrA, lda, &ptrScaleSum[0], &ptrScaleSum[1] );
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -32,6 +32,6 @@ void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options, ...@@ -32,6 +32,6 @@ void INSERT_TASK_zhe2ge(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ); CHAMELEON_Complex64_t *ptrA = RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An );
CHAMELEON_Complex64_t *ptrB = RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn ); CHAMELEON_Complex64_t *ptrB = RTBLKADDR( B, CHAMELEON_Complex64_t, Bm, Bn );
#pragma omp task firstprivate(uplo, m, n, ptrA, lda, ptrB, ldb) depend(in: ptrA[0:Am*An]) depend(inout:ptrB[0:Bm*Bn]) #pragma omp task firstprivate(uplo, m, n, ptrA, lda, ptrB, ldb) depend(in: ptrA[0]) depend(inout:ptrB[0])
CORE_zhe2ge(uplo, m, n, ptrA, lda, ptrB, ldb); CORE_zhe2ge(uplo, m, n, ptrA, lda, ptrB, ldb);
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -43,7 +43,7 @@ void INSERT_TASK_zher2k(const RUNTIME_option_t *options, ...@@ -43,7 +43,7 @@ void INSERT_TASK_zher2k(const RUNTIME_option_t *options,
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn);
CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn); CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn);
#pragma omp task firstprivate(uplo, trans, n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc) depend(in:ptrA[0:Am*An], ptrB[0:Bm*Bn]) depend(inout:ptrC[0:Cm*Cn]) #pragma omp task firstprivate(uplo, trans, n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc) depend(in:ptrA[0], ptrB[0]) depend(inout:ptrC[0])
CORE_zher2k(uplo, trans, CORE_zher2k(uplo, trans,
n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc); n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc);
} }
...@@ -35,9 +35,10 @@ void INSERT_TASK_zherfb(const RUNTIME_option_t *options, ...@@ -35,9 +35,10 @@ void INSERT_TASK_zherfb(const RUNTIME_option_t *options,
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn);
CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn); CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn);
#pragma omp task firstprivate(uplo, n, k, ib, nb, ptrA, lda, ptrT, ldt) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, uplo, n, k, ib, nb, ptrA, lda, ptrT, ldt) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0])
{ {
CHAMELEON_Complex64_t work[options->ws_wsize]; CHAMELEON_Complex64_t work[ws_size];
CORE_zherfb(uplo, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc, work, nb); CORE_zherfb(uplo, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc, work, nb);
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -41,7 +41,7 @@ void INSERT_TASK_zherk(const RUNTIME_option_t *options, ...@@ -41,7 +41,7 @@ void INSERT_TASK_zherk(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn); CHAMELEON_Complex64_t *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn);
#pragma omp task firstprivate(uplo, trans, n, k, alpha, ptrA, lda, beta, ptrC, ldc) depend(in:ptrA[0:Am*An]) depend(inout:ptrC[0:Cm*Cn]) #pragma omp task firstprivate(uplo, trans, n, k, alpha, ptrA, lda, beta, ptrC, ldc) depend(in:ptrA[0]) depend(inout:ptrC[0])
CORE_zherk(uplo, trans, CORE_zherk(uplo, trans,
n, k, n, k,
alpha, ptrA, lda, alpha, ptrA, lda,
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -33,9 +33,10 @@ void INSERT_TASK_zlange(const RUNTIME_option_t *options, ...@@ -33,9 +33,10 @@ void INSERT_TASK_zlange(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
double *ptrB = RTBLKADDR(B, double, Bm, Bn); double *ptrB = RTBLKADDR(B, double, Bm, Bn);
#pragma omp task firstprivate(M, N, ptrA, LDA, ptrB, options) depend(in:ptrA[0]) depend(inout:ptrB[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, M, N, ptrA, LDA, ptrB, options) depend(in:ptrA[0]) depend(inout:ptrB[0])
{ {
double work[options->ws_wsize]; double work[ws_size];
CORE_zlange( norm, M, N, ptrA, LDA, work, ptrB); CORE_zlange( norm, M, N, ptrA, LDA, work, ptrB);
} }
} }
...@@ -47,6 +48,9 @@ void INSERT_TASK_zlange_max(const RUNTIME_option_t *options, ...@@ -47,6 +48,9 @@ void INSERT_TASK_zlange_max(const RUNTIME_option_t *options,
double *ptrA = RTBLKADDR(A, double, Am, An); double *ptrA = RTBLKADDR(A, double, Am, An);
double *ptrB = RTBLKADDR(B, double, Bm, Bn); double *ptrB = RTBLKADDR(B, double, Bm, Bn);
if ( *ptrA > *ptrB ) #pragma omp task firstprivate(ptrA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0])
*ptrB = *ptrA; {
if ( *ptrA > *ptrB )
*ptrB = *ptrA;
}
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -33,9 +33,10 @@ void INSERT_TASK_zlanhe(const RUNTIME_option_t *options, ...@@ -33,9 +33,10 @@ void INSERT_TASK_zlanhe(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
double *normA = RTBLKADDR(B, double, Bm, Bn); double *normA = RTBLKADDR(B, double, Bm, Bn);
#pragma omp task firstprivate(norm, uplo, N, ptrA, LDA, normA) depend(in:ptrA[0]) depend(inout:normA[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, norm, uplo, N, ptrA, LDA, normA) depend(in:ptrA[0]) depend(inout:normA[0])
{ {
double work[options->ws_wsize]; double work[ws_size];
CORE_zlanhe( norm, uplo, N, ptrA, LDA, work, normA); CORE_zlanhe( norm, uplo, N, ptrA, LDA, work, normA);
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -33,9 +33,10 @@ void INSERT_TASK_zlansy(const RUNTIME_option_t *options, ...@@ -33,9 +33,10 @@ void INSERT_TASK_zlansy(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
double *normA = RTBLKADDR(B, double, Bm, Bn); double *normA = RTBLKADDR(B, double, Bm, Bn);
#pragma omp task firstprivate(norm, uplo, N, ptrA, LDA, normA) depend(in:ptrA[0]) depend(inout:normA[0]) int ws_size = options->ws_wsize;
#pragma omp task firstprivate(ws_size, norm, uplo, N, ptrA, LDA, normA) depend(in:ptrA[0]) depend(inout:normA[0])
{ {
double work[options->ws_wsize]; double work[ws_size];
CORE_zlansy( norm, uplo, N, ptrA, LDA, work, normA); CORE_zlansy( norm, uplo, N, ptrA, LDA, work, normA);
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -32,9 +32,10 @@ void INSERT_TASK_zlantr(const RUNTIME_option_t *options, ...@@ -32,9 +32,10 @@ void INSERT_TASK_zlantr(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
double *ptrB = RTBLKADDR(B, double, Bm, Bn); double *ptrB = RTBLKADDR(B, double, Bm, Bn);
#pragma omp task firstprivate(norm, uplo, diag, M, N, ptrA, LDA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0]) int ws_wsize = options->ws_wsize;
#pragma omp task firstprivate(ws_wsize, norm, uplo, diag, M, N, ptrA, LDA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0])
{ {
double work[options->ws_wsize]; double work[ws_wsize];
CORE_zlantr(norm, uplo, diag, M, N, ptrA, LDA, work, ptrB); CORE_zlantr(norm, uplo, diag, M, N, ptrA, LDA, work, ptrB);
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -67,6 +67,6 @@ void INSERT_TASK_zlaset2(const RUNTIME_option_t *options, ...@@ -67,6 +67,6 @@ void INSERT_TASK_zlaset2(const RUNTIME_option_t *options,
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
#pragma omp task firstprivate(uplo, M, N, alpha, ptrA, LDA) depend(inout:ptrA[0:Am*An]) #pragma omp task firstprivate(uplo, M, N, alpha, ptrA, LDA) depend(inout:ptrA[0])
CORE_zlaset2(uplo, M, N, alpha, ptrA, LDA); CORE_zlaset2(uplo, M, N, alpha, ptrA, LDA);
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -35,6 +35,6 @@ void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, ...@@ -35,6 +35,6 @@ void INSERT_TASK_zplgsy( const RUNTIME_option_t *options,
int bigM, int m0, int n0, unsigned long long int seed ) int bigM, int m0, int n0, unsigned long long int seed )
{ {
CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An);
#pragma omp task firstprivate(bump, m, n, ptrA, lda, bigM, m0, n0, seed) depend(inout:ptrA[0:Am*An]) #pragma omp task firstprivate(bump, m, n, ptrA, lda, bigM, m0, n0, seed) depend(inout:ptrA[0])
CORE_zplgsy( bump, m, n, ptrA, lda, bigM, m0, n0, seed ); CORE_zplgsy( bump, m, n, ptrA, lda, bigM, m0, n0, seed );
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* @copyright 2009-2014 The University of Tennessee and The University of * @copyright 2009-2014 The University of Tennessee and The University of
* Tennessee Research Foundation. All rights reserved. * Tennessee Research Foundation. All rights reserved.
* @copyright 2012-2016 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria, * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
* Univ. Bordeaux. All rights reserved. * Univ. Bordeaux. All rights reserved.
* *
*** ***
...@@ -60,14 +60,16 @@ void INSERT_TASK_zplssq( const RUNTIME_option_t *options, ...@@ -60,14 +60,16 @@ void INSERT_TASK_zplssq( const RUNTIME_option_t *options,
const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn, const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn,
const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn ) const CHAM_desc_t *SCLSSQ, int SCLSSQm, int SCLSSQn )
{ {
double *scl = RTBLKADDR(SCLSSQ, double, SCLSSQm, SCLSSQn);
double *scalesum = RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn); double *scalesum = RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn);
double *scl = RTBLKADDR(SCLSSQ, double, SCLSSQm, SCLSSQn);
if( scl[0] < scalesum[0] ) {