diff --git a/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md b/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md index 4dadea2c93..a90873d6c7 100644 --- a/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md +++ b/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md @@ -82,6 +82,27 @@ | typedef |`cusparseColorInfo_t` | | | struct |`pruneInfo` | | | typedef |`pruneInfo_t` | | +| enum |***`cusparseCsr2CscAlg_t`*** | | +| 1 |*`CUSPARSE_CSR2CSC_ALG1`* | | +| 2 |*`CUSPARSE_CSR2CSC_ALG2`* | | +| enum |***`cusparseFormat_t`*** | | +| 1 |*`CUSPARSE_FORMAT_CSR`* | | +| 2 |*`CUSPARSE_FORMAT_CSC`* | | +| 3 |*`CUSPARSE_FORMAT_COO`* | | +| enum |***`cusparseOrder_t`*** | | +| 1 |*`CUSPARSE_ORDER_COL`* | | +| 2 |*`CUSPARSE_ORDER_ROW`* | | +| enum |***`cusparseSpMMAlg_t`*** | | +| 1 |*`CUSPARSE_COOMM_ALG1`* | | +| 2 |*`CUSPARSE_COOMM_ALG2`* | | +| 3 |*`CUSPARSE_COOMM_ALG3`* | | +| enum |***`cusparseIndexType_t`*** | | +| 1 |*`CUSPARSE_INDEX_16U`* | | +| 2 |*`CUSPARSE_INDEX_32I`* | | +| struct |`cusparseSpMatDescr` | | +| typedef |`cusparseSpMatDescr_t` | | +| struct |`cusparseDnMatDescr` | | +| typedef |`cusparseDnMatDescr_t` | | ## **2. cuSPARSE Helper Function Reference** @@ -530,6 +551,8 @@ |`cusparseCcsr2csc` | | |`cusparseZcsr2csc` | | |`cusparseCsr2cscEx` | | +|`cusparseCsr2cscEx2` | | +|`cusparseCsr2cscEx2_bufferSize` | | |`cusparseScsr2dense` | | |`cusparseDcsr2dense` | | |`cusparseCcsr2dense` | | @@ -616,3 +639,34 @@ |`cusparseDnnz_compress` | | |`cusparseCnnz_compress` | | |`cusparseZnnz_compress` | | + +## **10. cuSPARSE Generic API Reference** + +## ***10.1. Generic Sparse API helper functions*** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cusparseCreateCoo` | | +|`cusparseDestroySpMat` | | +|`cusparseCooGet` | | +|`cusparseSpMatGetFormat` | | +|`cusparseSpMatGetIndexBase` | | +|`cusparseSpMatSetNumBatches` | | +|`cusparseSpMatGetNumBatches` | | + +## ***10.2. Generic Dense API helper functions*** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cusparseCreateDnMat` | | +|`cusparseDestroyDnMat` | | +|`cusparseDnMatGet` | | +|`cusparseDnMatSetStridedBatch` | | +|`cusparseDnMatGetStridedBatch` | | + +## ***10.3. Generic SpMM API functions*** + +| **CUDA** | **HIP** | +|-----------------------------------------------------------|-------------------------------------------------| +|`cusparseSpMM` | | +|`cusparseSpMM_bufferSize` | | diff --git a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp index 210ab1ee06..f5a969b9be 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp @@ -516,6 +516,8 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseZcsr2csc", {"hipsparseZcsr2csc", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseCsr2cscEx", {"hipsparseCsr2cscEx", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCsr2cscEx2", {"hipsparseCsr2cscEx2", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCsr2cscEx2_bufferSize", {"hipsparseCsr2cscEx2_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseScsr2dense", {"hipsparseScsr2dense", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDcsr2dense", {"hipsparseDcsr2dense", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, @@ -616,9 +618,9 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseSpruneDense2csrNnzByPercentage", {"hipsparseSpruneDense2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDpruneDense2csrNnzByPercentage", {"hipsparseDpruneDense2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseHpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseHpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseSpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseSpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseDpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseHpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseHpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseSpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDpruneCsr2csrByPercentage_bufferSizeExt", {"hipsparseDpruneCsr2csrByPercentage_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseHpruneCsr2csrNnzByPercentage", {"hipsparseHpruneCsr2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseSpruneCsr2csrNnzByPercentage", {"hipsparseSpruneCsr2csrNnzByPercentage", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, @@ -628,4 +630,25 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseDnnz_compress", {"hipsparseDnnz_compress", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseCnnz_compress", {"hipsparseCnnz_compress", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZnnz_compress", {"hipsparseZnnz_compress", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + + // 13. cuSPARSE Generic API Reference + // Generic Sparse API helper functions + {"cusparseCreateCoo", {"hipsparseCreateCoo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDestroySpMat", {"hipsparseDestroySpMat", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCooGet", {"hipsparseCooGet", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatGetFormat", {"hipsparseSpMatGetFormat", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatGetIndexBase", {"hipsparseSpMatGetIndexBase", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatSetNumBatches", {"hipsparseSpMatSetNumBatches", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatGetNumBatches", {"hipsparseSpMatGetNumBatches", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + + // Generic Dense API helper functions + {"cusparseCreateDnMat", {"hipsparseCreateDnMat", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDestroyDnMat", {"hipsparseDestroyDnMat", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnMatGet", {"hipsparseDnMatGet", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnMatSetStridedBatch", {"hipsparseDnMatSetStridedBatch", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnMatGetStridedBatch", {"hipsparseDnMatGetStridedBatch", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + + // Generic SpMM API functions + {"cusparseSpMM", {"hipsparseSpMM", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMM_bufferSize", {"hipsparseSpMM_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, }; diff --git a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp index 02e5785c4c..364c98f515 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp @@ -68,6 +68,12 @@ const std::map CUDA_SPARSE_TYPE_NAME_MAP{ {"pruneInfo", {"pruneInfo", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"pruneInfo_t", {"pruneInfo_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatDescr", {"hipsparseSpMatDescr", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatDescr_t", {"hipsparseSpMatDescr_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseDnMatDescr", {"hipsparseDnMatDescr", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnMatDescr_t", {"hipsparseDnMatDescr_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + // 2. Enums {"cusparseAction_t", {"hipsparseAction_t", "", CONV_TYPE, API_SPARSE}}, {"CUSPARSE_ACTION_SYMBOLIC", {"HIPSPARSE_ACTION_SYMBOLIC", "", CONV_NUMERIC_LITERAL, API_SPARSE}}, @@ -130,4 +136,27 @@ const std::map CUDA_SPARSE_TYPE_NAME_MAP{ {"CUSPARSE_STATUS_INTERNAL_ERROR", {"HIPSPARSE_STATUS_INTERNAL_ERROR", "", CONV_NUMERIC_LITERAL, API_SPARSE}}, {"CUSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED", {"HIPSPARSE_STATUS_MATRIX_TYPE_NOT_SUPPORTED", "", CONV_NUMERIC_LITERAL, API_SPARSE}}, {"CUSPARSE_STATUS_ZERO_PIVOT", {"HIPSPARSE_STATUS_ZERO_PIVOT", "", CONV_NUMERIC_LITERAL, API_SPARSE}}, + + {"cusparseCsr2CscAlg_t", {"hipsparseCsr2CscAlg_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_CSR2CSC_ALG1", {"HIPSPARSE_CSR2CSC_ALG1", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_CSR2CSC_ALG2", {"HIPSPARSE_CSR2CSC_ALG2", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseFormat_t", {"hipsparseFormat_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_FORMAT_CSR", {"HIPSPARSE_FORMAT_CSR", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_FORMAT_CSC", {"HIPSPARSE_FORMAT_CSC", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_FORMAT_COO", {"HIPSPARSE_FORMAT_COO", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseOrder_t", {"hipsparseOrder_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_ORDER_COL", {"HIPSPARSE_ORDER_COL", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_ORDER_ROW", {"HIPSPARSE_ORDER_ROW", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseSpMMAlg_t", {"hipsparseSpMMAlg_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_COOMM_ALG1", {"HIPSPARSE_COOMM_ALG1", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_COOMM_ALG2", {"HIPSPARSE_COOMM_ALG2", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_COOMM_ALG3", {"HIPSPARSE_COOMM_ALG3", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseIndexType_t", {"hipsparseIndexType_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_INDEX_16U", {"HIPSPARSE_INDEX_16U", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + {"CUSPARSE_INDEX_32I", {"HIPSPARSE_INDEX_32I", "", CONV_NUMERIC_LITERAL, API_SPARSE, HIP_UNSUPPORTED}}, + };