Remove deprecate function
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,4 +1,4 @@
|
|||||||
build/
|
build/
|
||||||
.cache/
|
.cache/
|
||||||
.vscode/
|
.vscode/
|
||||||
URDepends/
|
URD*/
|
||||||
@@ -41,8 +41,8 @@ struct sparse_mm {
|
|||||||
cusparseIndexBase_t idxBase)
|
cusparseIndexBase_t idxBase)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
unsigned long tbufferSize = 0;
|
||||||
HANDLE_ERROR(cusparseScsr2csc(cs_handle,
|
cusparseCsr2cscEx2_bufferSize(cs_handle,
|
||||||
A.dim_x, // m
|
A.dim_x, // m
|
||||||
A.dim_y, // n
|
A.dim_y, // n
|
||||||
A.nnz, // nnz
|
A.nnz, // nnz
|
||||||
@@ -50,10 +50,42 @@ struct sparse_mm {
|
|||||||
A_csc.ptr(), // csrRowPtr
|
A_csc.ptr(), // csrRowPtr
|
||||||
A_csc.ind(), // csrColInd
|
A_csc.ind(), // csrColInd
|
||||||
A_csr.val(), // cscVal
|
A_csr.val(), // cscVal
|
||||||
|
A_csr.ptr(), // cscColPtr
|
||||||
A_csr.ind(), // cscRowInd
|
A_csr.ind(), // cscRowInd
|
||||||
|
CUDA_R_32F,
|
||||||
|
CUSPARSE_ACTION_NUMERIC, // copyValues
|
||||||
|
CUSPARSE_INDEX_BASE_ZERO,
|
||||||
|
CUSPARSE_CSR2CSC_ALG1,
|
||||||
|
&tbufferSize);
|
||||||
|
void * buffer =NULL;
|
||||||
|
cudaMalloc(&buffer,tbufferSize);
|
||||||
|
cusparseCsr2cscEx2(cs_handle,
|
||||||
|
A.dim_x, // m
|
||||||
|
A.dim_y, // n
|
||||||
|
A.nnz, // nnz
|
||||||
|
A_csc.val(), // csrVal
|
||||||
|
A_csc.ptr(), // csrRowPtr
|
||||||
|
A_csc.ind(), // csrColInd
|
||||||
|
A_csr.val(), // cscVal
|
||||||
A_csr.ptr(), // cscColPtr
|
A_csr.ptr(), // cscColPtr
|
||||||
|
A_csr.ind(), // cscRowInd
|
||||||
|
CUDA_R_32F,
|
||||||
CUSPARSE_ACTION_NUMERIC, // copyValues
|
CUSPARSE_ACTION_NUMERIC, // copyValues
|
||||||
CUSPARSE_INDEX_BASE_ZERO)); // idxBase
|
CUSPARSE_INDEX_BASE_ZERO,
|
||||||
|
CUSPARSE_CSR2CSC_ALG1,buffer);
|
||||||
|
cudaFree(buffer);
|
||||||
|
// HANDLE_ERROR(cusparseScsr2csc(cs_handle,
|
||||||
|
// A.dim_x, // m
|
||||||
|
// A.dim_y, // n
|
||||||
|
// A.nnz, // nnz
|
||||||
|
// A_csc.val(), // csrVal
|
||||||
|
// A_csc.ptr(), // csrRowPtr
|
||||||
|
// A_csc.ind(), // csrColInd
|
||||||
|
// A_csr.val(), // cscVal
|
||||||
|
// A_csr.ind(), // cscRowInd
|
||||||
|
// A_csr.ptr(), // cscColPtr
|
||||||
|
// CUSPARSE_ACTION_NUMERIC, // copyValues
|
||||||
|
// CUSPARSE_INDEX_BASE_ZERO)); // idxBase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -139,20 +171,40 @@ inline cusparseStatus_t mat_vec_mul(cublasOperation_t transA, const sparse_mm &A
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
cusparseStatus_t status;
|
cusparseStatus_t status;
|
||||||
status = cusparseScsrmv(A.cs_handle,
|
// status = cusparseScsrmv(A.cs_handle,
|
||||||
CUSPARSE_OPERATION_NON_TRANSPOSE,
|
// CUSPARSE_OPERATION_NON_TRANSPOSE,
|
||||||
m,
|
// m,
|
||||||
n,
|
// n,
|
||||||
A.A_csr.nnz,
|
// A.A_csr.nnz,
|
||||||
&alpha,
|
// &alpha,
|
||||||
A.descrA,
|
// A.descrA,
|
||||||
mA->val(),
|
// mA->val(),
|
||||||
mA->ptr(),
|
// mA->ptr(),
|
||||||
mA->ind(),
|
// mA->ind(),
|
||||||
x,
|
// x,
|
||||||
|
// &beta,
|
||||||
|
// y);
|
||||||
|
cusparseSpMatDescr_t matA;
|
||||||
|
cusparseCreateCsr(&matA,m,n,A.A_csr.nnz,(void*)mA->ptr(),(void*)mA->ind(),(void*)mA->val(),CUSPARSE_INDEX_32I,CUSPARSE_INDEX_32I,CUSPARSE_INDEX_BASE_ZERO,CUDA_R_32F);
|
||||||
|
cusparseDnVecDescr_t vecX,vecY;
|
||||||
|
cusparseCreateDnVec(&vecX,n, (void*)x, cudaDataType::CUDA_R_32F);
|
||||||
|
cusparseCreateDnVec(&vecY,m, (void*)y, cudaDataType::CUDA_R_32F);
|
||||||
|
unsigned long bufferSize = 0;
|
||||||
|
status = cusparseSpMV_bufferSize(A.cs_handle, CUSPARSE_OPERATION_NON_TRANSPOSE,&alpha,matA,
|
||||||
|
vecX,
|
||||||
&beta,
|
&beta,
|
||||||
y);
|
vecY,
|
||||||
|
cudaDataType::CUDA_R_32F,
|
||||||
|
CUSPARSE_CSRMV_ALG1, &bufferSize);
|
||||||
|
void* buffer = NULL;
|
||||||
|
cudaMalloc(&buffer,bufferSize);
|
||||||
|
status = cusparseSpMV(A.cs_handle, CUSPARSE_OPERATION_NON_TRANSPOSE,
|
||||||
|
&alpha, matA, vecX, &beta, vecY,
|
||||||
|
CUDA_R_32F, CUSPARSE_CSRMV_ALG1, buffer);
|
||||||
|
cusparseDestroySpMat(matA);
|
||||||
|
cusparseDestroyDnVec(vecX);
|
||||||
|
cusparseDestroyDnVec(vecY);
|
||||||
|
cudaFree(buffer);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user