Commit 0d5537af authored by Mathieu Faverge's avatar Mathieu Faverge

Merge branch 'iterations' into 'master'

Add iteration numbers for traces

See merge request !22
parents 24ace90f 4ebc55c4
......@@ -706,6 +706,11 @@ if( CHAMELEON_SCHED_STARPU )
set(HAVE_STARPU_IDLE_PREFETCH 1)
message("-- ${Blue}Add definition HAVE_STARPU_IDLE_PREFETCH${ColourReset}")
endif()
check_function_exists(starpu_iteration_push STARPU_ITERATION_PUSH_FOUND)
if ( STARPU_ITERATION_PUSH_FOUND )
set(HAVE_STARPU_ITERATION_PUSH 1)
message("-- ${Blue}Add definition HAVE_STARPU_ITERATION_PUSH${ColourReset}")
endif()
check_function_exists(starpu_data_wont_use STARPU_DATA_WONT_USE_FOUND)
if ( STARPU_DATA_WONT_USE_FOUND )
set(HAVE_STARPU_DATA_WONT_USE 1)
......
......@@ -115,6 +115,8 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T,
#endif
for (k = 0; k < minMNT; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -171,6 +173,8 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T,
T(k, n), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -119,6 +119,8 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
#endif
for (k = 0; k < chameleon_min(A->mt, A->nt); k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for (N = k; N < A->nt; N += BS) {
......@@ -203,6 +205,8 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
}
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -110,6 +110,8 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T,
#endif
for (k = 0; k < minMNT; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -165,6 +167,8 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T,
T(m, k), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -118,6 +118,8 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
K = chameleon_min(A->mt, A->nt);
for (k = 0; k < K; k++) {
RUNTIME_iteration_push(morse, k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
for (M = k; M < A->mt; M += BS) {
tempMm = M == A->mt-1 ? A->m-M*A->mb : A->mb;
......@@ -202,6 +204,8 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, int BS,
}
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -78,6 +78,8 @@ void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV,
morse_zdesc_alloc_diag(*DIAG, A->mb, A->nb, chameleon_min(A->m, A->n), A->nb, 0, 0, chameleon_min(A->m, A->n), A->nb, A->p, A->q);
for (k = 0; k < minMNT; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -133,6 +135,8 @@ void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV,
IPIV(m, k));
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -54,6 +54,8 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
ib = MORSE_IB;
for (k = 0; k < chameleon_min(A->mt, A->nt); k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -98,6 +100,8 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
zone, A(m, n), ldam);
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_dataflush_all();
......
......@@ -137,6 +137,8 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo,
if (uplo == MorseLower) {
for (k = 0; k < A->nt-1; k++){
RUNTIME_iteration_push(morse, k);
tempkm = k+1 == A->mt-1 ? A->m-(k+1)*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n- k *A->nb : A->nb;
ldak1 = BLKLDD(A, k+1);
......@@ -286,10 +288,14 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo,
T(m, k), T->mb);
options.priority = 0;
}
RUNTIME_iteration_pop(morse);
}
}
else {
for (k = 0; k < A->nt-1; k++){
RUNTIME_iteration_push(morse, k);
tempkn = k+1 == A->nt-1 ? A->n-(k+1)*A->nb : A->nb;
tempkm = k == A->mt-1 ? A->m- k *A->mb : A->mb;
ldak = BLKLDD(A, k);
......@@ -436,6 +442,8 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo,
T(k, n), T->mb);
}
options.priority = 0;
RUNTIME_iteration_pop(morse);
}
}
......
......@@ -71,6 +71,8 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A,
*/
if (uplo == MorseLower) {
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
......@@ -121,6 +123,7 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A,
}
MORSE_TASK_dataflush( &options, A(n, k) );
}
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -128,6 +131,8 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A,
*/
else {
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -177,6 +182,8 @@ void morse_pzpotrf(MORSE_enum uplo, MORSE_desc_t *A,
}
MORSE_TASK_dataflush( &options, A(k, m) );
}
RUNTIME_iteration_pop(morse);
}
}
......
......@@ -76,6 +76,8 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
* ZPOTRF
*/
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
......@@ -119,11 +121,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
}
MORSE_TASK_dataflush( &options, A(n, k) );
}
RUNTIME_iteration_pop(morse);
}
/*
* ZTRTRI
*/
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, A->nt + k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
for (m = k+1; m < A->mt; m++) {
......@@ -165,11 +171,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
uplo, MorseNonUnit,
tempkn, A->mb,
A(k, k), ldak, A->nb*k);
RUNTIME_iteration_pop(morse);
}
/*
* ZLAUUM
*/
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, 2*A->nt + k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for(n = 0; n < k; n++) {
......@@ -206,11 +216,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
&options,
uplo, tempkm, A->mb,
A(k, k), ldak);
RUNTIME_iteration_pop(morse);
}
/*
* ZSYMM Right / Lower
*/
for (k = 0; k < C->nt; k++) {
RUNTIME_iteration_push(morse, 3*A->nt + k);
tempkn = k == C->nt-1 ? C->n-k*C->nb : C->nb;
ldak = BLKLDD(A, k);
zbeta = k == 0 ? beta : zone;
......@@ -259,6 +273,8 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
for (n = 0; n <= k; n++) {
MORSE_TASK_dataflush( &options, A(k, n) );
}
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -269,6 +285,8 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
* ZPOTRF
*/
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
MORSE_TASK_zpotrf(
......@@ -312,11 +330,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
}
MORSE_TASK_dataflush( &options, A(k, m) );
}
RUNTIME_iteration_pop(morse);
}
/*
* ZTRTRI
*/
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, A->nt + k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for (n = k+1; n < A->nt; n++) {
......@@ -358,11 +380,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
uplo, MorseNonUnit,
tempkm, A->mb,
A(k, k), ldak, A->mb*k);
RUNTIME_iteration_pop(morse);
}
/*
* ZLAUUM
*/
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, 2*A->nt + k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -401,11 +427,15 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
&options,
uplo, tempkn, A->mb,
A(k, k), ldak);
RUNTIME_iteration_pop(morse);
}
/*
* ZSYMM Right / Upper
*/
for (k = 0; k < C->nt; k++) {
RUNTIME_iteration_push(morse, 3*A->nt + k);
tempkn = k == C->nt-1 ? C->n-k*C->nb : C->nb;
ldak = BLKLDD(A, k);
zbeta = k == 0 ? beta : zone;
......@@ -454,6 +484,8 @@ void morse_pzpotrimm(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_de
for (m = 0; m <= k; m++) {
MORSE_TASK_dataflush( &options, A(m, k) );
}
RUNTIME_iteration_pop(morse);
}
}
......
......@@ -60,6 +60,8 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A,
*/
if (uplo == MorseLower) {
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
......@@ -103,6 +105,8 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A,
}
MORSE_TASK_dataflush( &options, A(n, k) );
}
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -110,6 +114,8 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A,
*/
else {
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
MORSE_TASK_zsytrf_nopiv(
......@@ -153,6 +159,8 @@ void morse_pzsytrf(MORSE_enum uplo, MORSE_desc_t *A,
}
MORSE_TASK_dataflush( &options, A(k, m) );
}
RUNTIME_iteration_pop(morse);
}
}
......
......@@ -101,6 +101,8 @@ void morse_pztpgqrt( int L,
#endif
for (k = V1->nt-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == V1->mt-1 ? V1->m-k*V1->mb : V1->mb;
tempkk = k == V1->nt-1 ? V1->n-k*V1->nb : V1->nb;
tempkn = k == Q1->nt-1 ? Q1->n-k*Q1->nb : Q1->nb;
......@@ -169,6 +171,8 @@ void morse_pztpgqrt( int L,
T1(k, k), T1->mb,
Q1(k, n), ldqk);
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
......
......@@ -91,6 +91,8 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T,
RUNTIME_options_ws_alloc( &options, ws_worker, ws_host );
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -120,6 +122,8 @@ void morse_pztpqrt( int L, MORSE_desc_t *A, MORSE_desc_t *B, MORSE_desc_t *T,
}
maxmt = chameleon_min( B->mt, maxmt+1 );
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -56,6 +56,8 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A,
*/
if (uplo == MorseLower) {
for (k = 0; k < A->nt; k++) {
RUNTIME_iteration_push(morse, k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
for (m = k+1; m < A->mt; m++) {
......@@ -97,6 +99,8 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A,
uplo, diag,
tempkn, A->mb,
A(k, k), ldak, A->nb*k);
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -104,6 +108,8 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A,
*/
else {
for (k = 0; k < A->mt; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for (n = k+1; n < A->nt; n++) {
......@@ -145,6 +151,8 @@ void morse_pztrtri(MORSE_enum uplo, MORSE_enum diag, MORSE_desc_t *A,
uplo, diag,
tempkm, A->mb,
A(k, k), ldak, A->mb*k);
RUNTIME_iteration_pop(morse);
}
}
RUNTIME_options_finalize(&options, morse);
......
......@@ -98,6 +98,8 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T,
#endif
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempAkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempAkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
tempkmin = chameleon_min( tempAkn, tempAkm );
......@@ -143,6 +145,8 @@ void morse_pzunglq(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T,
T(k, k), T->mb,
Q(m, k), ldqm);
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -99,6 +99,8 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q,
K = chameleon_min(A->mt, A->nt);
for (k = K-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
lastRD = 0;
......@@ -169,6 +171,8 @@ void morse_pzunglqrh(MORSE_desc_t *A, MORSE_desc_t *Q,
Q(m, N), ldqm);
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -98,6 +98,8 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T,
#endif
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempAkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
tempAkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
tempkmin = chameleon_min( tempAkn, tempAkm );
......@@ -144,6 +146,8 @@ void morse_pzungqr(MORSE_desc_t *A, MORSE_desc_t *Q, MORSE_desc_t *T,
T(k, k), T->mb,
Q(k, n), ldqk);
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -101,6 +101,8 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q,
K = chameleon_min(A->mt, A->nt);
for (k = K-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
lastRD = 0;
for (RD = BS; RD < A->mt-k; RD *= 2)
......@@ -174,6 +176,8 @@ void morse_pzungqrrh(MORSE_desc_t *A, MORSE_desc_t *Q,
Q(M, n), ldqM);
}
}
RUNTIME_iteration_pop(morse);
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
......
......@@ -105,6 +105,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
* MorseLeft / MorseNoTrans
*/
for (k = 0; k < minMT; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -148,6 +150,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
T(k, m), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
}
else {
......@@ -155,6 +159,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
* MorseLeft / MorseConjTrans
*/
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -198,6 +204,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
T(k, k), T->mb,
B(k, n), ldbk);
}
RUNTIME_iteration_pop(morse);
}
}
}
......@@ -207,6 +215,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
* MorseRight / MorseNoTrans
*/
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkn = k == B->nt -1 ? B->n -k*B->nb : B->nb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -250,6 +260,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
T(k, k), T->mb,
B(m, k), ldbm);
}
RUNTIME_iteration_pop(morse);
}
}
else {
......@@ -257,6 +269,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
* MorseRight / MorseConjTrans
*/
for (k = 0; k < minMT; k++) {
RUNTIME_iteration_push(morse, k);
tempkn = k == B->nt -1 ? B->n -k*B->nb : B->nb;
tempkmin = k == minMT-1 ? minM-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
......@@ -300,6 +314,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans,
T(k, n), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
}
}
......
......@@ -105,6 +105,8 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
* MorseLeft / MorseNoTrans
*/
for (k = 0; k < K; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for (N = k; N < A->nt; N += BS) {
......@@ -172,12 +174,16 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
}
}
}
RUNTIME_iteration_pop(morse);
}
} else {
/*
* MorseLeft / MorseConjTrans
*/
for (k = K-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
lastRD = 0;
......@@ -248,6 +254,8 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
B(N, n), ldbN);
}
}
RUNTIME_iteration_pop(morse);
}
}
......@@ -257,6 +265,8 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
* MorseRight / MorseNoTrans
*/
for (k = K-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
lastRD = 0;
......@@ -326,12 +336,16 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
B(m, N), ldbm);
}
}
RUNTIME_iteration_pop(morse);
}
} else {
/*
* MorseRight / MorseConjTrans
*/
for (k = 0; k < K; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == A->mt-1 ? A->m-k*A->mb : A->mb;
ldak = BLKLDD(A, k);
for (N = k; N < A->nt; N += BS) {
......@@ -398,6 +412,8 @@ void morse_pzunmlqrh(MORSE_enum side, MORSE_enum trans,
}
}
}
RUNTIME_iteration_pop(morse);
}
}
}
......
......@@ -105,6 +105,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
* MorseLeft / MorseConjTrans
*/
for (k = 0; k < minMT; k++) {
RUNTIME_iteration_push(morse, k);
tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -149,6 +151,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
T(m, k), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -156,6 +160,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
*/
else {
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkm = k == B->mt-1 ? B->m-k*B->mb : B->mb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -200,6 +206,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
T(k, k), T->mb,
B(k, n), ldbk);
}
RUNTIME_iteration_pop(morse);
}
}
}
......@@ -209,6 +217,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
else {
if (trans == MorseConjTrans) {
for (k = minMT-1; k >= 0; k--) {
RUNTIME_iteration_push(morse, k);
tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -254,6 +264,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
T(k, k), T->mb,
B(m, k), ldbm);
}
RUNTIME_iteration_pop(morse);
}
}
/*
......@@ -261,6 +273,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
*/
else {
for (k = 0; k < minMT; k++) {
RUNTIME_iteration_push(morse, k);
tempkn = k == B->nt-1 ? B->n-k*B->nb : B->nb;
tempkmin = k == minMT-1 ? minM-k*A->nb : A->nb;
ldak = BLKLDD(A, k);
......@@ -305,6 +319,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans,
T(n, k), T->mb);
}
}
RUNTIME_iteration_pop(morse);
}
}
}
......
......@@ -107,6 +107,8 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans,
* MorseLeft / MorseConjTrans
*/
for (k = 0; k < K; k++) {
RUNTIME_iteration_push(morse, k);
tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb;
for (M = k; M < A->mt; M += BS) {
tempMm = M == A->mt-1 ? A->m-M*A->mb : A->mb;
......@@ -176,12 +178,16 @@ void morse_pzunmqrrh(MORSE_enum side, MORSE_enum trans,
}
}