superlu
superlu copied to clipboard
Matrix solve passing bad arguments to cBLAS DTRSV function causing a program exit
I am part of a team that uses SuperLU and its parallel variants (SuperLU_Dist and SuperLU_MT) for the linear system solve that is critical to our optimization software.
On occasion the program will exit with a invalid argument passed to cBLAS regardless if its SuperLU’s internal cBLAS or an external one we provide. On Linux the error is:
** On entry to DTRSV parameter number 6 had an illegal value.
This stems from cblas_xerbla.c. On Mac, when Accelerate is used as the substitute BLAS and Lapack libraries the error takes on the form of:
lda must be >= MAX(N,1): lda=3 N=4 BLAS error: Parameter number 7 passed to cblas_dtrsv had an invalid value
It seems SuperLU is not handling a potentially poorly conditioned matrix well. These calls exit our program which is not the way we want to process this error. We really want to continue to use this software and would like to work together to resolve this bug. We can send the matrix being solved when the error occurs if that would help.
@DBunce1027 The error message indicates the problem occurred somewhere else, that is, the LDA argument was not computed correctly.
The Mac Accelerate BLAS library has some bugs. We experienced the problem a couple of years ago. Not sure whether they are fixed.
If you send me the matrix, I can take a look.