class gpr::linalg::detail::CusolverLibΒΆ
#include <CusolverBackend.h>
class CusolverLib {
public:
// typedefs
typedef cusolverStatus_t(*)(cusolverDnHandle_t*) DnCreate_t;
typedef cusolverStatus_t(*)(cusolverDnHandle_t, cublasFillMode_t, int, double*, int, int*) DnDpotrf_bufferSize_t;
typedef cusolverStatus_t(*)(cusolverDnHandle_t, cublasFillMode_t, int, double*, int, double*, int, int*) DnDpotrf_t;
typedef cusolverStatus_t(*)(cusolverDnHandle_t, cublasFillMode_t, int, double*, int, int*) DnDpotri_bufferSize_t;
typedef cusolverStatus_t(*)(cusolverDnHandle_t, cublasFillMode_t, int, double*, int, double*, int, int*) DnDpotri_t;
// fields
DnCreate_t cusolverDnCreate = nullptr;
DnDpotrf_bufferSize_t cusolverDnDpotrf_bufferSize = nullptr;
DnDpotrf_t cusolverDnDpotrf = nullptr;
DnDpotri_bufferSize_t cusolverDnDpotri_bufferSize = nullptr;
DnDpotri_t cusolverDnDpotri = nullptr;
// methods
static CusolverLib& instance();
};