|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if !defined(CUSOLVERSP_H_) |
|
|
#define CUSOLVERSP_H_ |
|
|
|
|
|
#include "cusparse.h" |
|
|
#include "cublas_v2.h" |
|
|
#include "cusolver_common.h" |
|
|
|
|
|
#if defined(__cplusplus) |
|
|
extern "C" { |
|
|
#endif |
|
|
|
|
|
struct cusolverSpContext; |
|
|
typedef struct cusolverSpContext *cusolverSpHandle_t; |
|
|
|
|
|
struct csrqrInfo; |
|
|
typedef struct csrqrInfo *csrqrInfo_t; |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCreate(cusolverSpHandle_t *handle); |
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDestroy(cusolverSpHandle_t handle); |
|
|
cusolverStatus_t CUSOLVERAPI |
|
|
cusolverSpSetStream(cusolverSpHandle_t handle, cudaStream_t streamId); |
|
|
cusolverStatus_t CUSOLVERAPI |
|
|
cusolverSpGetStream(cusolverSpHandle_t handle, cudaStream_t *streamId); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrissymHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrEndPtrA, |
|
|
const int * csrColIndA, |
|
|
int * issym); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsvluHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const float * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
float * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsvluHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const double * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
double * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsvluHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
cuComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsvluHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
cuDoubleComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsvqr( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const float * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
float * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsvqr( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const double * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
double * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsvqr( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
cuComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsvqr( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
cuDoubleComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const float * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
float * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const double * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
double * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
cuComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
cuDoubleComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsvcholHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const float * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
float * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsvcholHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const double * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
double * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsvcholHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
cuComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsvcholHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
cuDoubleComplex * x, |
|
|
int * singularity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsvchol( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const float * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
|
|
|
float *x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsvchol( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const double * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
|
|
|
double *x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsvchol( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int reorder, |
|
|
|
|
|
cuComplex *x, |
|
|
int * singularity); |
|
|
|
|
|
CUSOLVER_DEPRECATED(cuDSS) cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsvchol( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int reorder, |
|
|
|
|
|
cuDoubleComplex *x, |
|
|
int * singularity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrlsqvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const float * b, |
|
|
float tol, |
|
|
int * rankA, |
|
|
float * x, |
|
|
int * p, |
|
|
float * min_norm); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrlsqvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const double * b, |
|
|
double tol, |
|
|
int * rankA, |
|
|
double * x, |
|
|
int * p, |
|
|
double * min_norm); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrlsqvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuComplex * b, |
|
|
float tol, |
|
|
int * rankA, |
|
|
cuComplex * x, |
|
|
int * p, |
|
|
float * min_norm); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrlsqvqrHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuDoubleComplex * b, |
|
|
double tol, |
|
|
int * rankA, |
|
|
cuDoubleComplex * x, |
|
|
int * p, |
|
|
double * min_norm); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsreigvsiHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
float mu0, |
|
|
const float * x0, |
|
|
int maxite, |
|
|
float tol, |
|
|
float * mu, |
|
|
float * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsreigvsiHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
double mu0, |
|
|
const double * x0, |
|
|
int maxite, |
|
|
double tol, |
|
|
double * mu, |
|
|
double * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsreigvsiHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuComplex mu0, |
|
|
const cuComplex * x0, |
|
|
int maxite, |
|
|
float tol, |
|
|
cuComplex * mu, |
|
|
cuComplex * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsreigvsiHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuDoubleComplex mu0, |
|
|
const cuDoubleComplex * x0, |
|
|
int maxite, |
|
|
double tol, |
|
|
cuDoubleComplex * mu, |
|
|
cuDoubleComplex * x); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsreigvsi( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
float mu0, |
|
|
const float * x0, |
|
|
int maxite, |
|
|
float eps, |
|
|
float * mu, |
|
|
float * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsreigvsi( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
double mu0, |
|
|
const double * x0, |
|
|
int maxite, |
|
|
double eps, |
|
|
double * mu, |
|
|
double * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsreigvsi( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuComplex mu0, |
|
|
const cuComplex * x0, |
|
|
int maxite, |
|
|
float eps, |
|
|
cuComplex * mu, |
|
|
cuComplex * x); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsreigvsi( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuDoubleComplex mu0, |
|
|
const cuDoubleComplex * x0, |
|
|
int maxite, |
|
|
double eps, |
|
|
cuDoubleComplex * mu, |
|
|
cuDoubleComplex * x); |
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsreigsHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuComplex left_bottom_corner, |
|
|
cuComplex right_upper_corner, |
|
|
int * num_eigs); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsreigsHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuDoubleComplex left_bottom_corner, |
|
|
cuDoubleComplex right_upper_corner, |
|
|
int * num_eigs); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsreigsHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuComplex left_bottom_corner, |
|
|
cuComplex right_upper_corner, |
|
|
int * num_eigs); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsreigsHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
cuDoubleComplex left_bottom_corner, |
|
|
cuDoubleComplex right_upper_corner, |
|
|
int * num_eigs); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrsymrcmHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * p); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrsymmdqHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * p); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrsymamdHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * p); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrmetisndHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const int64_t * options, |
|
|
int * p); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrzfdHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * P, |
|
|
int * numnz); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrzfdHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * P, |
|
|
int * numnz); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrzfdHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * P, |
|
|
int * numnz); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrzfdHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
int * P, |
|
|
int * numnz); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrperm_bufferSizeHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const int * p, |
|
|
const int * q, |
|
|
size_t * bufferSizeInBytes); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrpermHost( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
int * csrRowPtrA, |
|
|
int * csrColIndA, |
|
|
const int * p, |
|
|
const int * q, |
|
|
int * map, |
|
|
void * pBuffer); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCreateCsrqrInfo(csrqrInfo_t *info); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDestroyCsrqrInfo(csrqrInfo_t info); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpXcsrqrAnalysisBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnzA, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
csrqrInfo_t info); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrqrBufferInfoBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
size_t * internalDataInBytes, |
|
|
size_t * workspaceInBytes); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrqrBufferInfoBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
size_t * internalDataInBytes, |
|
|
size_t * workspaceInBytes); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrqrBufferInfoBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
size_t * internalDataInBytes, |
|
|
size_t * workspaceInBytes); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrqrBufferInfoBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrVal, |
|
|
const int * csrRowPtr, |
|
|
const int * csrColInd, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
size_t * internalDataInBytes, |
|
|
size_t * workspaceInBytes); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpScsrqrsvBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const float * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const float * b, |
|
|
float * x, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
void * pBuffer); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpDcsrqrsvBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const double * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const double * b, |
|
|
double * x, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
void * pBuffer); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpCcsrqrsvBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuComplex * b, |
|
|
cuComplex * x, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
void * pBuffer); |
|
|
|
|
|
cusolverStatus_t CUSOLVERAPI cusolverSpZcsrqrsvBatched( |
|
|
cusolverSpHandle_t handle, |
|
|
int m, |
|
|
int n, |
|
|
int nnz, |
|
|
const cusparseMatDescr_t descrA, |
|
|
const cuDoubleComplex * csrValA, |
|
|
const int * csrRowPtrA, |
|
|
const int * csrColIndA, |
|
|
const cuDoubleComplex * b, |
|
|
cuDoubleComplex * x, |
|
|
int batchSize, |
|
|
csrqrInfo_t info, |
|
|
void * pBuffer); |
|
|
|
|
|
#if defined(__cplusplus) |
|
|
} |
|
|
#endif |
|
|
|
|
|
#endif |
|
|
|