| 460 | |
| 461 | template <typename Scalar, typename SolverFnT> |
| 462 | static inline Status GetrsImpl(SolverFnT solver, OpKernelContext* context, |
| 463 | cusolverDnHandle_t cusolver_dn_handle, |
| 464 | cublasOperation_t trans, int n, int nrhs, |
| 465 | const Scalar* A, int lda, const int* pivots, |
| 466 | Scalar* B, int ldb, int* dev_lapack_info) { |
| 467 | mutex_lock lock(handle_map_mutex); |
| 468 | /* Launch the solver kernel. */ |
| 469 | TF_RETURN_IF_CUSOLVER_ERROR(solver(cusolver_dn_handle, trans, n, nrhs, |
| 470 | CUDAComplex(A), lda, pivots, |
| 471 | CUDAComplex(B), ldb, dev_lapack_info)); |
| 472 | return Status::OK(); |
| 473 | } |
| 474 | |
| 475 | #define GETRS_INSTANCE(Scalar, type_prefix) \ |
| 476 | template <> \ |
nothing calls this directly
no test coverage detected