diff --git a/runtime/openmp/codelets/codelet_zasum.c b/runtime/openmp/codelets/codelet_zasum.c index 4b313403796dd58be30fcabad0498e6f34e50402..036c0a1007b31398677c5c99de58a966039b1a00 100644 --- a/runtime/openmp/codelets/codelet_zasum.c +++ b/runtime/openmp/codelets/codelet_zasum.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -31,7 +31,7 @@ void INSERT_TASK_dzasum(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR( A, CHAMELEON_Complex64_t, Am, An ); 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); } diff --git a/runtime/openmp/codelets/codelet_zaxpy.c b/runtime/openmp/codelets/codelet_zaxpy.c index 5e788e887106091958ace2e32f7d3c6f7fd32cb7..6de39f6dd9357a25df795b5bd1f2dea5fe55921c 100644 --- a/runtime/openmp/codelets/codelet_zaxpy.c +++ b/runtime/openmp/codelets/codelet_zaxpy.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *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); } diff --git a/runtime/openmp/codelets/codelet_zbuild.c b/runtime/openmp/codelets/codelet_zbuild.c index 5604190711400f922062c119e2e2908e2ce777c8..1952fa385734890393a2b3ff76b42964ebfa9a22 100644 --- a/runtime/openmp/codelets/codelet_zbuild.c +++ b/runtime/openmp/codelets/codelet_zbuild.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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) ; 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); } diff --git a/runtime/openmp/codelets/codelet_zgeadd.c b/runtime/openmp/codelets/codelet_zgeadd.c index a9ec7c45c7587c196f8a123b95cefec9745a5636..1d18ff18f83a3d4f7f6343e92ec16246d265ef96 100644 --- a/runtime/openmp/codelets/codelet_zgeadd.c +++ b/runtime/openmp/codelets/codelet_zgeadd.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *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); } diff --git a/runtime/openmp/codelets/codelet_zgelqt.c b/runtime/openmp/codelets/codelet_zgelqt.c index 576c301ac4a0997ddf8ac99ae75e7cd23ab8e604..71a9bddceef10244b194948d3a7c3623168ea03c 100644 --- a/runtime/openmp/codelets/codelet_zgelqt.c +++ b/runtime/openmp/codelets/codelet_zgelqt.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *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 ); CORE_zgelqt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work); } diff --git a/runtime/openmp/codelets/codelet_zgemm.c b/runtime/openmp/codelets/codelet_zgemm.c index 149174b0c7c2eedec10a4ba11e3d393ac3c7072c..68aec8de49aa853b5ca3aa8bd9d54ddd9ca2eb30 100644 --- a/runtime/openmp/codelets/codelet_zgemm.c +++ b/runtime/openmp/codelets/codelet_zgemm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zgeqrt.c b/runtime/openmp/codelets/codelet_zgeqrt.c index 86af5b34d0f17ee9f06f02c5df4835e4ba6db3f4..a097637736103f1b1e1e90a4f6e72407c5ce68b9 100644 --- a/runtime/openmp/codelets/codelet_zgeqrt.c +++ b/runtime/openmp/codelets/codelet_zgeqrt.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *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); CORE_zgeqrt(m, n, ib, ptrA, lda, ptrT, ldt, TAU, work); } diff --git a/runtime/openmp/codelets/codelet_zgessm.c b/runtime/openmp/codelets/codelet_zgessm.c index 477fb429dad98bf1d6adbaef214683c24df487f2..cd24a4ac0a6e9e1fd04743d12ac110dc4334f4f8 100644 --- a/runtime/openmp/codelets/codelet_zgessm.c +++ b/runtime/openmp/codelets/codelet_zgessm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zgessq.c b/runtime/openmp/codelets/codelet_zgessq.c index 4a52eeab842f6cb12927df85ce76b616f0902563..f28d03affa325ae49e55bec9f85ab790fec74d1a 100644 --- a/runtime/openmp/codelets/codelet_zgessq.c +++ b/runtime/openmp/codelets/codelet_zgessq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -31,6 +31,6 @@ void INSERT_TASK_zgessq( const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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] ); } diff --git a/runtime/openmp/codelets/codelet_zgetrf.c b/runtime/openmp/codelets/codelet_zgetrf.c index cbe6065d7f8a1cc5882a1102613ec73ddaedd85d..d7cc9fe75179ed236a3a0a80246ff01fc6962b30 100644 --- a/runtime/openmp/codelets/codelet_zgetrf.c +++ b/runtime/openmp/codelets/codelet_zgetrf.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zgetrf_incpiv.c b/runtime/openmp/codelets/codelet_zgetrf_incpiv.c index cafc9580606beeabe448782aeb20e54d4d5675fa..20b5e92d3cd22eb6d323769e5f7d65d020858452 100644 --- a/runtime/openmp/codelets/codelet_zgetrf_incpiv.c +++ b/runtime/openmp/codelets/codelet_zgetrf_incpiv.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zgetrf_nopiv.c b/runtime/openmp/codelets/codelet_zgetrf_nopiv.c index 71f181f798f0bf94adde4dc7d78a907e4099aba3..5f26b76e9b5ba139af2d25c21d0302811f5e6baf 100644 --- a/runtime/openmp/codelets/codelet_zgetrf_nopiv.c +++ b/runtime/openmp/codelets/codelet_zgetrf_nopiv.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zhe2ge.c b/runtime/openmp/codelets/codelet_zhe2ge.c index 6e5066818a52485c57220fdfb54fd289683a67c6..06ffbf7249d88c59891fd2cea7a40166b80c59eb 100644 --- a/runtime/openmp/codelets/codelet_zhe2ge.c +++ b/runtime/openmp/codelets/codelet_zhe2ge.c @@ -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 *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); } diff --git a/runtime/openmp/codelets/codelet_zhemm.c b/runtime/openmp/codelets/codelet_zhemm.c index 71f6f9188e44ecfcbdef956d02627a0d691632fa..331459e479f3d6330b793a5833d7f1e1575dcca0 100644 --- a/runtime/openmp/codelets/codelet_zhemm.c +++ b/runtime/openmp/codelets/codelet_zhemm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zher2k.c b/runtime/openmp/codelets/codelet_zher2k.c index 39993c4541b2085f7aa7a407e2df5964edacd2fd..a999ae5829f1758f462ebabd141e332d0db7062d 100644 --- a/runtime/openmp/codelets/codelet_zher2k.c +++ b/runtime/openmp/codelets/codelet_zher2k.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); 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, n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc); } diff --git a/runtime/openmp/codelets/codelet_zherfb.c b/runtime/openmp/codelets/codelet_zherfb.c index 68bf13253eaf6b285fb0111bbfb66407de72d244..2699b10031267012b77537e7b9f1e2969c4059cf 100644 --- a/runtime/openmp/codelets/codelet_zherfb.c +++ b/runtime/openmp/codelets/codelet_zherfb.c @@ -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 *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); 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); } } diff --git a/runtime/openmp/codelets/codelet_zherk.c b/runtime/openmp/codelets/codelet_zherk.c index e4ec9957dd724923ec774aa09a91426de0561e12..a177be9b7baa9a9205d01cbbe2880f432b87fa51 100644 --- a/runtime/openmp/codelets/codelet_zherk.c +++ b/runtime/openmp/codelets/codelet_zherk.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *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, n, k, alpha, ptrA, lda, diff --git a/runtime/openmp/codelets/codelet_zhessq.c b/runtime/openmp/codelets/codelet_zhessq.c index 3ebc6c04ad625bfd320f8671cf697eabb63fddde..46cd0f5c7037b64610dd3d2aa7cfc501101114ad 100644 --- a/runtime/openmp/codelets/codelet_zhessq.c +++ b/runtime/openmp/codelets/codelet_zhessq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zlacpy.c b/runtime/openmp/codelets/codelet_zlacpy.c index edb1541c2d4c9765d0a6ed0141c0af02ec9248ec..74e420c31c178c45a96f4fd57ac4d05751ad4abd 100644 --- a/runtime/openmp/codelets/codelet_zlacpy.c +++ b/runtime/openmp/codelets/codelet_zlacpy.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zlag2c.c b/runtime/openmp/codelets/codelet_zlag2c.c index 471210acf52eb4e9fa723b5251b9e0a9364253a4..b65a938fec6ae4ac078210d7befc9820fc0c7bb9 100644 --- a/runtime/openmp/codelets/codelet_zlag2c.c +++ b/runtime/openmp/codelets/codelet_zlag2c.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zlange.c b/runtime/openmp/codelets/codelet_zlange.c index f8ce5268f4e9572f1885cfb4b11940d00598f8d1..7c898916e1a394ca41df16acb95f2c9f313fcc98 100644 --- a/runtime/openmp/codelets/codelet_zlange.c +++ b/runtime/openmp/codelets/codelet_zlange.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -33,9 +33,10 @@ void INSERT_TASK_zlange(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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); } } @@ -47,6 +48,9 @@ void INSERT_TASK_zlange_max(const RUNTIME_option_t *options, double *ptrA = RTBLKADDR(A, double, Am, An); double *ptrB = RTBLKADDR(B, double, Bm, Bn); - if ( *ptrA > *ptrB ) - *ptrB = *ptrA; +#pragma omp task firstprivate(ptrA, ptrB) depend(in:ptrA[0]) depend(inout:ptrB[0]) + { + if ( *ptrA > *ptrB ) + *ptrB = *ptrA; + } } diff --git a/runtime/openmp/codelets/codelet_zlanhe.c b/runtime/openmp/codelets/codelet_zlanhe.c index 4c278ae65fc49c798c5fc598fd2bb60e9b11c0b3..094245ddf4ef68d28c2e2357b73a325318280e5e 100644 --- a/runtime/openmp/codelets/codelet_zlanhe.c +++ b/runtime/openmp/codelets/codelet_zlanhe.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -33,9 +33,10 @@ void INSERT_TASK_zlanhe(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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); } } diff --git a/runtime/openmp/codelets/codelet_zlansy.c b/runtime/openmp/codelets/codelet_zlansy.c index e2097ed80eb708908b7485080002ecc7fadc3170..f4f8834c45a5febdf37aa9a94400c5c3cad6eb19 100644 --- a/runtime/openmp/codelets/codelet_zlansy.c +++ b/runtime/openmp/codelets/codelet_zlansy.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -33,9 +33,10 @@ void INSERT_TASK_zlansy(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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); } } diff --git a/runtime/openmp/codelets/codelet_zlantr.c b/runtime/openmp/codelets/codelet_zlantr.c index 90cbfd7ce59458df8b6ae24188a925eb9df9825f..517bf27a2375a3cd492b58bac3f35c76c055127f 100644 --- a/runtime/openmp/codelets/codelet_zlantr.c +++ b/runtime/openmp/codelets/codelet_zlantr.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -32,9 +32,10 @@ void INSERT_TASK_zlantr(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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); } } diff --git a/runtime/openmp/codelets/codelet_zlascal.c b/runtime/openmp/codelets/codelet_zlascal.c index 6fab5350c1795d5900548953ebf49d75d59c20c8..d579bb39ae0f47273c14c301b5f7fd05f9d665ec 100644 --- a/runtime/openmp/codelets/codelet_zlascal.c +++ b/runtime/openmp/codelets/codelet_zlascal.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zlaset.c b/runtime/openmp/codelets/codelet_zlaset.c index b52097f88e9debc059eac51af7d85e30ce4998c0..6d9eb3768fdf660bd993ed6e1f4978fb97930f3b 100644 --- a/runtime/openmp/codelets/codelet_zlaset.c +++ b/runtime/openmp/codelets/codelet_zlaset.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zlaset2.c b/runtime/openmp/codelets/codelet_zlaset2.c index c15423c4c43cf7362e82d4d8e7a5f1d98ad5b290..08e49e0ba61e438bc17f851007485a6cf00f2b6d 100644 --- a/runtime/openmp/codelets/codelet_zlaset2.c +++ b/runtime/openmp/codelets/codelet_zlaset2.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -67,6 +67,6 @@ void INSERT_TASK_zlaset2(const RUNTIME_option_t *options, { 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); } diff --git a/runtime/openmp/codelets/codelet_zlauum.c b/runtime/openmp/codelets/codelet_zlauum.c index ccf91f7996c10f89fa0dcb08a2b3e57bd1057783..7ab7c8b99de5c9e5646562eb5b3ab3ebc32b0209 100644 --- a/runtime/openmp/codelets/codelet_zlauum.c +++ b/runtime/openmp/codelets/codelet_zlauum.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zplghe.c b/runtime/openmp/codelets/codelet_zplghe.c index 17aa51eedd0e3c3207c56ca1332e89107cc5daab..06e890a459444492cf59384f5eaebe65f469a92e 100644 --- a/runtime/openmp/codelets/codelet_zplghe.c +++ b/runtime/openmp/codelets/codelet_zplghe.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zplgsy.c b/runtime/openmp/codelets/codelet_zplgsy.c index 85a5168e4dcd39fa2c8bc1613719abc4c2020044..5269d527617a8efac61a2f841401af2b9fcb03aa 100644 --- a/runtime/openmp/codelets/codelet_zplgsy.c +++ b/runtime/openmp/codelets/codelet_zplgsy.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -35,6 +35,6 @@ void INSERT_TASK_zplgsy( const RUNTIME_option_t *options, int bigM, int m0, int n0, unsigned long long int seed ) { 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 ); } diff --git a/runtime/openmp/codelets/codelet_zplrnt.c b/runtime/openmp/codelets/codelet_zplrnt.c index 2a8d8486b94b0b427a441de20a659b986819aa0c..35cb6300c55c4d8fcf3276f952767fd24321981b 100644 --- a/runtime/openmp/codelets/codelet_zplrnt.c +++ b/runtime/openmp/codelets/codelet_zplrnt.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zplssq.c b/runtime/openmp/codelets/codelet_zplssq.c index eb986bce1568da481731ff3ff45f75e332d68e7d..bf72752ec10eadea297c04e3135ed4eefff4a400 100644 --- a/runtime/openmp/codelets/codelet_zplssq.c +++ b/runtime/openmp/codelets/codelet_zplssq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -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 *SCLSSQ, int SCLSSQm, int SCLSSQn ) { - double *scl = RTBLKADDR(SCLSSQ, double, SCLSSQm, SCLSSQn); double *scalesum = RTBLKADDR(SCALESUMSQ, double, SCALESUMSQm, SCALESUMSQn); - - if( scl[0] < scalesum[0] ) { - scl[1] = scalesum[1] + (scl[1] * (( scl[0] / scalesum[0] ) * ( scl[0] / scalesum[0] ))); - scl[0] = scalesum[0]; - } else { - scl[1] = scl[1] + (scalesum[1] * (( scalesum[0] / scl[0] ) * ( scalesum[0] / scl[0] ))); + double *scl = RTBLKADDR(SCLSSQ, double, SCLSSQm, SCLSSQn); +#pragma omp task depend(in: scalesum[0]) depend(inout: scl[0]) + { + if( scl[0] < scalesum[0] ) { + scl[1] = scalesum[1] + (scl[1] * (( scl[0] / scalesum[0] ) * ( scl[0] / scalesum[0] ))); + scl[0] = scalesum[0]; + } else { + scl[1] = scl[1] + (scalesum[1] * (( scalesum[0] / scl[0] ) * ( scalesum[0] / scl[0] ))); + } } } @@ -76,5 +78,8 @@ void INSERT_TASK_zplssq2( const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *res = RTBLKADDR(RESULT, CHAMELEON_Complex64_t, RESULTm, RESULTn); - res[0] = res[0] * sqrt( res[1] ); +#pragma omp task depend(inout: res[0]) + { + res[0] = res[0] * sqrt( res[1] ); + } } diff --git a/runtime/openmp/codelets/codelet_zpotrf.c b/runtime/openmp/codelets/codelet_zpotrf.c index af20cc4734ea79808942e7932b821486f97b9e1e..815ac1e430e2d0c4b8b0be8bc6b5cde1862fed85 100644 --- a/runtime/openmp/codelets/codelet_zpotrf.c +++ b/runtime/openmp/codelets/codelet_zpotrf.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -42,6 +42,6 @@ void INSERT_TASK_zpotrf(const RUNTIME_option_t *options, (void)nb; int info = 0; CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); -#pragma omp task firstprivate(uplo, n, lda, info, ptrA) depend(inout:ptrA[0:Am*An]) +#pragma omp task firstprivate(uplo, n, lda, info, ptrA) depend(inout:ptrA[0]) CORE_zpotrf(uplo, n, ptrA, lda, &info); } diff --git a/runtime/openmp/codelets/codelet_zssssm.c b/runtime/openmp/codelets/codelet_zssssm.c index 4843edb50a4bceb612f4cb4a79ada870303e5cf5..38d9ad5e3c116a48251199d610ac494efa411f0b 100644 --- a/runtime/openmp/codelets/codelet_zssssm.c +++ b/runtime/openmp/codelets/codelet_zssssm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -110,9 +110,9 @@ void INSERT_TASK_zssssm(const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrL1 = RTBLKADDR(L1, CHAMELEON_Complex64_t, L1m, L1n); CHAMELEON_Complex64_t *ptrL2 = RTBLKADDR(L2, CHAMELEON_Complex64_t, L2m, L2n); #pragma omp task firstprivate(m1, n1, m2, n2, k, ib, ptrA1, ptrA2, ptrL1, ptrL2, lda1, lda2, ldl1, ldl2, IPIV)\ - depend(inout:ptrA1[0:A1m*A1n])\ - depend(inout:ptrA2[0:A2m*A2n])\ - depend(in:ptrL1[0:L1m*L1n])\ - depend(in:ptrL2[0:L2m*L2n]) + depend(inout:ptrA1[0])\ + depend(inout:ptrA2[0])\ + depend(in:ptrL1[0])\ + depend(in:ptrL2[0]) CORE_zssssm(m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrL1, ldl1, ptrL2, ldl2, IPIV); } diff --git a/runtime/openmp/codelets/codelet_zsymm.c b/runtime/openmp/codelets/codelet_zsymm.c index bf8ef6aad75ae38c7d4723519a22acf7df57218c..efe71b42578d7b5f71c1b3a3dc770705da213dbe 100644 --- a/runtime/openmp/codelets/codelet_zsymm.c +++ b/runtime/openmp/codelets/codelet_zsymm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zsyr2k.c b/runtime/openmp/codelets/codelet_zsyr2k.c index 5f9cd2ffe7ad424b51ec12a380a18bea302e5ddb..a2a231fa4bcd441284146c82399de649fa02d10b 100644 --- a/runtime/openmp/codelets/codelet_zsyr2k.c +++ b/runtime/openmp/codelets/codelet_zsyr2k.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -44,7 +44,7 @@ void INSERT_TASK_zsyr2k(const RUNTIME_option_t *options, 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 *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], ptrB[0]) depend(in:ptrC[0]) +#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_zsyr2k(uplo, trans, n, k, alpha, ptrA, lda, ptrB, ldb, beta, ptrC, ldc); } diff --git a/runtime/openmp/codelets/codelet_zsyrk.c b/runtime/openmp/codelets/codelet_zsyrk.c index a97cb27aaaa1d37630eea8389df8ceeaa91437f7..16e0e370da0596ee63b4420beb6ae7f67fadb8f9 100644 --- a/runtime/openmp/codelets/codelet_zsyrk.c +++ b/runtime/openmp/codelets/codelet_zsyrk.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -42,7 +42,7 @@ void INSERT_TASK_zsyrk(const RUNTIME_option_t *options, (void)nb; CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); 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_zsyrk(uplo, trans, n, k, alpha, ptrA, lda, diff --git a/runtime/openmp/codelets/codelet_zsyssq.c b/runtime/openmp/codelets/codelet_zsyssq.c index 9d34fdc47d30031c7fcbd4f8853a80190993e0fd..c2d69dc57523b0340e89253aec2e985eb78ee6ee 100644 --- a/runtime/openmp/codelets/codelet_zsyssq.c +++ b/runtime/openmp/codelets/codelet_zsyssq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_zsytrf_nopiv.c b/runtime/openmp/codelets/codelet_zsytrf_nopiv.c index 543adff239bbe0864c4526748e7bcf9ceb2045a1..1ebd1aa08878024b0379a6bdef55f06bdd48a0f0 100644 --- a/runtime/openmp/codelets/codelet_zsytrf_nopiv.c +++ b/runtime/openmp/codelets/codelet_zsytrf_nopiv.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztile_zero.c b/runtime/openmp/codelets/codelet_ztile_zero.c index 22f774724896f4bd3452325f684ad713480d4d37..96ef911bf329829e3f282b448b11f277ce114a27 100644 --- a/runtime/openmp/codelets/codelet_ztile_zero.c +++ b/runtime/openmp/codelets/codelet_ztile_zero.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztplqt.c b/runtime/openmp/codelets/codelet_ztplqt.c index e1cc1dd657e40c1ddf240a70497a6abbee7c8612..1acb66066910c0626cb731b76f5b8987c2beaac6 100644 --- a/runtime/openmp/codelets/codelet_ztplqt.c +++ b/runtime/openmp/codelets/codelet_ztplqt.c @@ -4,7 +4,7 @@ * * @copyright 2009-2016 The University of Tennessee and The University of * 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. * *** @@ -30,9 +30,10 @@ INSERT_TASK_ztplqt( const RUNTIME_option_t *options, 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 *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); -#pragma omp task firstprivate(M, N, L, ib, ptrA, lda, ptrB, ldb, ptrT, ldt) depend(inout:ptrA[0], ptrB[0], ptrT[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, M, N, L, ib, ptrA, lda, ptrB, ldb, ptrT, ldt) depend(inout:ptrA[0], ptrB[0], ptrT[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_ztplqt( M, N, L, ib, ptrA, lda, ptrB, ldb, ptrT, ldt, work ); } diff --git a/runtime/openmp/codelets/codelet_ztpmlqt.c b/runtime/openmp/codelets/codelet_ztpmlqt.c index c27167400f356a9a0482f783ac8f02096ff2aa08..543704822c5ddecca1c432a875ac357ace7c2a66 100644 --- a/runtime/openmp/codelets/codelet_ztpmlqt.c +++ b/runtime/openmp/codelets/codelet_ztpmlqt.c @@ -30,9 +30,10 @@ INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrV = RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn); -#pragma omp task firstprivate(side, trans, M, N, K, L, ib, ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrV[0], ptrT[0]) depend(inout:ptrA[0], ptrB[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, M, N, K, L, ib, ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrV[0], ptrT[0]) depend(inout:ptrA[0], ptrB[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_ztpmlqt( side, trans, M, N, K, L, ib, ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb, work ); } diff --git a/runtime/openmp/codelets/codelet_ztpmqrt.c b/runtime/openmp/codelets/codelet_ztpmqrt.c index 878fd0a2cc91aea1344a0a9f79fcbf7b2eeae29a..4f3262221eb3027fb82d1d2f93b9d8cd0ad09aeb 100644 --- a/runtime/openmp/codelets/codelet_ztpmqrt.c +++ b/runtime/openmp/codelets/codelet_ztpmqrt.c @@ -30,10 +30,11 @@ INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrV = RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn); -#pragma omp task firstprivate(side, trans, M, N, K, L, ib, ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrV[0], ptrT[0]) depend(inout:ptrA[0], ptrB[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, M, N, K, L, ib, nb, ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrV[0], ptrT[0]) depend(inout:ptrA[0], ptrB[0]) { - CHAMELEON_Complex64_t tmp[options->ws_wsize]; - CORE_ztpmqrt( side, trans, M, N, K, L, ib, - ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb, tmp ); + CHAMELEON_Complex64_t tmp[ws_size]; + CORE_ztpmqrt( side, trans, M, N, K, L, ib, + ptrV, ldv, ptrT, ldt, ptrA, lda, ptrB, ldb, tmp ); } } diff --git a/runtime/openmp/codelets/codelet_ztpqrt.c b/runtime/openmp/codelets/codelet_ztpqrt.c index f6588263cf8661459956c05a15533ed97cffa75c..17917cc7b7791955707edfe3f608ea18e1247705 100644 --- a/runtime/openmp/codelets/codelet_ztpqrt.c +++ b/runtime/openmp/codelets/codelet_ztpqrt.c @@ -4,7 +4,7 @@ * * @copyright 2009-2016 The University of Tennessee and The University of * 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. * *** @@ -29,9 +29,10 @@ INSERT_TASK_ztpqrt( const RUNTIME_option_t *options, 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 *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); -#pragma omp task firstprivate(M, N, L, ib, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrT[0]) depend(inout:ptrA[0], ptrB[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, M, N, L, ib, ptrT, ldt, ptrA, lda, ptrB, ldb) depend(in:ptrT[0]) depend(inout:ptrA[0], ptrB[0]) { - CHAMELEON_Complex64_t tmp[options->ws_wsize]; + CHAMELEON_Complex64_t tmp[ws_size]; CORE_ztpqrt( M, N, L, ib, ptrA, lda, ptrB, ldb, ptrT, ldt, tmp ); } diff --git a/runtime/openmp/codelets/codelet_ztradd.c b/runtime/openmp/codelets/codelet_ztradd.c index 5a36afdf70e920986b6766ee9eeb34fe7cb18eda..9a39aaf56d2ac9366c1e7c8c2986d678f9379db1 100644 --- a/runtime/openmp/codelets/codelet_ztradd.c +++ b/runtime/openmp/codelets/codelet_ztradd.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztrasm.c b/runtime/openmp/codelets/codelet_ztrasm.c index 590de78bde0e3587229f6343e14e4424c450a7a1..c2a017cfd0cc97bb6edff1c3836aad38993c4d11 100644 --- a/runtime/openmp/codelets/codelet_ztrasm.c +++ b/runtime/openmp/codelets/codelet_ztrasm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztrmm.c b/runtime/openmp/codelets/codelet_ztrmm.c index 190c94e813b1910f59f8d0d6f408f49373e0b7f3..bd255050d452cbb3296e2b4cfac05045c768ab8e 100644 --- a/runtime/openmp/codelets/codelet_ztrmm.c +++ b/runtime/openmp/codelets/codelet_ztrmm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztrsm.c b/runtime/openmp/codelets/codelet_ztrsm.c index 5ac46914acc22d6244b864061320664a0531f6f0..9db743cabb7faa272a750faf797e09fe0b9e57ef 100644 --- a/runtime/openmp/codelets/codelet_ztrsm.c +++ b/runtime/openmp/codelets/codelet_ztrsm.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -41,7 +41,7 @@ void INSERT_TASK_ztrsm(const RUNTIME_option_t *options, { CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrB = RTBLKADDR(B, CHAMELEON_Complex64_t, Bm, Bn); -#pragma omp task firstprivate(side, uplo, transA, diag, m, n, alpha, ptrA, lda, ptrB, ldb) depend(in:ptrA[0:Am*An]) depend(inout: ptrB[0:Bm*Bn]) +#pragma omp task firstprivate(side, uplo, transA, diag, m, n, alpha, ptrA, lda, ptrB, ldb) depend(in:ptrA[0]) depend(inout: ptrB[0]) CORE_ztrsm(side, uplo, transA, diag, m, n, diff --git a/runtime/openmp/codelets/codelet_ztrssq.c b/runtime/openmp/codelets/codelet_ztrssq.c index ca47d95aade21a38d6059529b224678942b9b296..b4ce2a66097deefadce9153c1c8d6292cd7291df 100644 --- a/runtime/openmp/codelets/codelet_ztrssq.c +++ b/runtime/openmp/codelets/codelet_ztrssq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztrtri.c b/runtime/openmp/codelets/codelet_ztrtri.c index 4ded39223b7bf1528f672268dbe1932264eeda9b..cef754f89dda4359b0a0ad00c44cc24286a0d69e 100644 --- a/runtime/openmp/codelets/codelet_ztrtri.c +++ b/runtime/openmp/codelets/codelet_ztrtri.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** diff --git a/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c b/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c index 391dbdde5c4348afcd8a4c9e5164e74b0ece4700..0d1b2d1ffa0ec36f871211b507b6ddd13ac3c2e1 100644 --- a/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c +++ b/runtime/openmp/codelets/codelet_ztsmlq_hetra1.c @@ -40,9 +40,10 @@ void INSERT_TASK_ztsmlq_hetra1(const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrV = RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn); int ldwork = side == ChamLeft ? ib : nb; -#pragma omp task firstprivate(side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, ldwork) depend(inout:ptrA1[0], ptrA2[0]) depend(in:ptrT[0], ptrV[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, ldwork) depend(inout:ptrA1[0], ptrA2[0]) depend(in:ptrT[0], ptrV[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_ztsmlq_hetra1(side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, work, ldwork); } diff --git a/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c b/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c index 0157cb6f965480a7573968e4b6d289d06cf63445..6ae8085c9998d895743a26b118d5bdd560a99eb4 100644 --- a/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c +++ b/runtime/openmp/codelets/codelet_ztsmqr_hetra1.c @@ -40,9 +40,10 @@ void INSERT_TASK_ztsmqr_hetra1(const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrT = RTBLKADDR(T, CHAMELEON_Complex64_t, Tm, Tn); CHAMELEON_Complex64_t *ptrV = RTBLKADDR(V, CHAMELEON_Complex64_t, Vm, Vn); int ldwork = side == ChamLeft ? ib : nb; -#pragma omp task firstprivate(side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, ldwork) depend(inout:ptrA1[0], ptrA2[0]) depend(in:ptrT[0], ptrV[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, ldwork) depend(inout:ptrA1[0], ptrA2[0]) depend(in:ptrT[0], ptrV[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_ztsmqr_hetra1(side, trans, m1, n1, m2, n2, k, ib, ptrA1, lda1, ptrA2, lda2, ptrV, ldv, ptrT, ldt, work, ldwork); } diff --git a/runtime/openmp/codelets/codelet_ztstrf.c b/runtime/openmp/codelets/codelet_ztstrf.c index 106b7535d9c7d0b33e9b3abf34e8af1a8822c333..cb612cb6fd9fa8a0667218b3f2ff70878964c4d1 100644 --- a/runtime/openmp/codelets/codelet_ztstrf.c +++ b/runtime/openmp/codelets/codelet_ztstrf.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -104,9 +104,10 @@ void INSERT_TASK_ztstrf(const RUNTIME_option_t *options, CHAMELEON_Complex64_t *ptrA = RTBLKADDR(A, CHAMELEON_Complex64_t, Am, An); CHAMELEON_Complex64_t *ptrU = RTBLKADDR(U, CHAMELEON_Complex64_t, Um, Un); CHAMELEON_Complex64_t *ptrL = RTBLKADDR(L, CHAMELEON_Complex64_t, Lm, Ln); -#pragma omp task firstprivate(m, n, ib, nb, ptrU, ldu, ptrA, lda, ptrL, ldl, IPIV, iinfo) depend(inout:ptrA[0], ptrU[0], ptrL[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, m, n, ib, nb, ptrU, ldu, ptrA, lda, ptrL, ldl, IPIV, iinfo) depend(inout:ptrA[0], ptrU[0], ptrL[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_ztstrf(m, n, ib, nb, ptrU, ldu, ptrA, lda, ptrL, ldl, IPIV, work, nb, &iinfo); } } diff --git a/runtime/openmp/codelets/codelet_zunmlq.c b/runtime/openmp/codelets/codelet_zunmlq.c index 6f059d6dfb831f5b8d81c6dc8867ebe0d0a1cdf3..348b290a1973097fcebf2acac241916a7b5de906 100644 --- a/runtime/openmp/codelets/codelet_zunmlq.c +++ b/runtime/openmp/codelets/codelet_zunmlq.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -121,9 +121,10 @@ void INSERT_TASK_zunmlq(const RUNTIME_option_t *options, 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 *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn); -#pragma omp task firstprivate(side, trans, m, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, m, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0]) { - CHAMELEON_Complex64_t work[options->ws_wsize]; + CHAMELEON_Complex64_t work[ws_size]; CORE_zunmlq(side, trans, m, n, k, ib, ptrA, lda, ptrT, ldt, ptrC, ldc, work, nb); } diff --git a/runtime/openmp/codelets/codelet_zunmqr.c b/runtime/openmp/codelets/codelet_zunmqr.c index 97b4b818a7580f16e9786f114569c7cc676a4b81..42765470397c5f2fa9feb7bb1e27a4b7019f83e4 100644 --- a/runtime/openmp/codelets/codelet_zunmqr.c +++ b/runtime/openmp/codelets/codelet_zunmqr.c @@ -4,7 +4,7 @@ * * @copyright 2009-2014 The University of Tennessee and The University of * 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. * *** @@ -121,9 +121,10 @@ void INSERT_TASK_zunmqr(const RUNTIME_option_t *options, 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 *ptrC = RTBLKADDR(C, CHAMELEON_Complex64_t, Cm, Cn); -#pragma omp task firstprivate(side, trans, m, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0]) + int ws_size = options->ws_wsize; +#pragma omp task firstprivate(ws_size, side, trans, m, n, k, ib, nb, ptrA, lda, ptrT, ldt, ptrC, ldc) depend(in:ptrA[0], ptrT[0]) depend(inout:ptrC[0]) { - CHAMELEON_Complex64_t tmp[options->ws_wsize]; + CHAMELEON_Complex64_t tmp[ws_size]; CORE_zunmqr(side, trans, m, n, k, ib, ptrA, lda, ptrT, ldt, ptrC, ldc, tmp, nb); } diff --git a/timing/timing.c b/timing/timing.c index b5394cf400f1da6b3b9be8d187ba098277209b0f..e5b1b79b5009934f96b33be5beccfaa768d99518 100644 --- a/timing/timing.c +++ b/timing/timing.c @@ -750,8 +750,10 @@ main(int argc, char *argv[]) { /* Initialize CHAMELEON */ CHAMELEON_Init( iparam[IPARAM_THRDNBR], iparam[IPARAM_NCUDAS] ); - // NOTE: OpenMP needs this, as Chameleon's init/finalize add '{'/'}', - // and 'return' is not allowed in parallel regions. + /* + * NOTE: OpenMP needs this, as Chameleon's init/finalize add '{'/'}', + * and 'return' is not allowed in parallel regions. + */ return_code = timing_main(iparam, argv[0], start, stop, step); CHAMELEON_Finalize();