-
Notifications
You must be signed in to change notification settings - Fork 26.3k
Description
CUDA does not implement the trtrs function for the triangular solver operation. However, through CUBLAS, it provides the trsm and trsv functions, which appear to do exactly the same as trtrs.
As far as I can tell, common CPU BLAS implementations provide the trsm and trsv functions (e.g. OpenBLAS and MKL). MAGMA also provides an implementation of both.
This feature would allow for faster computation of the backward function for Cholesky factorization (potrf). both on CPU and GPU. The current implementation uses a solver for general matrices, which requires computing an LU factorization (done internally in gesv). Using the triangular system solver, the factorization step is no longer required.
Cholesky factorization and triangular system solve operations are commonplace in Bayesian machine learning methods, when dealing with Gaussian distributions.