diff --git a/projects/hip/docs/markdown/CUSPARSE_API_supported_by_HIP.md b/projects/hip/docs/markdown/CUSPARSE_API_supported_by_HIP.md index e468cd1a71..f8a9d27b07 100644 --- a/projects/hip/docs/markdown/CUSPARSE_API_supported_by_HIP.md +++ b/projects/hip/docs/markdown/CUSPARSE_API_supported_by_HIP.md @@ -112,6 +112,10 @@ | typedef |`cusparseSpMatDescr_t` | 10.1 | | | struct |`cusparseDnMatDescr` | 10.1 | | | typedef |`cusparseDnMatDescr_t` | 10.1 | | +| struct |`cusparseSpVecDescr` | 10.1 | | +| typedef |`cusparseSpVecDescr_t` | 10.1 | | +| struct |`cusparseDnVecDescr` | 10.1 | | +| typedef |`cusparseDnVecDescr_t` | 10.1 | | ## **2. cuSPARSE Helper Function Reference** @@ -725,12 +729,26 @@ | **CUDA** | **HIP** |**CUDA version\***| |-----------------------------------------------------------|-------------------------------------------------|:----------------:| |`cusparseCreateCoo` | | 10.1 | +|`cusparseCreateCooAoS` | | 10.1 | +|`cusparseCreateCsr` | | 10.1 | |`cusparseDestroySpMat` | | 10.1 | |`cusparseCooGet` | | 10.1 | +|`cusparseCooAoSGet` | | 10.1 | +|`cusparseCsrGet` | | 10.1 | |`cusparseSpMatGetFormat` | | 10.1 | |`cusparseSpMatGetIndexBase` | | 10.1 | -|`cusparseSpMatSetNumBatches` | | 10.1 | +|`cusparseSpMatGetValues` | | 10.1 | +|`cusparseSpMatSetValues` | | 10.1 | +|`cusparseSpMatGetStridedBatch` | | 10.1 | +|`cusparseSpMatSetStridedBatch` | | 10.1 | |`cusparseSpMatGetNumBatches` | | 10.1 | +|`cusparseSpMatSetNumBatches` | | 10.1 | +|`cusparseCreateSpVec` | | 10.1 | +|`cusparseDestroySpVec` | | 10.1 | +|`cusparseSpVecGet` | | 10.1 | +|`cusparseSpVecGetIndexBase` | | 10.1 | +|`cusparseSpVecGetValues` | | 10.1 | +|`cusparseSpVecSetValues` | | 10.1 | ## ***10.2. Generic Dense API helper functions*** @@ -739,8 +757,15 @@ |`cusparseCreateDnMat` | | 10.1 | |`cusparseDestroyDnMat` | | 10.1 | |`cusparseDnMatGet` | | 10.1 | +|`cusparseDnMatGetValues` | | 10.1 | +|`cusparseDnMatSetValues` | | 10.1 | |`cusparseDnMatSetStridedBatch` | | 10.1 | |`cusparseDnMatGetStridedBatch` | | 10.1 | +|`cusparseCreateDnVec` | | 10.1 | +|`cusparseDestroyDnVec` | | 10.1 | +|`cusparseDnVecGet` | | 10.1 | +|`cusparseDnVecGetValues` | | 10.1 | +|`cusparseDnVecSetValues` | | 10.1 | ## ***10.3. Generic SpMM API functions*** @@ -749,4 +774,18 @@ |`cusparseSpMM` | | 10.1 | |`cusparseSpMM_bufferSize` | | 10.1 | +## ***10.4. Generic SpVV API functions [Undocumented]*** + +| **CUDA** | **HIP** |**CUDA version\***| +|-----------------------------------------------------------|-------------------------------------------------|:----------------:| +|`cusparseSpVV` | | 10.1 | +|`cusparseSpVV_bufferSize` | | 10.1 | + +## ***10.5. Generic SpMV API functions [Undocumented]*** + +| **CUDA** | **HIP** |**CUDA version\***| +|-----------------------------------------------------------|-------------------------------------------------|:----------------:| +|`cusparseSpMV` | | 10.1 | +|`cusparseSpMV_bufferSize` | | 10.1 | + \* CUDA version, in which API has appeared and (optional) last version before abandoning it; no value in case of earlier versions < 7.5. diff --git a/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp b/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp index b8245044ba..1383a6f9b4 100644 --- a/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp +++ b/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp @@ -704,22 +704,55 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ // 13. cuSPARSE Generic API Reference // Generic Sparse API helper functions + // Sparse Matrix descriptor {"cusparseCreateCoo", {"hipsparseCreateCoo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCreateCooAoS", {"hipsparseCreateCooAoS", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCreateCsr", {"hipsparseCreateCsr", "", 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}}, + {"cusparseCooAoSGet", {"hipsparseCooAoSGet", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCsrGet", {"hipsparseCsrGet", "", 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}}, + {"cusparseSpMatGetValues", {"hipsparseSpMatGetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatSetValues", {"hipsparseSpMatSetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatGetStridedBatch", {"hipsparseSpMatGetStridedBatch", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMatSetStridedBatch", {"hipsparseSpMatSetStridedBatch", "", 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}}, + // Sparse Vector descriptor + {"cusparseCreateSpVec", {"hipsparseCreateSpVec", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDestroySpVec", {"hipsparseDestroySpVec", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecGet", {"hipsparseSpVecGet", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecGetIndexBase", {"hipsparseSpVecGetIndexBase", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecGetValues", {"hipsparseSpVecGetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecSetValues", {"hipsparseSpVecSetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, // Generic Dense API helper functions + // Dense Matrix descriptor {"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}}, + {"cusparseDnMatGetValues", {"hipsparseDnMatGetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnMatSetValues", {"hipsparseDnMatSetValues", "", 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}}, + // Dense Vector descriptor + {"cusparseCreateDnVec", {"hipsparseCreateDnVec", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDestroyDnVec", {"hipsparseDestroyDnVec", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnVecGet", {"hipsparseDnVecGet", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnVecGetValues", {"hipsparseDnVecGetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnVecSetValues", {"hipsparseDnVecSetValues", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - // Generic SpMM API functions + // Sparse Matrix * Matrix Multiplication {"cusparseSpMM", {"hipsparseSpMM", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseSpMM_bufferSize", {"hipsparseSpMM_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + + // Sparse Vector * Vector Multiplication + {"cusparseSpVV", {"hipsparseSpVV", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVV_bufferSize", {"hipsparseSpVV_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + + // Sparse Matrix * Vector Multiplication + {"cusparseSpMV", {"hipsparseSpMV", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpMV_bufferSize", {"hipsparseSpMV_bufferSize", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, }; diff --git a/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp b/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp index e6102503fd..4a6e91288f 100644 --- a/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp +++ b/projects/hip/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp @@ -74,6 +74,12 @@ const std::map CUDA_SPARSE_TYPE_NAME_MAP{ {"cusparseDnMatDescr", {"hipsparseDnMatDescr", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDnMatDescr_t", {"hipsparseDnMatDescr_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecDescr", {"hipsparseSpVecDescr", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseSpVecDescr_t", {"hipsparseSpVecDescr_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + + {"cusparseDnVecDescr", {"hipsparseDnVecDescr", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseDnVecDescr_t", {"hipsparseDnVecDescr_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}},