Mentions légales du service

Skip to content
Snippets Groups Projects

Fix for the TPMQRT routine

Merged Dalal Sukkari requested to merge sukkarde into master
Files
2
@@ -48,41 +48,39 @@ CUDA_ztpmqrt( MORSE_enum side, MORSE_enum trans,
n1 = N;
ldwork = IB;
ldworkc = M;
//ws = K * n1;
ws = IB * n1;
}
else {
m1 = M;
n1 = K;
ldwork = m1;
ldworkc = IB;
//ws = m1 * K;
ws = IB * m1;
}
ws = IB * (side == MorseLeft ? n1 : m1);
CUDA_ztsmqr( side, trans, m1, n1, M, N, K, IB,
A, LDA, B, LDB, V, LDV, T, LDT,
WORK, ldwork, WORK + ws, ldworkc,
CUBLAS_STREAM_VALUE );
/* TS case */
/*if (L == 0) {*/
/* CUDA_ztsmqr( side, trans, m1, n1, M, N, K, IB,*/
/* A, LDA, B, LDB, V, LDV, T, LDT, */
/* WORK, ldwork, WORK + ws, ldworkc,*/
/* CUBLAS_STREAM_VALUE ); */
/*} */
if (L == 0) {
CUDA_ztsmqr( side, trans, m1, n1, M, N, K, IB,
A, LDA, B, LDB, V, LDV, T, LDT,
WORK, ldwork, WORK + ws, ldworkc,
CUBLAS_STREAM_VALUE );
}
/* TT case */
/*else if( L == M ) { */
/* cudablas_error(-6, "TTMQRT not available on GPU yet\n" );*/
/* return -6; */
/* CUDA_zttmqr( side, trans, m1, n1, M, N, K, IB, */
/* A, LDA, B, LDB, V, LDV, T, LDT, */
/* WORK, ldwork ); */
/*} */
/*else { */
/* cudablas_error(-6, "TPMQRT not available on GPU yet\n" );*/
/* return -6; */
/* //LAPACKE_ztpmqrt_work( LAPACK_COL_MAJOR, M, N, K, L, IB, V, LDV, T, LDT, A, LDA, B, LDB, WORK );*/
/*} */
else if( L == M ) {
// CUDA_zttmqr( side, trans, m1, n1, M, N, K, IB,
// A, LDA, B, LDB, V, LDV, T, LDT,
// WORK, ldwork );
CUDA_ztsmqr( side, trans, m1, n1, M, N, K, IB,
A, LDA, B, LDB, V, LDV, T, LDT,
WORK, ldwork, WORK + ws, ldworkc,
CUBLAS_STREAM_VALUE );
morse_warning("TPMQRT is not available on GPU yet: The lower triangular part must be set to 0 for to be correct");
}
else {
//LAPACKE_ztpmqrt_work( LAPACK_COL_MAJOR, M, N, K, L, IB, V, LDV, T, LDT, A, LDA, B, LDB, WORK );
cudablas_error(-6, "TPMQRT not available on GPU yet\n" );
return -6;
}
return MORSE_SUCCESS;
}
Loading