Skip to content

Commit

Permalink
[HIPIFY][ROCm#674][rocSPARSE][feature] rocSPARSE support - Step 65 - …
Browse files Browse the repository at this point in the history
…functions `rocsparse_(s|d|c|z)csrsv_analysis`

+ Updated the synthetic test `cusparse2rocsparse_before_12000.cu` for rocSPARSE APIs with args transformations, which are used in CUDA < 12.0 (FileCheck tool limitation)
+ Updated `hipSPARSE` and `rocSPARSE` synthetic tests, the regenerated hipify-perl, and `SPARSE` `CUDA2HIP` docs
  • Loading branch information
emankov committed Nov 24, 2023
1 parent 1d69114 commit 5544e60
Show file tree
Hide file tree
Showing 7 changed files with 109 additions and 13 deletions.
4 changes: 4 additions & 0 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -1820,6 +1820,7 @@ sub rocSubstitutions {
subst("cusparseCcsrsm2_analysis", "rocsparse_ccsrsm_analysis", "library");
subst("cusparseCcsrsm2_bufferSizeExt", "rocsparse_ccsrsm_buffer_size", "library");
subst("cusparseCcsrsm2_solve", "rocsparse_ccsrsm_solve", "library");
subst("cusparseCcsrsv2_analysis", "rocsparse_ccsrsv_analysis", "library");
subst("cusparseCcsrsv2_solve", "rocsparse_ccsrsv_solve", "library");
subst("cusparseCdense2csc", "rocsparse_cdense2csc", "library");
subst("cusparseCdense2csr", "rocsparse_cdense2csr", "library");
Expand Down Expand Up @@ -1898,6 +1899,7 @@ sub rocSubstitutions {
subst("cusparseDcsrsm2_analysis", "rocsparse_dcsrsm_analysis", "library");
subst("cusparseDcsrsm2_bufferSizeExt", "rocsparse_dcsrsm_buffer_size", "library");
subst("cusparseDcsrsm2_solve", "rocsparse_dcsrsm_solve", "library");
subst("cusparseDcsrsv2_analysis", "rocsparse_dcsrsv_analysis", "library");
subst("cusparseDcsrsv2_solve", "rocsparse_dcsrsv_solve", "library");
subst("cusparseDdense2csc", "rocsparse_ddense2csc", "library");
subst("cusparseDdense2csr", "rocsparse_ddense2csr", "library");
Expand Down Expand Up @@ -1995,6 +1997,7 @@ sub rocSubstitutions {
subst("cusparseScsrsm2_analysis", "rocsparse_scsrsm_analysis", "library");
subst("cusparseScsrsm2_bufferSizeExt", "rocsparse_scsrsm_buffer_size", "library");
subst("cusparseScsrsm2_solve", "rocsparse_scsrsm_solve", "library");
subst("cusparseScsrsv2_analysis", "rocsparse_scsrsv_analysis", "library");
subst("cusparseScsrsv2_solve", "rocsparse_scsrsv_solve", "library");
subst("cusparseSdense2csc", "rocsparse_sdense2csc", "library");
subst("cusparseSdense2csr", "rocsparse_sdense2csr", "library");
Expand Down Expand Up @@ -2103,6 +2106,7 @@ sub rocSubstitutions {
subst("cusparseZcsrsm2_analysis", "rocsparse_zcsrsm_analysis", "library");
subst("cusparseZcsrsm2_bufferSizeExt", "rocsparse_zcsrsm_buffer_size", "library");
subst("cusparseZcsrsm2_solve", "rocsparse_zcsrsm_solve", "library");
subst("cusparseZcsrsv2_analysis", "rocsparse_zcsrsv_analysis", "library");
subst("cusparseZcsrsv2_solve", "rocsparse_zcsrsv_solve", "library");
subst("cusparseZdense2csc", "rocsparse_zdense2csc", "library");
subst("cusparseZdense2csr", "rocsparse_zdense2csr", "library");
Expand Down
8 changes: 4 additions & 4 deletions docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@
|`cusparseCbsrxmv`| |12.2| | |`hipsparseCbsrxmv`|4.5.0| | | | | | | | | | |
|`cusparseCcsrmv`| |10.2| |11.0|`hipsparseCcsrmv`|3.1.0| | | | | | | | | | |
|`cusparseCcsrmv_mp`|8.0|10.2| |11.0| | | | | | | | | | | | |
|`cusparseCcsrsv2_analysis`| |11.3| |12.0|`hipsparseCcsrsv2_analysis`|3.1.0| | | | | | | | | | |
|`cusparseCcsrsv2_analysis`| |11.3| |12.0|`hipsparseCcsrsv2_analysis`|3.1.0| | | | |`rocsparse_ccsrsv_analysis`|2.10.0| | | | |
|`cusparseCcsrsv2_bufferSize`| |11.3| |12.0|`hipsparseCcsrsv2_bufferSize`|3.1.0| | | | | | | | | | |
|`cusparseCcsrsv2_bufferSizeExt`| |11.3| |12.0|`hipsparseCcsrsv2_bufferSizeExt`|3.1.0| | | | | | | | | | |
|`cusparseCcsrsv2_solve`| |11.3| |12.0|`hipsparseCcsrsv2_solve`|3.1.0| | | | |`rocsparse_ccsrsv_solve`|2.10.0| | | | |
Expand All @@ -323,7 +323,7 @@
|`cusparseDbsrxmv`| |12.2| | |`hipsparseDbsrxmv`|4.5.0| | | | | | | | | | |
|`cusparseDcsrmv`| |10.2| |11.0|`hipsparseDcsrmv`|1.9.2| | | | | | | | | | |
|`cusparseDcsrmv_mp`|8.0|10.2| |11.0| | | | | | | | | | | | |
|`cusparseDcsrsv2_analysis`| |11.3| |12.0|`hipsparseDcsrsv2_analysis`|1.9.2| | | | | | | | | | |
|`cusparseDcsrsv2_analysis`| |11.3| |12.0|`hipsparseDcsrsv2_analysis`|1.9.2| | | | |`rocsparse_dcsrsv_analysis`|1.9.0| | | | |
|`cusparseDcsrsv2_bufferSize`| |11.3| |12.0|`hipsparseDcsrsv2_bufferSize`|1.9.2| | | | | | | | | | |
|`cusparseDcsrsv2_bufferSizeExt`| |11.3| |12.0|`hipsparseDcsrsv2_bufferSizeExt`|1.9.2| | | | | | | | | | |
|`cusparseDcsrsv2_solve`| |11.3| |12.0|`hipsparseDcsrsv2_solve`|1.9.2| | | | |`rocsparse_dcsrsv_solve`|1.9.0| | | | |
Expand All @@ -342,7 +342,7 @@
|`cusparseSbsrxmv`| |12.2| | |`hipsparseSbsrxmv`|4.5.0| | | | | | | | | | |
|`cusparseScsrmv`| |10.2| |11.0|`hipsparseScsrmv`|1.9.2| | | | | | | | | | |
|`cusparseScsrmv_mp`|8.0|10.2| |11.0| | | | | | | | | | | | |
|`cusparseScsrsv2_analysis`| |11.3| |12.0|`hipsparseScsrsv2_analysis`|1.9.2| | | | | | | | | | |
|`cusparseScsrsv2_analysis`| |11.3| |12.0|`hipsparseScsrsv2_analysis`|1.9.2| | | | |`rocsparse_scsrsv_analysis`|1.9.0| | | | |
|`cusparseScsrsv2_bufferSize`| |11.3| |12.0|`hipsparseScsrsv2_bufferSize`|1.9.2| | | | | | | | | | |
|`cusparseScsrsv2_bufferSizeExt`| |11.3| |12.0|`hipsparseScsrsv2_bufferSizeExt`|1.9.2| | | | | | | | | | |
|`cusparseScsrsv2_solve`| |11.3| |12.0|`hipsparseScsrsv2_solve`|1.9.2| | | | |`rocsparse_scsrsv_solve`|1.9.0| | | | |
Expand All @@ -363,7 +363,7 @@
|`cusparseZbsrxmv`| |12.2| | |`hipsparseZbsrxmv`|4.5.0| | | | | | | | | | |
|`cusparseZcsrmv`| |10.2| |11.0|`hipsparseZcsrmv`|3.1.0| | | | | | | | | | |
|`cusparseZcsrmv_mp`|8.0|10.2| |11.0| | | | | | | | | | | | |
|`cusparseZcsrsv2_analysis`| |11.3| |12.0|`hipsparseZcsrsv2_analysis`|3.1.0| | | | | | | | | | |
|`cusparseZcsrsv2_analysis`| |11.3| |12.0|`hipsparseZcsrsv2_analysis`|3.1.0| | | | |`rocsparse_zcsrsv_analysis`|2.10.0| | | | |
|`cusparseZcsrsv2_bufferSize`| |11.3| |12.0|`hipsparseZcsrsv2_bufferSize`|3.1.0| | | | | | | | | | |
|`cusparseZcsrsv2_bufferSizeExt`| |11.3| |12.0|`hipsparseZcsrsv2_bufferSizeExt`|3.1.0| | | | | | | | | | |
|`cusparseZcsrsv2_solve`| |11.3| |12.0|`hipsparseZcsrsv2_solve`|3.1.0| | | | |`rocsparse_zcsrsv_solve`|2.10.0| | | | |
Expand Down
8 changes: 4 additions & 4 deletions docs/tables/CUSPARSE_API_supported_by_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@
|`cusparseCbsrxmv`| |12.2| | | | | | | | |
|`cusparseCcsrmv`| |10.2| |11.0| | | | | | |
|`cusparseCcsrmv_mp`|8.0|10.2| |11.0| | | | | | |
|`cusparseCcsrsv2_analysis`| |11.3| |12.0| | | | | | |
|`cusparseCcsrsv2_analysis`| |11.3| |12.0|`rocsparse_ccsrsv_analysis`|2.10.0| | | | |
|`cusparseCcsrsv2_bufferSize`| |11.3| |12.0| | | | | | |
|`cusparseCcsrsv2_bufferSizeExt`| |11.3| |12.0| | | | | | |
|`cusparseCcsrsv2_solve`| |11.3| |12.0|`rocsparse_ccsrsv_solve`|2.10.0| | | | |
Expand All @@ -323,7 +323,7 @@
|`cusparseDbsrxmv`| |12.2| | | | | | | | |
|`cusparseDcsrmv`| |10.2| |11.0| | | | | | |
|`cusparseDcsrmv_mp`|8.0|10.2| |11.0| | | | | | |
|`cusparseDcsrsv2_analysis`| |11.3| |12.0| | | | | | |
|`cusparseDcsrsv2_analysis`| |11.3| |12.0|`rocsparse_dcsrsv_analysis`|1.9.0| | | | |
|`cusparseDcsrsv2_bufferSize`| |11.3| |12.0| | | | | | |
|`cusparseDcsrsv2_bufferSizeExt`| |11.3| |12.0| | | | | | |
|`cusparseDcsrsv2_solve`| |11.3| |12.0|`rocsparse_dcsrsv_solve`|1.9.0| | | | |
Expand All @@ -342,7 +342,7 @@
|`cusparseSbsrxmv`| |12.2| | | | | | | | |
|`cusparseScsrmv`| |10.2| |11.0| | | | | | |
|`cusparseScsrmv_mp`|8.0|10.2| |11.0| | | | | | |
|`cusparseScsrsv2_analysis`| |11.3| |12.0| | | | | | |
|`cusparseScsrsv2_analysis`| |11.3| |12.0|`rocsparse_scsrsv_analysis`|1.9.0| | | | |
|`cusparseScsrsv2_bufferSize`| |11.3| |12.0| | | | | | |
|`cusparseScsrsv2_bufferSizeExt`| |11.3| |12.0| | | | | | |
|`cusparseScsrsv2_solve`| |11.3| |12.0|`rocsparse_scsrsv_solve`|1.9.0| | | | |
Expand All @@ -363,7 +363,7 @@
|`cusparseZbsrxmv`| |12.2| | | | | | | | |
|`cusparseZcsrmv`| |10.2| |11.0| | | | | | |
|`cusparseZcsrmv_mp`|8.0|10.2| |11.0| | | | | | |
|`cusparseZcsrsv2_analysis`| |11.3| |12.0| | | | | | |
|`cusparseZcsrsv2_analysis`| |11.3| |12.0|`rocsparse_zcsrsv_analysis`|2.10.0| | | | |
|`cusparseZcsrsv2_bufferSize`| |11.3| |12.0| | | | | | |
|`cusparseZcsrsv2_bufferSizeExt`| |11.3| |12.0| | | | | | |
|`cusparseZcsrsv2_solve`| |11.3| |12.0|`rocsparse_zcsrsv_solve`|2.10.0| | | | |
Expand Down
12 changes: 8 additions & 4 deletions src/CUDA2HIP_SPARSE_API_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -191,10 +191,10 @@ const std::map<llvm::StringRef, hipCounter> CUDA_SPARSE_FUNCTION_MAP {
{"cusparseZcsrsv2_bufferSize", {"hipsparseZcsrsv2_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseZcsrsv2_bufferSizeExt", {"hipsparseZcsrsv2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},

{"cusparseScsrsv2_analysis", {"hipsparseScsrsv2_analysis", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseDcsrsv2_analysis", {"hipsparseDcsrsv2_analysis", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseCcsrsv2_analysis", {"hipsparseCcsrsv2_analysis", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseZcsrsv2_analysis", {"hipsparseZcsrsv2_analysis", "", CONV_LIB_FUNC, API_SPARSE, 9, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseScsrsv2_analysis", {"hipsparseScsrsv2_analysis", "rocsparse_scsrsv_analysis", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseDcsrsv2_analysis", {"hipsparseDcsrsv2_analysis", "rocsparse_dcsrsv_analysis", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseCcsrsv2_analysis", {"hipsparseCcsrsv2_analysis", "rocsparse_ccsrsv_analysis", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseZcsrsv2_analysis", {"hipsparseZcsrsv2_analysis", "rocsparse_zcsrsv_analysis", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},

{"cusparseScsrsv2_solve", {"hipsparseScsrsv2_solve", "rocsparse_scsrsv_solve", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseDcsrsv2_solve", {"hipsparseDcsrsv2_solve", "rocsparse_dcsrsv_solve", CONV_LIB_FUNC, API_SPARSE, 9, CUDA_DEPRECATED | CUDA_REMOVED}},
Expand Down Expand Up @@ -2327,6 +2327,10 @@ const std::map<llvm::StringRef, hipAPIversions> HIP_SPARSE_FUNCTION_VER_MAP {
{"rocsparse_ccsrsv_solve", {HIP_2100, HIP_0, HIP_0 }},
{"rocsparse_dcsrsv_solve", {HIP_1090, HIP_0, HIP_0 }},
{"rocsparse_scsrsv_solve", {HIP_1090, HIP_0, HIP_0 }},
{"rocsparse_zcsrsv_analysis", {HIP_2100, HIP_0, HIP_0 }},
{"rocsparse_ccsrsv_analysis", {HIP_2100, HIP_0, HIP_0 }},
{"rocsparse_dcsrsv_analysis", {HIP_1090, HIP_0, HIP_0 }},
{"rocsparse_scsrsv_analysis", {HIP_1090, HIP_0, HIP_0 }},
};

const std::map<llvm::StringRef, cudaAPIChangedVersions> CUDA_SPARSE_FUNCTION_CHANGED_VER_MAP {
Expand Down
50 changes: 49 additions & 1 deletion src/HipifyAction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,10 @@ const std::string sCusparseZcsrsv2_solve = "cusparseZcsrsv2_solve";
const std::string sCusparseCcsrsv2_solve = "cusparseCcsrsv2_solve";
const std::string sCusparseDcsrsv2_solve = "cusparseDcsrsv2_solve";
const std::string sCusparseScsrsv2_solve = "cusparseScsrsv2_solve";
const std::string sCusparseZcsrsv2_analysis = "cusparseZcsrsv2_analysis";
const std::string sCusparseCcsrsv2_analysis = "cusparseCcsrsv2_analysis";
const std::string sCusparseDcsrsv2_analysis = "cusparseDcsrsv2_analysis";
const std::string sCusparseScsrsv2_analysis = "cusparseScsrsv2_analysis";

// CUDA_OVERLOADED
const std::string sCudaEventCreate = "cudaEventCreate";
Expand Down Expand Up @@ -1167,6 +1171,46 @@ std::map<std::string, ArgCastStruct> FuncArgCasts {
false
}
},
{sCusparseZcsrsv2_analysis,
{
{
{9, {e_replace_argument_with_const, cw_None, "rocsparse_analysis_policy_force"}},
{10, {e_add_const_argument, cw_None, "rocsparse_solve_policy_auto"}}
},
true,
false
}
},
{sCusparseCcsrsv2_analysis,
{
{
{9, {e_replace_argument_with_const, cw_None, "rocsparse_analysis_policy_force"}},
{10, {e_add_const_argument, cw_None, "rocsparse_solve_policy_auto"}}
},
true,
false
}
},
{sCusparseDcsrsv2_analysis,
{
{
{9, {e_replace_argument_with_const, cw_None, "rocsparse_analysis_policy_force"}},
{10, {e_add_const_argument, cw_None, "rocsparse_solve_policy_auto"}}
},
true,
false
}
},
{sCusparseScsrsv2_analysis,
{
{
{9, {e_replace_argument_with_const, cw_None, "rocsparse_analysis_policy_force"}},
{10, {e_add_const_argument, cw_None, "rocsparse_solve_policy_auto"}}
},
true,
false
}
},
};

void HipifyAction::RewriteString(StringRef s, clang::SourceLocation start) {
Expand Down Expand Up @@ -1954,7 +1998,11 @@ std::unique_ptr<clang::ASTConsumer> HipifyAction::CreateASTConsumer(clang::Compi
sCusparseZcsrsv2_solve,
sCusparseCcsrsv2_solve,
sCusparseDcsrsv2_solve,
sCusparseScsrsv2_solve
sCusparseScsrsv2_solve,
sCusparseZcsrsv2_analysis,
sCusparseCcsrsv2_analysis,
sCusparseDcsrsv2_analysis,
sCusparseScsrsv2_analysis
)
)
)
Expand Down
20 changes: 20 additions & 0 deletions tests/unit_tests/synthetic/libraries/cusparse2hipsparse.cu
Original file line number Diff line number Diff line change
Expand Up @@ -1796,6 +1796,26 @@ int main() {
// HIP: DEPRECATED_CUDA_11000("The routine will be removed in CUDA 12") HIPSPARSE_EXPORT hipsparseStatus_t hipsparseScsrsv2_solve(hipsparseHandle_t handle, hipsparseOperation_t transA, int m, int nnz, const float* alpha, const hipsparseMatDescr_t descrA, const float* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, const float* f, float* x, hipsparseSolvePolicy_t policy, void* pBuffer);
// CHECK: status_t = hipsparseScsrsv2_solve(handle_t, opA, m, innz, &fAlpha, matDescr_A, &csrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, &fF, &fX, solvePolicy_t, pBuffer);
status_t = cusparseScsrsv2_solve(handle_t, opA, m, innz, &fAlpha, matDescr_A, &csrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, &fF, &fX, solvePolicy_t, pBuffer);

// CUDA: CUSPARSE_DEPRECATED(cusparseSpSV) cusparseStatus_t CUSPARSEAPI cusparseZcsrsv2_analysis(cusparseHandle_t handle, cusparseOperation_t transA, int m, int nnz, const cusparseMatDescr_t descrA, const cuDoubleComplex* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, cusparseSolvePolicy_t policy, void* pBuffer);
// HIP: DEPRECATED_CUDA_11000("The routine will be removed in CUDA 12") HIPSPARSE_EXPORT hipsparseStatus_t hipsparseZcsrsv2_analysis(hipsparseHandle_t handle, hipsparseOperation_t transA, int m, int nnz, const hipsparseMatDescr_t descrA, const hipDoubleComplex* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, hipsparseSolvePolicy_t policy, void* pBuffer);
// CHECK: status_t = hipsparseZcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &dComplexcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);
status_t = cusparseZcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &dComplexcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);

// CUDA: CUSPARSE_DEPRECATED(cusparseSpSV) cusparseStatus_t CUSPARSEAPI cusparseCcsrsv2_analysis(cusparseHandle_t handle, cusparseOperation_t transA, int m, int nnz, const cusparseMatDescr_t descrA, const cuComplex* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, cusparseSolvePolicy_t policy, void* pBuffer);
// HIP: DEPRECATED_CUDA_11000("The routine will be removed in CUDA 12") HIPSPARSE_EXPORT hipsparseStatus_t hipsparseCcsrsv2_analysis(hipsparseHandle_t handle, hipsparseOperation_t transA, int m, int nnz, const hipsparseMatDescr_t descrA, const hipComplex* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, hipsparseSolvePolicy_t policy, void* pBuffer);
// CHECK: status_t = hipsparseCcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &complexcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);
status_t = cusparseCcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &complexcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);

// CUDA: CUSPARSE_DEPRECATED(cusparseSpSV) cusparseStatus_t CUSPARSEAPI cusparseDcsrsv2_analysis(cusparseHandle_t handle, cusparseOperation_t transA, int m, int nnz, const cusparseMatDescr_t descrA, const double* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, cusparseSolvePolicy_t policy, void* pBuffer);
// HIP: DEPRECATED_CUDA_11000("The routine will be removed in CUDA 12") HIPSPARSE_EXPORT hipsparseStatus_t hipsparseDcsrsv2_analysis(hipsparseHandle_t handle, hipsparseOperation_t transA, int m, int nnz, const hipsparseMatDescr_t descrA, const double* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, hipsparseSolvePolicy_t policy, void* pBuffer);
// CHECK: status_t = hipsparseDcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &dcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);
status_t = cusparseDcsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &dcsrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);

// CUDA: CUSPARSE_DEPRECATED(cusparseSpSV) cusparseStatus_t CUSPARSEAPI cusparseScsrsv2_analysis(cusparseHandle_t handle, cusparseOperation_t transA, int m, int nnz, const cusparseMatDescr_t descrA, const float* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, cusparseSolvePolicy_t policy, void* pBuffer);
// HIP: DEPRECATED_CUDA_11000("The routine will be removed in CUDA 12") HIPSPARSE_EXPORT hipsparseStatus_t hipsparseScsrsv2_analysis(hipsparseHandle_t handle, hipsparseOperation_t transA, int m, int nnz, const hipsparseMatDescr_t descrA, const float* csrSortedValA, const int* csrSortedRowPtrA, const int* csrSortedColIndA, csrsv2Info_t info, hipsparseSolvePolicy_t policy, void* pBuffer);
// CHECK: status_t = hipsparseScsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &csrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);
status_t = cusparseScsrsv2_analysis(handle_t, opA, m, innz, matDescr_A, &csrSortedValA, &csrRowPtrA, &csrColIndA, csrsv2_info, solvePolicy_t, pBuffer);
#endif

// CUDA: cusparseStatus_t CUSPARSEAPI cusparseSpVecGet(cusparseSpVecDescr_t spVecDescr, int64_t* size, int64_t* nnz, void** indices, void** values, cusparseIndexType_t* idxType, cusparseIndexBase_t* idxBase, cudaDataType* valueType);
Expand Down
Loading

0 comments on commit 5544e60

Please sign in to comment.