Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 0d5537af authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

Merge branch 'iterations' into 'master'

Add iteration numbers for traces

See merge request !22
parents 24ace90f 4ebc55c4
Branches
Tags
1 merge request!22Add iteration numbers for traces
Pipeline #
Showing with 148 additions and 0 deletions
......@@ -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);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment