pub unsafe extern "C" fn cusparseZgtsv2_nopivot(
handle: cusparseHandle_t,
m: c_int,
n: c_int,
dl: *const cuDoubleComplex,
d: *const cuDoubleComplex,
du: *const cuDoubleComplex,
B: *mut cuDoubleComplex,
ldb: c_int,
pBuffer: *mut c_void,
) -> cusparseStatus_tExpand description
This function computes the solution of a tridiagonal linear system with multiple right-hand sides:
The coefficient matrix A of each of these tri-diagonal linear system is defined with three vectors corresponding to its lower (dl), main (d), and upper (du) matrix diagonals; the right-hand sides are stored in the dense matrix B. Notice that solution X overwrites right-hand-side matrix B on exit.
The routine does not perform any pivoting and uses a combination of the Cyclic Reduction (CR) and the Parallel Cyclic Reduction (PCR) algorithms to find the solution. It achieves better performance when m is a power of 2.
This function requires a buffer size returned by gtsv2_nopivot_bufferSizeExt(). The address of pBuffer must be multiple of 128 bytes. If it is not, cusparseStatus_t::CUSPARSE_STATUS_INVALID_VALUE is returned.
- The routine requires no extra storage.
- The routine supports asynchronous execution.
- The routine supports CUDA graph capture.