public static extern cusparseStatus cusparseZcsrsv2_analysis(cusparseContext handle,
													  cusparseOperation transA,
													  int m,
													  int nnz,
													  cusparseMatDescr descrA,
													  CUdeviceptr csrValA,
													  CUdeviceptr csrRowPtrA,
													  CUdeviceptr csrColIndA,
													  csrsv2Info info,
													  cusparseSolvePolicy policy,
													  CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseDbsrsv2_analysis(cusparseContext handle,
													  cusparseDirection dirA,
													  cusparseOperation transA,
													  int mb,
													  int nnzb,
													  cusparseMatDescr descrA,
													  CUdeviceptr bsrVal,
													  CUdeviceptr bsrRowPtr,
													  CUdeviceptr bsrColInd,
													  int blockDim,
													  bsrsv2Info info,
													  cusparseSolvePolicy policy,
													  CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZcsric02(cusparseContext handle,
											  int m,
											  int nnz,
											  cusparseMatDescr descrA,
											  CUdeviceptr csrValA_valM,
			/* matrix A values are updated inplace 
			   to be the preconditioner M values */
											  CUdeviceptr csrRowPtrA,
											  CUdeviceptr csrColIndA,
											  csric02Info info,
											  cusparseSolvePolicy policy,
											  CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZbsrilu02(cusparseContext handle,
                                               cusparseDirection dirA,
                                               int mb,
                                               int nnzb,
                                               cusparseMatDescr descra,
											   CUdeviceptr bsrVal,
											   CUdeviceptr bsrRowPtr,
											   CUdeviceptr bsrColInd,
                                               int blockDim,
                                               bsrilu02Info info,
                                               cusparseSolvePolicy policy,
                                               CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZbsrsm2_solve(cusparseContext handle,
												   cusparseDirection dirA,
												   cusparseOperation transA,
												   cusparseOperation transXY,
												   int mb,
												   int n,
												   int nnzb,
												   CUdeviceptr alpha,
												   cusparseMatDescr descrA,
												   CUdeviceptr bsrVal,
												   CUdeviceptr bsrRowPtr,
												   CUdeviceptr bsrColInd,
												   int blockSize,
												   bsrsm2Info info,
												   CUdeviceptr X,
												   int ldx,
												   CUdeviceptr Y,
												   int ldy,
												   cusparseSolvePolicy policy,
												   CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseCcsrsv2_solve(cusparseContext handle,
												   cusparseOperation transA,
												   int m,
												   int nnz,
												   CUdeviceptr alpha,
												   cusparseMatDescr descra,
												   CUdeviceptr csrValA,
												   CUdeviceptr csrRowPtrA,
												   CUdeviceptr csrColIndA,
												   csrsv2Info info,
												   CUdeviceptr x,
												   CUdeviceptr y,
												   cusparseSolvePolicy policy,
												   CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZbsrsv2_solve(cusparseContext handle,
												   cusparseDirection dirA,
												   cusparseOperation transA,
												   int mb,
												   int nnzb,
												   ref cuDoubleComplex alpha,
												   cusparseMatDescr descrA,
												   CUdeviceptr bsrVal,
												   CUdeviceptr bsrRowPtr,
												   CUdeviceptr bsrColInd,
												   int blockDim,
												   bsrsv2Info info,
												   CUdeviceptr x,
												   CUdeviceptr y,
												   cusparseSolvePolicy policy,
												   CUdeviceptr pBuffer);