diff --git a/bin/hipify-perl b/bin/hipify-perl index 703394b3..9d652394 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -1749,6 +1749,10 @@ sub rocSubstitutions { subst("cusparseDpruneCsr2csrNnz", "rocsparse_dprune_csr2csr_nnz", "library"); subst("cusparseDpruneCsr2csrNnzByPercentage", "rocsparse_dprune_csr2csr_nnz_by_percentage", "library"); subst("cusparseDpruneCsr2csr_bufferSizeExt", "rocsparse_dprune_csr2csr_buffer_size", "library"); + subst("cusparseDpruneDense2csr", "rocsparse_dprune_dense2csr", "library"); + subst("cusparseDpruneDense2csrByPercentage", "rocsparse_dprune_dense2csr_by_percentage", "library"); + subst("cusparseDpruneDense2csrByPercentage_bufferSizeExt", "rocsparse_dprune_dense2csr_by_percentage_buffer_size", "library"); + subst("cusparseDpruneDense2csrNnzByPercentage", "rocsparse_dprune_dense2csr_nnz_by_percentage", "library"); subst("cusparseGather", "rocsparse_gather", "library"); subst("cusparseGetMatDiagType", "rocsparse_get_mat_diag_type", "library"); subst("cusparseGetMatFillMode", "rocsparse_get_mat_fill_mode", "library"); @@ -1804,6 +1808,10 @@ sub rocSubstitutions { subst("cusparseSpruneCsr2csrNnz", "rocsparse_sprune_csr2csr_nnz", "library"); subst("cusparseSpruneCsr2csrNnzByPercentage", "rocsparse_sprune_csr2csr_nnz_by_percentage", "library"); subst("cusparseSpruneCsr2csr_bufferSizeExt", "rocsparse_sprune_csr2csr_buffer_size", "library"); + subst("cusparseSpruneDense2csr", "rocsparse_sprune_dense2csr", "library"); + subst("cusparseSpruneDense2csrByPercentage", "rocsparse_sprune_dense2csr_by_percentage", "library"); + subst("cusparseSpruneDense2csrByPercentage_bufferSizeExt", "rocsparse_sprune_dense2csr_by_percentage_buffer_size", "library"); + subst("cusparseSpruneDense2csrNnzByPercentage", "rocsparse_sprune_dense2csr_nnz_by_percentage", "library"); subst("cusparseXcoo2csr", "rocsparse_coo2csr", "library"); subst("cusparseXcoosortByColumn", "rocsparse_coosort_by_column", "library"); subst("cusparseXcoosortByRow", "rocsparse_coosort_by_row", "library"); diff --git a/docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md b/docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md index d5998e65..17be3222 100644 --- a/docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md +++ b/docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md @@ -690,11 +690,11 @@ |`cusparseDpruneCsr2csrNnz`|9.0|12.2| |`hipsparseDpruneCsr2csrNnz`|3.9.0| | | |`rocsparse_dprune_csr2csr_nnz`|3.9.0| | | | |`cusparseDpruneCsr2csrNnzByPercentage`|9.0|12.2| |`hipsparseDpruneCsr2csrNnzByPercentage`|3.9.0| | | |`rocsparse_dprune_csr2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseDpruneCsr2csr_bufferSizeExt`|9.0|12.2| |`hipsparseDpruneCsr2csr_bufferSizeExt`|3.9.0| | | |`rocsparse_dprune_csr2csr_buffer_size`|3.9.0| | | | -|`cusparseDpruneDense2csr`|9.0|12.2| |`hipsparseDpruneDense2csr`|3.9.0| | | | | | | | | -|`cusparseDpruneDense2csrByPercentage`|9.0|12.2| |`hipsparseDpruneDense2csrByPercentage`|3.9.0| | | | | | | | | -|`cusparseDpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`hipsparseDpruneDense2csrByPercentage_bufferSizeExt`|3.9.0| | | | | | | | | +|`cusparseDpruneDense2csr`|9.0|12.2| |`hipsparseDpruneDense2csr`|3.9.0| | | |`rocsparse_dprune_dense2csr`|3.9.0| | | | +|`cusparseDpruneDense2csrByPercentage`|9.0|12.2| |`hipsparseDpruneDense2csrByPercentage`|3.9.0| | | |`rocsparse_dprune_dense2csr_by_percentage`|3.9.0| | | | +|`cusparseDpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`hipsparseDpruneDense2csrByPercentage_bufferSizeExt`|3.9.0| | | |`rocsparse_dprune_dense2csr_by_percentage_buffer_size`|3.9.0| | | | |`cusparseDpruneDense2csrNnz`|9.0|12.2| |`hipsparseDpruneDense2csrNnz`|3.9.0| | | | | | | | | -|`cusparseDpruneDense2csrNnzByPercentage`|9.0|12.2| |`hipsparseDpruneDense2csrNnzByPercentage`|3.9.0| | | | | | | | | +|`cusparseDpruneDense2csrNnzByPercentage`|9.0|12.2| |`hipsparseDpruneDense2csrNnzByPercentage`|3.9.0| | | |`rocsparse_dprune_dense2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseDpruneDense2csr_bufferSizeExt`|9.0|12.2| |`hipsparseDpruneDense2csr_bufferSizeExt`|3.9.0| | | | | | | | | |`cusparseHpruneCsr2csr`|9.0|12.2| | | | | | | | | | | | |`cusparseHpruneCsr2csrByPercentage`|9.0|12.2| | | | | | | | | | | | @@ -743,11 +743,11 @@ |`cusparseSpruneCsr2csrNnz`|9.0|12.2| |`hipsparseSpruneCsr2csrNnz`|3.9.0| | | |`rocsparse_sprune_csr2csr_nnz`|3.9.0| | | | |`cusparseSpruneCsr2csrNnzByPercentage`|9.0|12.2| |`hipsparseSpruneCsr2csrNnzByPercentage`|3.9.0| | | |`rocsparse_sprune_csr2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseSpruneCsr2csr_bufferSizeExt`|9.0|12.2| |`hipsparseSpruneCsr2csr_bufferSizeExt`|3.9.0| | | |`rocsparse_sprune_csr2csr_buffer_size`|3.9.0| | | | -|`cusparseSpruneDense2csr`|9.0|12.2| |`hipsparseSpruneDense2csr`|3.9.0| | | | | | | | | -|`cusparseSpruneDense2csrByPercentage`|9.0|12.2| |`hipsparseSpruneDense2csrByPercentage`|3.9.0| | | | | | | | | -|`cusparseSpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`hipsparseSpruneDense2csrByPercentage_bufferSizeExt`|3.9.0| | | | | | | | | +|`cusparseSpruneDense2csr`|9.0|12.2| |`hipsparseSpruneDense2csr`|3.9.0| | | |`rocsparse_sprune_dense2csr`|3.9.0| | | | +|`cusparseSpruneDense2csrByPercentage`|9.0|12.2| |`hipsparseSpruneDense2csrByPercentage`|3.9.0| | | |`rocsparse_sprune_dense2csr_by_percentage`|3.9.0| | | | +|`cusparseSpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`hipsparseSpruneDense2csrByPercentage_bufferSizeExt`|3.9.0| | | |`rocsparse_sprune_dense2csr_by_percentage_buffer_size`|3.9.0| | | | |`cusparseSpruneDense2csrNnz`|9.0|12.2| |`hipsparseSpruneDense2csrNnz`|3.9.0| | | | | | | | | -|`cusparseSpruneDense2csrNnzByPercentage`|9.0|12.2| |`hipsparseSpruneDense2csrNnzByPercentage`|3.9.0| | | | | | | | | +|`cusparseSpruneDense2csrNnzByPercentage`|9.0|12.2| |`hipsparseSpruneDense2csrNnzByPercentage`|3.9.0| | | |`rocsparse_sprune_dense2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseSpruneDense2csr_bufferSizeExt`|9.0|12.2| |`hipsparseSpruneDense2csr_bufferSizeExt`|3.9.0| | | | | | | | | |`cusparseXcoo2csr`| | | |`hipsparseXcoo2csr`|1.9.2| | | |`rocsparse_coo2csr`|1.9.0| | | | |`cusparseXcoosortByColumn`| | | |`hipsparseXcoosortByColumn`|1.9.2| | | |`rocsparse_coosort_by_column`|1.9.0| | | | diff --git a/docs/tables/CUSPARSE_API_supported_by_ROC.md b/docs/tables/CUSPARSE_API_supported_by_ROC.md index a0f03f6e..e38c41db 100644 --- a/docs/tables/CUSPARSE_API_supported_by_ROC.md +++ b/docs/tables/CUSPARSE_API_supported_by_ROC.md @@ -690,11 +690,11 @@ |`cusparseDpruneCsr2csrNnz`|9.0|12.2| |`rocsparse_dprune_csr2csr_nnz`|3.9.0| | | | |`cusparseDpruneCsr2csrNnzByPercentage`|9.0|12.2| |`rocsparse_dprune_csr2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseDpruneCsr2csr_bufferSizeExt`|9.0|12.2| |`rocsparse_dprune_csr2csr_buffer_size`|3.9.0| | | | -|`cusparseDpruneDense2csr`|9.0|12.2| | | | | | | -|`cusparseDpruneDense2csrByPercentage`|9.0|12.2| | | | | | | -|`cusparseDpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| | | | | | | +|`cusparseDpruneDense2csr`|9.0|12.2| |`rocsparse_dprune_dense2csr`|3.9.0| | | | +|`cusparseDpruneDense2csrByPercentage`|9.0|12.2| |`rocsparse_dprune_dense2csr_by_percentage`|3.9.0| | | | +|`cusparseDpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`rocsparse_dprune_dense2csr_by_percentage_buffer_size`|3.9.0| | | | |`cusparseDpruneDense2csrNnz`|9.0|12.2| | | | | | | -|`cusparseDpruneDense2csrNnzByPercentage`|9.0|12.2| | | | | | | +|`cusparseDpruneDense2csrNnzByPercentage`|9.0|12.2| |`rocsparse_dprune_dense2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseDpruneDense2csr_bufferSizeExt`|9.0|12.2| | | | | | | |`cusparseHpruneCsr2csr`|9.0|12.2| | | | | | | |`cusparseHpruneCsr2csrByPercentage`|9.0|12.2| | | | | | | @@ -743,11 +743,11 @@ |`cusparseSpruneCsr2csrNnz`|9.0|12.2| |`rocsparse_sprune_csr2csr_nnz`|3.9.0| | | | |`cusparseSpruneCsr2csrNnzByPercentage`|9.0|12.2| |`rocsparse_sprune_csr2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseSpruneCsr2csr_bufferSizeExt`|9.0|12.2| |`rocsparse_sprune_csr2csr_buffer_size`|3.9.0| | | | -|`cusparseSpruneDense2csr`|9.0|12.2| | | | | | | -|`cusparseSpruneDense2csrByPercentage`|9.0|12.2| | | | | | | -|`cusparseSpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| | | | | | | +|`cusparseSpruneDense2csr`|9.0|12.2| |`rocsparse_sprune_dense2csr`|3.9.0| | | | +|`cusparseSpruneDense2csrByPercentage`|9.0|12.2| |`rocsparse_sprune_dense2csr_by_percentage`|3.9.0| | | | +|`cusparseSpruneDense2csrByPercentage_bufferSizeExt`|9.0|12.2| |`rocsparse_sprune_dense2csr_by_percentage_buffer_size`|3.9.0| | | | |`cusparseSpruneDense2csrNnz`|9.0|12.2| | | | | | | -|`cusparseSpruneDense2csrNnzByPercentage`|9.0|12.2| | | | | | | +|`cusparseSpruneDense2csrNnzByPercentage`|9.0|12.2| |`rocsparse_sprune_dense2csr_nnz_by_percentage`|3.9.0| | | | |`cusparseSpruneDense2csr_bufferSizeExt`|9.0|12.2| | | | | | | |`cusparseXcoo2csr`| | | |`rocsparse_coo2csr`|1.9.0| | | | |`cusparseXcoosortByColumn`| | | |`rocsparse_coosort_by_column`|1.9.0| | | | diff --git a/src/CUDA2HIP_SPARSE_API_functions.cpp b/src/CUDA2HIP_SPARSE_API_functions.cpp index 909d355c..ebc17d1a 100644 --- a/src/CUDA2HIP_SPARSE_API_functions.cpp +++ b/src/CUDA2HIP_SPARSE_API_functions.cpp @@ -665,8 +665,8 @@ const std::map CUDA_SPARSE_FUNCTION_MAP { {"cusparseZcsr2csru", {"hipsparseZcsr2csru", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, {"cusparseHpruneDense2csr", {"hipsparseHpruneDense2csr", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseSpruneDense2csr", {"hipsparseSpruneDense2csr", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseDpruneDense2csr", {"hipsparseDpruneDense2csr", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, + {"cusparseSpruneDense2csr", {"hipsparseSpruneDense2csr", "rocsparse_sprune_dense2csr", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, + {"cusparseDpruneDense2csr", {"hipsparseDpruneDense2csr", "rocsparse_dprune_dense2csr", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, {"cusparseHpruneDense2csr_bufferSizeExt", {"hipsparseHpruneDense2csr_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, {"cusparseSpruneDense2csr_bufferSizeExt", {"hipsparseSpruneDense2csr_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, @@ -689,16 +689,16 @@ const std::map CUDA_SPARSE_FUNCTION_MAP { {"cusparseDpruneCsr2csrNnz", {"hipsparseDpruneCsr2csrNnz", "rocsparse_dprune_csr2csr_nnz", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, {"cusparseHpruneDense2csrByPercentage", {"hipsparseHpruneDense2csrByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseSpruneDense2csrByPercentage", {"hipsparseSpruneDense2csrByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseDpruneDense2csrByPercentage", {"hipsparseDpruneDense2csrByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, + {"cusparseSpruneDense2csrByPercentage", {"hipsparseSpruneDense2csrByPercentage", "rocsparse_sprune_dense2csr_by_percentage", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, + {"cusparseDpruneDense2csrByPercentage", {"hipsparseDpruneDense2csrByPercentage", "rocsparse_dprune_dense2csr_by_percentage", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, {"cusparseHpruneDense2csrByPercentage_bufferSizeExt", {"hipsparseHpruneDense2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseSpruneDense2csrByPercentage_bufferSizeExt", {"hipsparseSpruneDense2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseDpruneDense2csrByPercentage_bufferSizeExt", {"hipsparseDpruneDense2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, + {"cusparseSpruneDense2csrByPercentage_bufferSizeExt", {"hipsparseSpruneDense2csrByPercentage_bufferSizeExt", "rocsparse_sprune_dense2csr_by_percentage_buffer_size", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, + {"cusparseDpruneDense2csrByPercentage_bufferSizeExt", {"hipsparseDpruneDense2csrByPercentage_bufferSizeExt", "rocsparse_dprune_dense2csr_by_percentage_buffer_size", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, {"cusparseHpruneDense2csrNnzByPercentage", {"hipsparseHpruneDense2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseSpruneDense2csrNnzByPercentage", {"hipsparseSpruneDense2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, - {"cusparseDpruneDense2csrNnzByPercentage", {"hipsparseDpruneDense2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, ROC_UNSUPPORTED | CUDA_DEPRECATED}}, + {"cusparseSpruneDense2csrNnzByPercentage", {"hipsparseSpruneDense2csrNnzByPercentage", "rocsparse_sprune_dense2csr_nnz_by_percentage", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, + {"cusparseDpruneDense2csrNnzByPercentage", {"hipsparseDpruneDense2csrNnzByPercentage", "rocsparse_dprune_dense2csr_nnz_by_percentage", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, {"cusparseHpruneCsr2csrByPercentage", {"hipsparseHpruneCsr2csrByPercentage", "", CONV_LIB_FUNC, API_SPARSE, 14, UNSUPPORTED | CUDA_DEPRECATED}}, {"cusparseSpruneCsr2csrByPercentage", {"hipsparseSpruneCsr2csrByPercentage", "rocsparse_sprune_csr2csr_by_percentage", CONV_LIB_FUNC, API_SPARSE, 14, CUDA_DEPRECATED}}, @@ -2112,6 +2112,14 @@ const std::map HIP_SPARSE_FUNCTION_VER_MAP { {"rocsparse_cdense2csc", {HIP_3020, HIP_0, HIP_0 }}, {"rocsparse_ddense2csc", {HIP_3020, HIP_0, HIP_0 }}, {"rocsparse_sdense2csc", {HIP_3020, HIP_0, HIP_0 }}, + {"rocsparse_dprune_dense2csr_by_percentage", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_sprune_dense2csr_by_percentage", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_dprune_dense2csr_nnz_by_percentage", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_sprune_dense2csr_nnz_by_percentage", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_dprune_dense2csr_by_percentage_buffer_size", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_sprune_dense2csr_by_percentage_buffer_size", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_dprune_dense2csr", {HIP_3090, HIP_0, HIP_0 }}, + {"rocsparse_sprune_dense2csr", {HIP_3090, HIP_0, HIP_0 }}, }; const std::map CUDA_SPARSE_API_SECTION_MAP { diff --git a/tests/unit_tests/synthetic/libraries/cusparse2hipsparse.cu b/tests/unit_tests/synthetic/libraries/cusparse2hipsparse.cu index 02e9409d..07c4d4c5 100644 --- a/tests/unit_tests/synthetic/libraries/cusparse2hipsparse.cu +++ b/tests/unit_tests/synthetic/libraries/cusparse2hipsparse.cu @@ -220,6 +220,7 @@ int main() { float fcsrSortedValC = 0.f; double dcsrSortedValC = 0.f; double percentage = 0.f; + float fpercentage = 0.f; double dthreshold = 0.f; float fthreshold = 0.f; double dtol = 0.f; @@ -714,6 +715,46 @@ int main() { // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseSpruneCsr2csr_bufferSizeExt(hipsparseHandle_t handle, int m, int n, int nnzA, const hipsparseMatDescr_t descrA, const float* csrValA, const int* csrRowPtrA, const int* csrColIndA, const float* threshold, const hipsparseMatDescr_t descrC, const float* csrValC, const int* csrRowPtrC, const int* csrColIndC, size_t* bufferSize); // CHECK: status_t = hipsparseSpruneCsr2csr_bufferSizeExt(handle_t, m, n, nnz, matDescr_A, &fbsrSortedValA, &csrRowPtrA, &csrColIndA, &fthreshold, matDescr_C, &fbsrSortedValC, &csrRowPtrC, &csrColIndC, &bufferSize); status_t = cusparseSpruneCsr2csr_bufferSizeExt(handle_t, m, n, nnz, matDescr_A, &fbsrSortedValA, &csrRowPtrA, &csrColIndA, &fthreshold, matDescr_C, &fbsrSortedValC, &csrRowPtrC, &csrColIndC, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrByPercentage(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, double* csrSortedValC, const int* csrSortedRowPtrC,int* csrSortedColIndC, pruneInfo_t info, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseDpruneDense2csrByPercentage(hipsparseHandle_t handle, int m, int n, const double* A, int lda, double percentage, const hipsparseMatDescr_t descr, double* csrVal, const int* csrRowPtr, int* csrColInd, pruneInfo_t info, void* buffer); + // CHECK: status_t = hipsparseDpruneDense2csrByPercentage(handle_t, m, n, &dA, lda, percentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + status_t = cusparseDpruneDense2csrByPercentage(handle_t, m, n, &dA, lda, percentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrByPercentage(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, float* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, pruneInfo_t info, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseSpruneDense2csrByPercentage(hipsparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const hipsparseMatDescr_t descr, float* csrVal, const int* csrRowPtr, int* csrColInd, pruneInfo_t info, void* buffer); + // CHECK: status_t = hipsparseSpruneDense2csrByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + status_t = cusparseSpruneDense2csrByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrNnzByPercentage(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, int* csrRowPtrC, int* nnzTotalDevHostPtr, pruneInfo_t info, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseDpruneDense2csrNnzByPercentage(hipsparseHandle_t handle, int m, int n, const double* A, int lda, double percentage, const hipsparseMatDescr_t descr, int* csrRowPtr, int* nnzTotalDevHostPtr, pruneInfo_t info, void* buffer); + // CHECK: status_t = hipsparseDpruneDense2csrNnzByPercentage(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + status_t = cusparseDpruneDense2csrNnzByPercentage(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrNnzByPercentage(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, int* csrRowPtrC, int* nnzTotalDevHostPtr, pruneInfo_t info, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseSpruneDense2csrNnzByPercentage(hipsparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const hipsparseMatDescr_t descr, int* csrRowPtr, int* nnzTotalDevHostPtr, pruneInfo_t info, void* buffer); + // CHECK: status_t = hipsparseSpruneDense2csrNnzByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + status_t = cusparseSpruneDense2csrNnzByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrByPercentage_bufferSizeExt(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, const double* csrSortedValC, const int* csrSortedRowPtrC, const int* csrSortedColIndC, pruneInfo_t info, size_t* pBufferSizeInBytes); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseDpruneDense2csrByPercentage_bufferSizeExt(hipsparseHandle_t handle, int m, int n, const double* A, int lda, double percentage, const hipsparseMatDescr_t descr, const double* csrVal, const int* csrRowPtr, const int* csrColInd, pruneInfo_t info, size_t* bufferSize); + // CHECK: status_t = hipsparseDpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + status_t = cusparseDpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrByPercentage_bufferSizeExt(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, const float* csrSortedValC, const int* csrSortedRowPtrC, const int* csrSortedColIndC, pruneInfo_t info, size_t* pBufferSizeInBytes); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseSpruneDense2csrByPercentage_bufferSizeExt(hipsparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const hipsparseMatDescr_t descr, const float* csrVal, const int* csrRowPtr, const int* csrColInd, pruneInfo_t info, size_t* bufferSize); + // CHECK: status_t = hipsparseSpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + status_t = cusparseSpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csr(cusparseHandle_t handle, int m, int n, const double* A, int lda, const double* threshold, const cusparseMatDescr_t descrC, double* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseDpruneDense2csr(hipsparseHandle_t handle, int m, int n, const double* A, int lda, const double* threshold, const hipsparseMatDescr_t descr, double* csrVal, const int* csrRowPtr, int* csrColInd, void* buffer); + // CHECK: status_t = hipsparseDpruneDense2csr(handle_t, m, n, &dA, lda, &dthreshold, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + status_t = cusparseDpruneDense2csr(handle_t, m, n, &dA, lda, &dthreshold, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csr(cusparseHandle_t handle, int m, int n, const float* A, int lda, const float* threshold, const cusparseMatDescr_t descrC, float* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, void* pBuffer); + // HIP: HIPSPARSE_EXPORT hipsparseStatus_t hipsparseSpruneDense2csr(hipsparseHandle_t handle, int m, int n, const float* A, int lda, const float* threshold, const hipsparseMatDescr_t descr, float* csrVal, const int* csrRowPtr, int* csrColInd, void* buffer); + // CHECK: status_t = hipsparseSpruneDense2csr(handle_t, m, n, &fA, lda, &fthreshold, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + status_t = cusparseSpruneDense2csr(handle_t, m, n, &fA, lda, &fthreshold, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); #endif #if CUDA_VERSION >= 10010 diff --git a/tests/unit_tests/synthetic/libraries/cusparse2rocsparse.cu b/tests/unit_tests/synthetic/libraries/cusparse2rocsparse.cu index 63d22c64..103e2c73 100644 --- a/tests/unit_tests/synthetic/libraries/cusparse2rocsparse.cu +++ b/tests/unit_tests/synthetic/libraries/cusparse2rocsparse.cu @@ -220,6 +220,7 @@ int main() { float fcsrSortedValC = 0.f; double dcsrSortedValC = 0.f; double percentage = 0.f; + float fpercentage = 0.f; double dthreshold = 0.f; float fthreshold = 0.f; double dtol = 0.f; @@ -720,6 +721,46 @@ int main() { // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_sprune_csr2csr_buffer_size(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, rocsparse_int nnz_A, const rocsparse_mat_descr csr_descr_A, const float* csr_val_A, const rocsparse_int* csr_row_ptr_A, const rocsparse_int* csr_col_ind_A, const float* threshold, const rocsparse_mat_descr csr_descr_C, const float* csr_val_C, const rocsparse_int* csr_row_ptr_C, const rocsparse_int* csr_col_ind_C, size_t* buffer_size); // CHECK: status_t = rocsparse_sprune_csr2csr_buffer_size(handle_t, m, n, nnz, matDescr_A, &fbsrSortedValA, &csrRowPtrA, &csrColIndA, &fthreshold, matDescr_C, &fbsrSortedValC, &csrRowPtrC, &csrColIndC, &bufferSize); status_t = cusparseSpruneCsr2csr_bufferSizeExt(handle_t, m, n, nnz, matDescr_A, &fbsrSortedValA, &csrRowPtrA, &csrColIndA, &fthreshold, matDescr_C, &fbsrSortedValC, &csrRowPtrC, &csrColIndC, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrByPercentage(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, double* csrSortedValC, const int* csrSortedRowPtrC,int* csrSortedColIndC, pruneInfo_t info, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_dprune_dense2csr_by_percentage(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const double* A, rocsparse_int lda, double percentage, const rocsparse_mat_descr descr, double* csr_val, const rocsparse_int* csr_row_ptr, rocsparse_int* csr_col_ind, rocsparse_mat_info info, void* temp_buffer); + // CHECK: status_t = rocsparse_dprune_dense2csr_by_percentage(handle_t, m, n, &dA, lda, percentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + status_t = cusparseDpruneDense2csrByPercentage(handle_t, m, n, &dA, lda, percentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrByPercentage(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, float* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, pruneInfo_t info, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_sprune_dense2csr_by_percentage(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const float* A, rocsparse_int lda, float percentage, const rocsparse_mat_descr descr, float* csr_val, const rocsparse_int* csr_row_ptr, rocsparse_int* csr_col_ind, rocsparse_mat_info info, void* temp_buffer); + // CHECK: status_t = rocsparse_sprune_dense2csr_by_percentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + status_t = cusparseSpruneDense2csrByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrNnzByPercentage(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, int* csrRowPtrC, int* nnzTotalDevHostPtr, pruneInfo_t info, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_dprune_dense2csr_nnz_by_percentage(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const double* A, rocsparse_int lda, double percentage, const rocsparse_mat_descr descr, rocsparse_int* csr_row_ptr, rocsparse_int* nnz_total_dev_host_ptr, rocsparse_mat_info info, void* temp_buffer); + // CHECK: status_t = rocsparse_dprune_dense2csr_nnz_by_percentage(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + status_t = cusparseDpruneDense2csrNnzByPercentage(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrNnzByPercentage(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, int* csrRowPtrC, int* nnzTotalDevHostPtr, pruneInfo_t info, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_sprune_dense2csr_nnz_by_percentage(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const float* A, rocsparse_int lda, float percentage, const rocsparse_mat_descr descr, rocsparse_int* csr_row_ptr, rocsparse_int* nnz_total_dev_host_ptr, rocsparse_mat_info info, void* temp_buffer); + // CHECK: status_t = rocsparse_sprune_dense2csr_nnz_by_percentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + status_t = cusparseSpruneDense2csrNnzByPercentage(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &csrRowPtrC, &nnzTotalDevHostPtr, prune_info, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csrByPercentage_bufferSizeExt(cusparseHandle_t handle, int m, int n, const double* A, int lda, float percentage, const cusparseMatDescr_t descrC, const double* csrSortedValC, const int* csrSortedRowPtrC, const int* csrSortedColIndC, pruneInfo_t info, size_t* pBufferSizeInBytes); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_dprune_dense2csr_by_percentage_buffer_size(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const double* A, rocsparse_int lda, double percentage, const rocsparse_mat_descr descr, const double* csr_val, const rocsparse_int* csr_row_ptr, const rocsparse_int* csr_col_ind, rocsparse_mat_info info, size_t* buffer_size); + // CHECK: status_t = rocsparse_dprune_dense2csr_by_percentage_buffer_size(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + status_t = cusparseDpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &dA, lda, fpercentage, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csrByPercentage_bufferSizeExt(cusparseHandle_t handle, int m, int n, const float* A, int lda, float percentage, const cusparseMatDescr_t descrC, const float* csrSortedValC, const int* csrSortedRowPtrC, const int* csrSortedColIndC, pruneInfo_t info, size_t* pBufferSizeInBytes); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_sprune_dense2csr_by_percentage_buffer_size(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const float* A, rocsparse_int lda, float percentage, const rocsparse_mat_descr descr, const float* csr_val, const rocsparse_int* csr_row_ptr, const rocsparse_int* csr_col_ind, rocsparse_mat_info info, size_t* buffer_size); + // CHECK: status_t = rocsparse_sprune_dense2csr_by_percentage_buffer_size(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + status_t = cusparseSpruneDense2csrByPercentage_bufferSizeExt(handle_t, m, n, &fA, lda, fpercentage, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, prune_info, &bufferSize); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseDpruneDense2csr(cusparseHandle_t handle, int m, int n, const double* A, int lda, const double* threshold, const cusparseMatDescr_t descrC, double* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_dprune_dense2csr(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const double* A, rocsparse_int lda, const double* threshold, const rocsparse_mat_descr descr, double* csr_val, const rocsparse_int* csr_row_ptr, rocsparse_int* csr_col_ind, void* temp_buffer); + // CHECK: status_t = rocsparse_dprune_dense2csr(handle_t, m, n, &dA, lda, &dthreshold, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + status_t = cusparseDpruneDense2csr(handle_t, m, n, &dA, lda, &dthreshold, matDescr_C, &dcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + + // CUDA: CUSPARSE_DEPRECATED cusparseStatus_t CUSPARSEAPI cusparseSpruneDense2csr(cusparseHandle_t handle, int m, int n, const float* A, int lda, const float* threshold, const cusparseMatDescr_t descrC, float* csrSortedValC, const int* csrSortedRowPtrC, int* csrSortedColIndC, void* pBuffer); + // ROC: ROCSPARSE_EXPORT rocsparse_status rocsparse_sprune_dense2csr(rocsparse_handle handle, rocsparse_int m, rocsparse_int n, const float* A, rocsparse_int lda, const float* threshold, const rocsparse_mat_descr descr, float* csr_val, const rocsparse_int* csr_row_ptr, rocsparse_int* csr_col_ind, void* temp_buffer); + // CHECK: status_t = rocsparse_sprune_dense2csr(handle_t, m, n, &fA, lda, &fthreshold, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); + status_t = cusparseSpruneDense2csr(handle_t, m, n, &fA, lda, &fthreshold, matDescr_C, &fcsrSortedValC, &csrRowPtrC, &csrColIndC, pBuffer); #endif #if (CUDA_VERSION >= 10010 && CUDA_VERSION < 11000 && !defined(_WIN32)) || CUDA_VERSION >= 11000