void geqrf(handle_t handle, int m, int n, float* a, int lda, float* tau, float* workspace, int workspace_size, int* info, bool verify = false) { check_error(cusolverDnSgeqrf(handle, m, n, a, lda, tau, workspace, workspace_size, info)); if (!verify) return; int temp; cuda::copy_to_host(&temp, info, 1); assert(temp == 0); }
cusolverStatus_t cusolverDnXgeqrf(int m, int n, float *A, int lda, float *TAU, float *Workspace, int Lwork, int* devInfo) { return cusolverDnSgeqrf(g_context->cusolverDnHandle, m, n, A, lda, TAU, Workspace, Lwork, devInfo); }