public static extern cusparseStatus cusparseCbsric02(cusparseContext handle,
											  cusparseDirection dirA,
											  int mb,
											  int nnzb,
											  cusparseMatDescr descrA,
											  CUdeviceptr bsrVal,
											  CUdeviceptr bsrRowPtr,
											  CUdeviceptr bsrColInd,
											  int blockDim,
											  bsric02Info info,
											  cusparseSolvePolicy policy,
											  CUdeviceptr pBuffer);
        public static extern cusparseStatus cusparseCbsr2csr(cusparseContext handle,
											cusparseDirection dirA,
											int mb,
											int nb,
											cusparseMatDescr descrA,
											CUdeviceptr bsrValA,
											CUdeviceptr bsrRowPtrA,
											CUdeviceptr bsrColIndA,
											int blockDim,
											cusparseMatDescr descrC,
											CUdeviceptr csrValC,
											CUdeviceptr csrRowPtrC,
											CUdeviceptr csrColIndC);
		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 cusparseZcsrsv_solve(cusparseContext handle, cusparseOperation transA, int m, CUdeviceptr alpha, cusparseMatDescr descrA, CUdeviceptr csrValA, CUdeviceptr csrRowPtrA, CUdeviceptr csrColIndA, cusparseSolveAnalysisInfo info, CUdeviceptr x, CUdeviceptr y);
		public static extern cusparseStatus cusparseSetPointerMode(cusparseContext handle, cusparsePointerMode mode);
		public static extern cusparseStatus cusparseCcsrsv_analysis(cusparseContext handle, cusparseOperation transA, int m, int nnz, cusparseMatDescr descrA, CUdeviceptr csrValA, CUdeviceptr csrRowPtrA, CUdeviceptr csrColIndA, cusparseSolveAnalysisInfo info);
		public static extern cusparseStatus cusparseXcscsort_bufferSizeExt(cusparseContext handle,
                                                            int m,
                                                            int n,
                                                            int nnz,
                                                            CUdeviceptr cscColPtrA,
                                                            CUdeviceptr cscRowIndA,
                                                            ref SizeT pBufferSizeInBytes);
		public static extern cusparseStatus cusparseXcoosort_bufferSizeExt(cusparseContext handle,
                                                            int m,
                                                            int n,
                                                            int nnz,
                                                            CUdeviceptr cooRowsA,
                                                            CUdeviceptr cooColsA,
                                                            ref SizeT pBufferSizeInBytes);
		public static extern cusparseStatus cusparseZgebsr2gebsc_bufferSizeExt(cusparseContext handle,
															 int mb,
															 int nb,
															 int nnzb,
															 CUdeviceptr bsrVal,
															 CUdeviceptr bsrRowPtr,
															 CUdeviceptr bsrColInd,
															 int rowBlockDim,
															 int colBlockDim,
															 ref SizeT pBufferSize);
		public static extern cusparseStatus cusparseZbsrxmv(cusparseContext handle,
											cusparseDirection dirA,
											cusparseOperation transA,
											int sizeOfMask,
											int mb,
											int nb,
											int nnzb,
											CUdeviceptr alpha,
											cusparseMatDescr descrA,
											CUdeviceptr bsrValA,
											CUdeviceptr bsrMaskPtrA,
											CUdeviceptr bsrRowPtrA,
											CUdeviceptr bsrEndPtrA,
											CUdeviceptr bsrColIndA,
											int blockDim,
											CUdeviceptr x,
											CUdeviceptr beta,
											CUdeviceptr y);
		public static extern cusparseStatus cusparseSetStream(cusparseContext handle, CUstream streamId);
		public static extern cusparseStatus cusparseZgemvi(cusparseContext handle,
									cusparseOperation transA,
									int m,
									int n,
									CUdeviceptr alpha, /* host or device pointer */
									CUdeviceptr A,
									int lda,
									int nnz,
									CUdeviceptr xVal,
									CUdeviceptr xInd,
									CUdeviceptr beta, /* host or device pointer */
									CUdeviceptr y,
									cusparseIndexBase idxBase,
									CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZbsrmv(cusparseContext handle,
											cusparseDirection dirA,
											cusparseOperation transA,
											int mb,
											int nb,
											int nnzb,
											ref cuDoubleComplex alpha,
											cusparseMatDescr descrA,
											CUdeviceptr bsrValA,
											CUdeviceptr bsrRowPtrA,
											CUdeviceptr bsrColIndA,
											int blockDim,
											CUdeviceptr x,
											ref cuDoubleComplex beta,
											CUdeviceptr y);
		public static extern cusparseStatus cusparseGetVersion(cusparseContext handle, ref int version);
		public static extern cusparseStatus cusparseDestroy(cusparseContext handle);
		public static extern cusparseStatus cusparseZgebsr2gebsr(cusparseContext handle,
												  cusparseDirection dirA,
												  int mb,
												  int nb,
												  int nnzb,
												  cusparseMatDescr descrA,
												  CUdeviceptr bsrValA,
												  CUdeviceptr bsrRowPtrA,
												  CUdeviceptr bsrColIndA,
												  int rowBlockDimA,
												  int colBlockDimA,
												  cusparseMatDescr descrC,
												  CUdeviceptr bsrValC,
												  CUdeviceptr bsrRowPtrC,
												  CUdeviceptr bsrColIndC,
												  int rowBlockDimC,
												  int colBlockDimC,
												  CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseCreateIdentityPermutation(cusparseContext handle,
                                                               int n,
                                                               CUdeviceptr p);
		public static extern cusparseStatus cusparseZgebsr2gebsc(cusparseContext handle,
											  int mb,
											  int nb,
											  int nnzb,
											  CUdeviceptr bsrVal,
											  CUdeviceptr bsrRowPtr,
											  CUdeviceptr bsrColInd,
											  int rowBlockDim,
											  int colBlockDim,
											  CUdeviceptr bscVal,
											  CUdeviceptr bscRowInd,
											  CUdeviceptr bscColPtr,
											  cusparseAction copyValues,
											  cusparseIndexBase baseIdx,
											  CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseXcoosortByColumn(cusparseContext handle,
                                                      int m,
                                                      int n, 
                                                      int nnz,
                                                      CUdeviceptr cooRowsA,
                                                      CUdeviceptr cooColsA,
                                                      CUdeviceptr P,
                                                      CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZcsrmv(cusparseContext handle, cusparseOperation transA, int m, int n, int nnz, CUdeviceptr alpha, cusparseMatDescr descrA, CUdeviceptr csrValA, CUdeviceptr csrRowPtrA, CUdeviceptr csrColIndA, CUdeviceptr x, CUdeviceptr beta, CUdeviceptr y);
		public static extern cusparseStatus cusparseXcscsort(cusparseContext handle,
                                              int m,
                                              int n,
                                              int nnz,
                                              cusparseMatDescr descrA,
                                              CUdeviceptr cscColPtrA,
                                              CUdeviceptr cscRowIndA,
                                              CUdeviceptr P,
                                              CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZcsr2gebsr_bufferSize(cusparseContext handle,
														   cusparseDirection dirA,
														   int m,
														   int n,
														   cusparseMatDescr descrA,
														   CUdeviceptr csrValA,
														   CUdeviceptr csrRowPtrA,
														   CUdeviceptr csrColIndA,
														   int rowBlockDim,
														   int colBlockDim,
														   ref int pBufferSize);
		public static extern cusparseStatus cusparseZcsru2csr_bufferSizeExt(cusparseContext handle,
                                                             int m,
                                                             int n,
                                                             int nnz,
                                                             CUdeviceptr csrVal,
                                                             CUdeviceptr csrRowPtr,
                                                             CUdeviceptr csrColInd,
                                                             csru2csrInfo  info,
                                                             ref SizeT pBufferSizeInBytes);
		public static extern cusparseStatus cusparseChybmv(cusparseContext handle, cusparseOperation transA, ref cuFloatComplex alpha, cusparseMatDescr descrA, cusparseHybMat hybA, CUdeviceptr x, ref cuFloatComplex beta, CUdeviceptr y);
		public static extern cusparseStatus cusparseZcsr2csru(cusparseContext handle,
                                               int m,
                                               int n,
                                               int nnz,
                                               cusparseMatDescr descrA,
                                               CUdeviceptr csrVal,
                                               CUdeviceptr csrRowPtr,
                                               CUdeviceptr csrColInd,
                                               csru2csrInfo  info,
                                               CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseCgebsr2gebsr_bufferSizeExt(cusparseContext handle,
															 cusparseDirection dirA,
															 int mb,
															 int nb,
															 int nnzb,
															 cusparseMatDescr descrA,
															 CUdeviceptr bsrValA,
															 CUdeviceptr bsrRowPtrA,
															 CUdeviceptr bsrColIndA,
															 int rowBlockDimA,
															 int colBlockDimA,
															 int rowBlockDimC,
															 int colBlockDimC,
															 ref SizeT pBufferSize);
		public static extern cusparseStatus cusparseZcsrsv2_bufferSizeExt(cusparseContext handle,
														cusparseOperation transA,
														int m,
														int nnz,
														cusparseMatDescr descrA,
														CUdeviceptr csrValA,
														CUdeviceptr csrRowPtrA,
														CUdeviceptr csrColIndA,
														csrsv2Info info,
														ref SizeT pBufferSize);
		public static extern cusparseStatus cusparseXgebsr2gebsrNnz(cusparseContext handle,
													 cusparseDirection dirA,
													 int mb,
													 int nb,
													 int nnzb,
													 cusparseMatDescr descrA,
													 CUdeviceptr bsrRowPtrA,
													 CUdeviceptr bsrColIndA,
													 int rowBlockDimA,
													 int colBlockDimA,
													 cusparseMatDescr descrC,
													 CUdeviceptr bsrRowPtrC,
													 int rowBlockDimC,
													 int colBlockDimC,
													 CUdeviceptr nnzTotalDevHostPtr,
													 CUdeviceptr pBuffer);
		public static extern cusparseStatus cusparseZbsrsv2_bufferSizeExt(cusparseContext handle,
														cusparseDirection dirA,
														cusparseOperation transA,
														int mb,
														int nnzb,
														cusparseMatDescr descrA,
														CUdeviceptr bsrVal,
														CUdeviceptr bsrRowPtr,
														CUdeviceptr bsrColInd,
														int blockDim,
														bsrsv2Info info,
														ref SizeT pBufferSize);
		public static extern cusparseStatus cusparseZhybmv(cusparseContext handle, cusparseOperation transA, CUdeviceptr alpha, cusparseMatDescr descrA, cusparseHybMat hybA, CUdeviceptr x, CUdeviceptr beta, CUdeviceptr y);