Skip to content

Commit

Permalink
Merge pull request #901 from emankov/HIPIFY
Browse files Browse the repository at this point in the history
[HIPIFY][#674][rocSPARSE][feature] rocSPARSE support - Step 9 - functions
  • Loading branch information
emankov committed Jun 2, 2023
2 parents 7fcf44e + fce51d7 commit 59b898e
Show file tree
Hide file tree
Showing 6 changed files with 186 additions and 40 deletions.
9 changes: 9 additions & 0 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -1479,13 +1479,18 @@ sub rocSubstitutions {
subst("cusparseCopyMatDescr", "rocsparse_copy_mat_descr", "library");
subst("cusparseCreate", "rocsparse_create_handle", "library");
subst("cusparseCreateColorInfo", "rocsparse_create_color_info", "library");
subst("cusparseCreateCoo", "rocsparse_create_coo_descr", "library");
subst("cusparseCreateCooAoS", "rocsparse_create_coo_aos_descr", "library");
subst("cusparseCreateCsc", "rocsparse_create_csc_descr", "library");
subst("cusparseCreateCsr", "rocsparse_create_csr_descr", "library");
subst("cusparseCreateHybMat", "rocsparse_create_hyb_mat", "library");
subst("cusparseCreateMatDescr", "rocsparse_create_mat_descr", "library");
subst("cusparseCreateSpVec", "rocsparse_create_spvec_descr", "library");
subst("cusparseDestroy", "rocsparse_destroy_handle", "library");
subst("cusparseDestroyColorInfo", "rocsparse_destroy_color_info", "library");
subst("cusparseDestroyHybMat", "rocsparse_destroy_hyb_mat", "library");
subst("cusparseDestroyMatDescr", "rocsparse_destroy_mat_descr", "library");
subst("cusparseDestroySpVec", "rocsparse_destroy_spvec_descr", "library");
subst("cusparseGetMatDiagType", "rocsparse_get_mat_diag_type", "library");
subst("cusparseGetMatFillMode", "rocsparse_get_mat_fill_mode", "library");
subst("cusparseGetMatIndexBase", "rocsparse_get_mat_index_base", "library");
Expand All @@ -1499,6 +1504,10 @@ sub rocSubstitutions {
subst("cusparseSetMatType", "rocsparse_set_mat_type", "library");
subst("cusparseSetPointerMode", "rocsparse_set_pointer_mode", "library");
subst("cusparseSetStream", "rocsparse_set_stream", "library");
subst("cusparseSpVecGet", "rocsparse_spvec_get", "library");
subst("cusparseSpVecGetIndexBase", "rocsparse_spvec_get_index_base", "library");
subst("cusparseSpVecGetValues", "rocsparse_spvec_get_values", "library");
subst("cusparseSpVecSetValues", "rocsparse_spvec_set_values", "library");
subst("cublas.h", "rocblas.h", "include_cuda_main_header");
subst("cublas_v2.h", "rocblas.h", "include_cuda_main_header_v2");
subst("cuComplex", "rocblas_float_complex", "type");
Expand Down
18 changes: 9 additions & 9 deletions docs/tables/CUSPARSE_API_supported_by_HIP_and_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -826,10 +826,10 @@
|`cusparseCreateConstDnVec`|12.0| | | | | | | | | | | | |
|`cusparseCreateConstSlicedEll`|12.1| | | | | | | | | | | | |
|`cusparseCreateConstSpVec`|12.0| | | | | | | | | | | | |
|`cusparseCreateCoo`|10.1| | |`hipsparseCreateCoo`|4.1.0| | | | | | | | |
|`cusparseCreateCooAoS`|10.2|11.2|12.0|`hipsparseCreateCooAoS`|4.1.0| | | | | | | | |
|`cusparseCreateCsc`|11.1| | |`hipsparseCreateCsc`|4.2.0| | | | | | | | |
|`cusparseCreateCsr`|10.2| | |`hipsparseCreateCsr`|4.1.0| | | | | | | | |
|`cusparseCreateCoo`|10.1| | |`hipsparseCreateCoo`|4.1.0| | | |`rocsparse_create_coo_descr`|4.1.0| | | |
|`cusparseCreateCooAoS`|10.2|11.2|12.0|`hipsparseCreateCooAoS`|4.1.0| | | |`rocsparse_create_coo_aos_descr`|4.1.0| | | |
|`cusparseCreateCsc`|11.1| | |`hipsparseCreateCsc`|4.2.0| | | |`rocsparse_create_csc_descr`|4.1.0| | | |
|`cusparseCreateCsr`|10.2| | |`hipsparseCreateCsr`|4.1.0| | | |`rocsparse_create_csr_descr`|4.1.0| | | |
|`cusparseCreateDnMat`|10.1| | |`hipsparseCreateDnMat`|4.2.0| | | | | | | | |
|`cusparseCreateDnVec`|10.2| | |`hipsparseCreateDnVec`|4.1.0| | | | | | | | |
|`cusparseCreateSlicedEll`|12.1| | | | | | | | | | | | |
Expand All @@ -845,7 +845,7 @@
|`cusparseDestroyDnMat`|10.1| | |`hipsparseDestroyDnMat`|4.2.0| | | | | | | | |
|`cusparseDestroyDnVec`|10.2| | |`hipsparseDestroyDnVec`|4.1.0| | | | | | | | |
|`cusparseDestroySpMat`|10.1| | |`hipsparseDestroySpMat`|4.1.0| | | | | | | | |
|`cusparseDestroySpVec`|10.2| | |`hipsparseDestroySpVec`|4.1.0| | | | | | | | |
|`cusparseDestroySpVec`|10.2| | |`hipsparseDestroySpVec`|4.1.0| | | |`rocsparse_destroy_spvec_descr`|4.1.0| | | |
|`cusparseDnMatGet`|10.1| | |`hipsparseDnMatGet`|4.2.0| | | | | | | | |
|`cusparseDnMatGetStridedBatch`|10.1| | |`hipsparseDnMatGetStridedBatch`|5.2.0| | | | | | | | |
|`cusparseDnMatGetValues`|10.2| | |`hipsparseDnMatGetValues`|4.2.0| | | | | | | | |
Expand Down Expand Up @@ -903,10 +903,10 @@
|`cusparseSpSV_updateMatrix`|12.1| | | | | | | | | | | | |
|`cusparseSpVV`|10.2| | |`hipsparseSpVV`|4.1.0| | | | | | | | |
|`cusparseSpVV_bufferSize`|10.2| | |`hipsparseSpVV_bufferSize`|4.1.0| | | | | | | | |
|`cusparseSpVecGet`|10.2| | |`hipsparseSpVecGet`|4.1.0| | | | | | | | |
|`cusparseSpVecGetIndexBase`|10.2| | |`hipsparseSpVecGetIndexBase`|4.1.0| | | | | | | | |
|`cusparseSpVecGetValues`|10.2| | |`hipsparseSpVecGetValues`|4.1.0| | | | | | | | |
|`cusparseSpVecSetValues`|10.2| | |`hipsparseSpVecSetValues`|4.1.0| | | | | | | | |
|`cusparseSpVecGet`|10.2| | |`hipsparseSpVecGet`|4.1.0| | | |`rocsparse_spvec_get`|4.1.0| | | |
|`cusparseSpVecGetIndexBase`|10.2| | |`hipsparseSpVecGetIndexBase`|4.1.0| | | |`rocsparse_spvec_get_index_base`|4.1.0| | | |
|`cusparseSpVecGetValues`|10.2| | |`hipsparseSpVecGetValues`|4.1.0| | | |`rocsparse_spvec_get_values`|4.1.0| | | |
|`cusparseSpVecSetValues`|10.2| | |`hipsparseSpVecSetValues`|4.1.0| | | |`rocsparse_spvec_set_values`|4.1.0| | | |
|`cusparseSparseToDense`|11.1| | |`hipsparseSparseToDense`|4.2.0| | | | | | | | |
|`cusparseSparseToDense_bufferSize`|11.1| | |`hipsparseSparseToDense_bufferSize`|4.2.0| | | | | | | | |

Expand Down
18 changes: 9 additions & 9 deletions docs/tables/CUSPARSE_API_supported_by_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -826,10 +826,10 @@
|`cusparseCreateConstDnVec`|12.0| | | | | | | |
|`cusparseCreateConstSlicedEll`|12.1| | | | | | | |
|`cusparseCreateConstSpVec`|12.0| | | | | | | |
|`cusparseCreateCoo`|10.1| | | | | | | |
|`cusparseCreateCooAoS`|10.2|11.2|12.0| | | | | |
|`cusparseCreateCsc`|11.1| | | | | | | |
|`cusparseCreateCsr`|10.2| | | | | | | |
|`cusparseCreateCoo`|10.1| | |`rocsparse_create_coo_descr`|4.1.0| | | |
|`cusparseCreateCooAoS`|10.2|11.2|12.0|`rocsparse_create_coo_aos_descr`|4.1.0| | | |
|`cusparseCreateCsc`|11.1| | |`rocsparse_create_csc_descr`|4.1.0| | | |
|`cusparseCreateCsr`|10.2| | |`rocsparse_create_csr_descr`|4.1.0| | | |
|`cusparseCreateDnMat`|10.1| | | | | | | |
|`cusparseCreateDnVec`|10.2| | | | | | | |
|`cusparseCreateSlicedEll`|12.1| | | | | | | |
Expand All @@ -845,7 +845,7 @@
|`cusparseDestroyDnMat`|10.1| | | | | | | |
|`cusparseDestroyDnVec`|10.2| | | | | | | |
|`cusparseDestroySpMat`|10.1| | | | | | | |
|`cusparseDestroySpVec`|10.2| | | | | | | |
|`cusparseDestroySpVec`|10.2| | |`rocsparse_destroy_spvec_descr`|4.1.0| | | |
|`cusparseDnMatGet`|10.1| | | | | | | |
|`cusparseDnMatGetStridedBatch`|10.1| | | | | | | |
|`cusparseDnMatGetValues`|10.2| | | | | | | |
Expand Down Expand Up @@ -903,10 +903,10 @@
|`cusparseSpSV_updateMatrix`|12.1| | | | | | | |
|`cusparseSpVV`|10.2| | | | | | | |
|`cusparseSpVV_bufferSize`|10.2| | | | | | | |
|`cusparseSpVecGet`|10.2| | | | | | | |
|`cusparseSpVecGetIndexBase`|10.2| | | | | | | |
|`cusparseSpVecGetValues`|10.2| | | | | | | |
|`cusparseSpVecSetValues`|10.2| | | | | | | |
|`cusparseSpVecGet`|10.2| | |`rocsparse_spvec_get`|4.1.0| | | |
|`cusparseSpVecGetIndexBase`|10.2| | |`rocsparse_spvec_get_index_base`|4.1.0| | | |
|`cusparseSpVecGetValues`|10.2| | |`rocsparse_spvec_get_values`|4.1.0| | | |
|`cusparseSpVecSetValues`|10.2| | |`rocsparse_spvec_set_values`|4.1.0| | | |
|`cusparseSparseToDense`|11.1| | | | | | | |
|`cusparseSparseToDense_bufferSize`|11.1| | | | | | | |

Expand Down
28 changes: 19 additions & 9 deletions src/CUDA2HIP_SPARSE_API_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -716,12 +716,12 @@ const std::map<llvm::StringRef, hipCounter> CUDA_SPARSE_FUNCTION_MAP {
// 15. cuSPARSE Generic API Reference
// Generic Sparse API helper functions
// Sparse Matrix descriptor
{"cusparseCreateCoo", {"hipsparseCreateCoo", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseCreateCoo", {"hipsparseCreateCoo", "rocsparse_create_coo_descr", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseCreateConstCoo", {"hipsparseCreateConstCoo", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseCreateCooAoS", {"hipsparseCreateCooAoS", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED | CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseCreateCsr", {"hipsparseCreateCsr", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseCreateCooAoS", {"hipsparseCreateCooAoS", "rocsparse_create_coo_aos_descr", CONV_LIB_FUNC, API_SPARSE, 15, CUDA_DEPRECATED | CUDA_REMOVED}},
{"cusparseCreateCsr", {"hipsparseCreateCsr", "rocsparse_create_csr_descr", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseCreateConstCsr", {"hipsparseCreateConstCsr", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseCreateCsc", {"hipsparseCreateCsc", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseCreateCsc", {"hipsparseCreateCsc", "rocsparse_create_csc_descr", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseCreateConstCsc", {"hipsparseCreateConstCsc", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseDestroySpMat", {"hipsparseDestroySpMat", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseCooGet", {"hipsparseCooGet", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
Expand Down Expand Up @@ -753,20 +753,21 @@ const std::map<llvm::StringRef, hipCounter> CUDA_SPARSE_FUNCTION_MAP {
{"cusparseCreateBlockedEll", {"hipsparseCreateBlockedEll", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseCreateConstBlockedEll", {"hipsparseCreateConstBlockedEll", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseBsrSetStridedBatch", {"hipsparseBsrSetStridedBatch", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
// NOTE: rocsparse_create_bsr_descr has appeared earlier than cusparseCreateBsr and has a different signature
{"cusparseCreateBsr", {"hipsparseCreateBsr", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseCreateConstBsr", {"hipsparseCreateConstBsr", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseCreateSlicedEll", {"hipsparseCreateSlicedEll", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseCreateConstSlicedEll", {"hipsparseCreateConstSlicedEll", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
// Sparse Vector descriptor
{"cusparseCreateSpVec", {"hipsparseCreateSpVec", "rocsparse_create_spvec_descr", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseCreateConstSpVec", {"hipsparseCreateConstSpVec", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseDestroySpVec", {"hipsparseDestroySpVec", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseSpVecGet", {"hipsparseSpVecGet", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseDestroySpVec", {"hipsparseDestroySpVec", "rocsparse_destroy_spvec_descr", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseSpVecGet", {"hipsparseSpVecGet", "rocsparse_spvec_get", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseConstSpVecGet", {"hipsparseConstSpVecGet", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseSpVecGetIndexBase", {"hipsparseSpVecGetIndexBase", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseSpVecGetValues", {"hipsparseSpVecGetValues", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseSpVecGetIndexBase", {"hipsparseSpVecGetIndexBase", "rocsparse_spvec_get_index_base", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseSpVecGetValues", {"hipsparseSpVecGetValues", "rocsparse_spvec_get_values", CONV_LIB_FUNC, API_SPARSE, 15}},
{"cusparseConstSpVecGetValues", {"hipsparseConstSpVecGetValues", "", CONV_LIB_FUNC, API_SPARSE, 15, UNSUPPORTED}},
{"cusparseSpVecSetValues", {"hipsparseSpVecSetValues", "", CONV_LIB_FUNC, API_SPARSE, 15, ROC_UNSUPPORTED}},
{"cusparseSpVecSetValues", {"hipsparseSpVecSetValues", "rocsparse_spvec_set_values", CONV_LIB_FUNC, API_SPARSE, 15}},

// Generic Dense API helper functions
// Dense Matrix descriptor
Expand Down Expand Up @@ -1822,6 +1823,15 @@ const std::map<llvm::StringRef, hipAPIversions> HIP_SPARSE_FUNCTION_VER_MAP {
{"rocsparse_create_color_info", {HIP_4050, HIP_0, HIP_0 }},
{"rocsparse_destroy_color_info", {HIP_4050, HIP_0, HIP_0 }},
{"rocsparse_create_spvec_descr", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_destroy_spvec_descr", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_spvec_get", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_spvec_get_index_base", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_spvec_get_values", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_spvec_set_values", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_create_coo_descr", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_create_coo_aos_descr", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_create_csr_descr", {HIP_4010, HIP_0, HIP_0 }},
{"rocsparse_create_csc_descr", {HIP_4010, HIP_0, HIP_0 }},
};

const std::map<unsigned int, llvm::StringRef> CUDA_SPARSE_API_SECTION_MAP {
Expand Down
Loading

0 comments on commit 59b898e

Please sign in to comment.