When using the cusolverDnXtrtri with the LOWER and UNIT_DIAG options, I see that the diagonal of the matrix is reset to all 1s. This is wrong behavior for the inversion routine if this routine is implementing the LAPACK’s DTRTRI. The UNIT_DIAG implies that the diagonals are assumed to be 1; incidentally, they don’t change to non-unit in the process of inversion so there is no reason for storing them or resetting the diagonals to 1.
I am using a matrix that is LU decomposed in-place that means the diagonals belong to the UPPER part of the decomposition. Overwriting them invalidates the UPPER portion.
Has anyone else tried and got this same behavior? I am using CUDA 13.0 off of the HPC SDK on Ubuntu 22.04/24.04.