From 126ebadcc6784933bc4dae357a67a20e4e65fe39 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Wed, 18 Mar 2020 13:44:50 +0300 Subject: [PATCH] [HIPIFY][SPARSE] sync with hipSPARSE's "added csrsm2" (#83) + https://github.com/ROCmSoftwarePlatform/hipSPARSE/pull/83 + Update doc and hipify-perl accordingly --- hipamd/bin/hipify-perl | 17 ++++++++++ .../markdown/CUSPARSE_API_supported_by_HIP.md | 34 +++++++++---------- .../src/CUDA2HIP_SPARSE_API_functions.cpp | 30 ++++++++-------- .../src/CUDA2HIP_SPARSE_API_types.cpp | 4 +-- 4 files changed, 51 insertions(+), 34 deletions(-) diff --git a/hipamd/bin/hipify-perl b/hipamd/bin/hipify-perl index dc039cb8a1..d178c87729 100755 --- a/hipamd/bin/hipify-perl +++ b/hipamd/bin/hipify-perl @@ -750,6 +750,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseCcsrmm\b/hipsparseCcsrmm/g; $ft{'library'} += s/\bcusparseCcsrmm2\b/hipsparseCcsrmm2/g; $ft{'library'} += s/\bcusparseCcsrmv\b/hipsparseCcsrmv/g; + $ft{'library'} += s/\bcusparseCcsrsm2_analysis\b/hipsparseCcsrsm2_analysis/g; + $ft{'library'} += s/\bcusparseCcsrsm2_bufferSizeExt\b/hipsparseCcsrsm2_bufferSizeExt/g; + $ft{'library'} += s/\bcusparseCcsrsm_solve\b/hipsparseCcsrsm_solve/g; $ft{'library'} += s/\bcusparseCcsrsv2_analysis\b/hipsparseCcsrsv2_analysis/g; $ft{'library'} += s/\bcusparseCcsrsv2_bufferSize\b/hipsparseCcsrsv2_bufferSize/g; $ft{'library'} += s/\bcusparseCcsrsv2_bufferSizeExt\b/hipsparseCcsrsv2_bufferSizeExt/g; @@ -763,6 +766,7 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseCreate\b/hipsparseCreate/g; $ft{'library'} += s/\bcusparseCreateCsrgemm2Info\b/hipsparseCreateCsrgemm2Info/g; $ft{'library'} += s/\bcusparseCreateCsrilu02Info\b/hipsparseCreateCsrilu02Info/g; + $ft{'library'} += s/\bcusparseCreateCsrsm2Info\b/hipsparseCreateCsrsm2Info/g; $ft{'library'} += s/\bcusparseCreateCsrsv2Info\b/hipsparseCreateCsrsv2Info/g; $ft{'library'} += s/\bcusparseCreateHybMat\b/hipsparseCreateHybMat/g; $ft{'library'} += s/\bcusparseCreateIdentityPermutation\b/hipsparseCreateIdentityPermutation/g; @@ -781,6 +785,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseDcsrmm\b/hipsparseDcsrmm/g; $ft{'library'} += s/\bcusparseDcsrmm2\b/hipsparseDcsrmm2/g; $ft{'library'} += s/\bcusparseDcsrmv\b/hipsparseDcsrmv/g; + $ft{'library'} += s/\bcusparseDcsrsm2_analysis\b/hipsparseDcsrsm2_analysis/g; + $ft{'library'} += s/\bcusparseDcsrsm2_bufferSizeExt\b/hipsparseDcsrsm2_bufferSizeExt/g; + $ft{'library'} += s/\bcusparseDcsrsm_solve\b/hipsparseDcsrsm_solve/g; $ft{'library'} += s/\bcusparseDcsrsv2_analysis\b/hipsparseDcsrsv2_analysis/g; $ft{'library'} += s/\bcusparseDcsrsv2_bufferSize\b/hipsparseDcsrsv2_bufferSize/g; $ft{'library'} += s/\bcusparseDcsrsv2_bufferSizeExt\b/hipsparseDcsrsv2_bufferSizeExt/g; @@ -789,6 +796,7 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseDestroy\b/hipsparseDestroy/g; $ft{'library'} += s/\bcusparseDestroyCsrgemm2Info\b/hipsparseDestroyCsrgemm2Info/g; $ft{'library'} += s/\bcusparseDestroyCsrilu02Info\b/hipsparseDestroyCsrilu02Info/g; + $ft{'library'} += s/\bcusparseDestroyCsrsm2Info\b/hipsparseDestroyCsrsm2Info/g; $ft{'library'} += s/\bcusparseDestroyCsrsv2Info\b/hipsparseDestroyCsrsv2Info/g; $ft{'library'} += s/\bcusparseDestroyHybMat\b/hipsparseDestroyHybMat/g; $ft{'library'} += s/\bcusparseDestroyMatDescr\b/hipsparseDestroyMatDescr/g; @@ -818,6 +826,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseScsrmm\b/hipsparseScsrmm/g; $ft{'library'} += s/\bcusparseScsrmm2\b/hipsparseScsrmm2/g; $ft{'library'} += s/\bcusparseScsrmv\b/hipsparseScsrmv/g; + $ft{'library'} += s/\bcusparseScsrsm2_analysis\b/hipsparseScsrsm2_analysis/g; + $ft{'library'} += s/\bcusparseScsrsm2_bufferSizeExt\b/hipsparseScsrsm2_bufferSizeExt/g; + $ft{'library'} += s/\bcusparseScsrsm_solve\b/hipsparseScsrsm_solve/g; $ft{'library'} += s/\bcusparseScsrsv2_analysis\b/hipsparseScsrsv2_analysis/g; $ft{'library'} += s/\bcusparseScsrsv2_bufferSize\b/hipsparseScsrsv2_bufferSize/g; $ft{'library'} += s/\bcusparseScsrsv2_bufferSizeExt\b/hipsparseScsrsv2_bufferSizeExt/g; @@ -846,6 +857,7 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseXcsrgemm2Nnz\b/hipsparseXcsrgemm2Nnz/g; $ft{'library'} += s/\bcusparseXcsrgemmNnz\b/hipsparseXcsrgemmNnz/g; $ft{'library'} += s/\bcusparseXcsrilu02_zeroPivot\b/hipsparseXcsrilu02_zeroPivot/g; + $ft{'library'} += s/\bcusparseXcsrsm2_zeroPivot\b/hipsparseXcsrsm2_zeroPivot/g; $ft{'library'} += s/\bcusparseXcsrsort\b/hipsparseXcsrsort/g; $ft{'library'} += s/\bcusparseXcsrsort_bufferSizeExt\b/hipsparseXcsrsort_bufferSizeExt/g; $ft{'library'} += s/\bcusparseXcsrsv2_zeroPivot\b/hipsparseXcsrsv2_zeroPivot/g; @@ -862,6 +874,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseZcsrmm\b/hipsparseZcsrmm/g; $ft{'library'} += s/\bcusparseZcsrmm2\b/hipsparseZcsrmm2/g; $ft{'library'} += s/\bcusparseZcsrmv\b/hipsparseZcsrmv/g; + $ft{'library'} += s/\bcusparseZcsrsm2_analysis\b/hipsparseZcsrsm2_analysis/g; + $ft{'library'} += s/\bcusparseZcsrsm2_bufferSizeExt\b/hipsparseZcsrsm2_bufferSizeExt/g; + $ft{'library'} += s/\bcusparseZcsrsm_solve\b/hipsparseZcsrsm_solve/g; $ft{'library'} += s/\bcusparseZcsrsv2_analysis\b/hipsparseZcsrsv2_analysis/g; $ft{'library'} += s/\bcusparseZcsrsv2_bufferSize\b/hipsparseZcsrsv2_bufferSize/g; $ft{'library'} += s/\bcusparseZcsrsv2_bufferSizeExt\b/hipsparseZcsrsv2_bufferSizeExt/g; @@ -995,6 +1010,8 @@ sub simpleSubstitutions { $ft{'type'} += s/\bcsrgemm2Info\b/csrgemm2Info/g; $ft{'type'} += s/\bcsrgemm2Info_t\b/csrgemm2Info_t/g; $ft{'type'} += s/\bcsrilu02Info_t\b/csrilu02Info_t/g; + $ft{'type'} += s/\bcsrsm2Info\b/csrsm2Info/g; + $ft{'type'} += s/\bcsrsm2Info_t\b/csrsm2Info_t/g; $ft{'type'} += s/\bcsrsv2Info_t\b/csrsv2Info_t/g; $ft{'type'} += s/\bcuComplex\b/hipComplex/g; $ft{'type'} += s/\bcuDoubleComplex\b/hipDoubleComplex/g; diff --git a/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md b/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md index 939c631d67..d23b06d307 100644 --- a/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md +++ b/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md @@ -69,8 +69,8 @@ | typedef |`cusparseSolveAnalysisInfo_t` | | | | struct |`csrsv2Info` | | | | typedef |`csrsv2Info_t` | |`csrsv2Info_t` | -| struct |`csrsm2Info` | 9.2 | | -| typedef |`csrsm2Info_t` | | | +| struct |`csrsm2Info` | 9.2 |`csrsm2Info` | +| typedef |`csrsm2Info_t` | |`csrsm2Info_t` | | struct |`bsrsv2Info` | | | | typedef |`bsrsv2Info_t` | | | | struct |`bsrsm2Info` | | | @@ -151,8 +151,8 @@ |`cusparseGetStream` |`hipsparseGetStream` | 8.0 | |`cusparseCreateCsrsv2Info` |`hipsparseCreateCsrsv2Info` | |`cusparseDestroyCsrsv2Info` |`hipsparseDestroyCsrsv2Info` | -|`cusparseCreateCsrsm2Info` | | 9.2 | -|`cusparseDestroyCsrsm2Info` | | 9.2 | +|`cusparseCreateCsrsm2Info` |`hipsparseCreateCsrsm2Info` | 9.2 | +|`cusparseDestroyCsrsm2Info` |`hipsparseDestroyCsrsm2Info` | 9.2 | |`cusparseCreateCsric02Info` | | |`cusparseDestroyCsric02Info` | | |`cusparseCreateCsrilu02Info` |`hipsparseCreateCsrilu02Info` | @@ -306,19 +306,19 @@ |`cusparseDcsrsm_solve` | | |`cusparseCcsrsm_solve` | | |`cusparseZcsrsm_solve` | | -|`cusparseScsrsm2_bufferSizeExt` | | 9.2 | -|`cusparseDcsrsm2_bufferSizeExt` | | 9.2 | -|`cusparseCcsrsm2_bufferSizeExt` | | 9.2 | -|`cusparseZcsrsm2_bufferSizeExt` | | 9.2 | -|`cusparseScsrsm2_analysis` | | 9.2 | -|`cusparseDcsrsm2_analysis` | | 9.2 | -|`cusparseCcsrsm2_analysis` | | 9.2 | -|`cusparseZcsrsm2_analysis` | | 9.2 | -|`cusparseScsrsm2_solve` | | 9.2 | -|`cusparseDcsrsm2_solve` | | 9.2 | -|`cusparseCcsrsm2_solve` | | 9.2 | -|`cusparseZcsrsm2_solve` | | 9.2 | -|`cusparseXcsrsm2_zeroPivot` | | 9.2 | +|`cusparseScsrsm2_bufferSizeExt` |`hipsparseScsrsm2_bufferSizeExt` | 9.2 | +|`cusparseDcsrsm2_bufferSizeExt` |`hipsparseDcsrsm2_bufferSizeExt` | 9.2 | +|`cusparseCcsrsm2_bufferSizeExt` |`hipsparseCcsrsm2_bufferSizeExt` | 9.2 | +|`cusparseZcsrsm2_bufferSizeExt` |`hipsparseZcsrsm2_bufferSizeExt` | 9.2 | +|`cusparseScsrsm2_analysis` |`hipsparseScsrsm2_analysis` | 9.2 | +|`cusparseDcsrsm2_analysis` |`hipsparseDcsrsm2_analysis` | 9.2 | +|`cusparseCcsrsm2_analysis` |`hipsparseCcsrsm2_analysis` | 9.2 | +|`cusparseZcsrsm2_analysis` |`hipsparseZcsrsm2_analysis` | 9.2 | +|`cusparseScsrsm2_solve` |`hipsparseScsrsm2_solve` | 9.2 | +|`cusparseDcsrsm2_solve` |`hipsparseDcsrsm2_solve` | 9.2 | +|`cusparseCcsrsm2_solve` |`hipsparseCcsrsm2_solve` | 9.2 | +|`cusparseZcsrsm2_solve` |`hipsparseZcsrsm2_solve` | 9.2 | +|`cusparseXcsrsm2_zeroPivot` |`hipsparseXcsrsm2_zeroPivot` | 9.2 | |`cusparseSbsrmm` | | |`cusparseDbsrmm` | | |`cusparseCbsrmm` | | diff --git a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp index d5d32cd0ff..0f3997145e 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp @@ -49,8 +49,8 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseGetStream", {"hipsparseGetStream", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCreateCsrsv2Info", {"hipsparseCreateCsrsv2Info", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseDestroyCsrsv2Info", {"hipsparseDestroyCsrsv2Info", "", CONV_LIB_FUNC, API_SPARSE}}, - {"cusparseCreateCsrsm2Info", {"hipsparseCreateCsrsm2Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDestroyCsrsm2Info", {"hipsparseDestroyCsrsm2Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCreateCsrsm2Info", {"hipsparseCreateCsrsm2Info", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDestroyCsrsm2Info", {"hipsparseDestroyCsrsm2Info", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCreateCsric02Info", {"hipsparseCreateCsric02Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDestroyCsric02Info", {"hipsparseDestroyCsric02Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseCreateCsrilu02Info", {"hipsparseCreateCsrilu02Info", "", CONV_LIB_FUNC, API_SPARSE}}, @@ -218,27 +218,27 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseCcsrsm_analysis", {"hipsparseCcsrsm_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrsm_analysis", {"hipsparseZcsrsm_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseScsrsm_solve", {"hipsparseScsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrsm_solve", {"hipsparseDcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseCcsrsm_solve", {"hipsparseCcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseZcsrsm_solve", {"hipsparseZcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseScsrsm_solve", {"hipsparseScsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrsm_solve", {"hipsparseDcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseCcsrsm_solve", {"hipsparseCcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseZcsrsm_solve", {"hipsparseZcsrsm_solve", "", CONV_LIB_FUNC, API_SPARSE}}, - {"cusparseScsrsm2_bufferSizeExt", {"hipsparseScsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrsm2_bufferSizeExt", {"hipsparseDcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseCcsrsm2_bufferSizeExt", {"hipsparseCcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseZcsrsm2_bufferSizeExt", {"hipsparseZcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseScsrsm2_bufferSizeExt", {"hipsparseScsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrsm2_bufferSizeExt", {"hipsparseDcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE,}}, + {"cusparseCcsrsm2_bufferSizeExt", {"hipsparseCcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseZcsrsm2_bufferSizeExt", {"hipsparseZcsrsm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, - {"cusparseScsrsm2_analysis", {"hipsparseScsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrsm2_analysis", {"hipsparseDcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseCcsrsm2_analysis", {"hipsparseCcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseZcsrsm2_analysis", {"hipsparseZcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseScsrsm2_analysis", {"hipsparseScsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrsm2_analysis", {"hipsparseDcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseCcsrsm2_analysis", {"hipsparseCcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseZcsrsm2_analysis", {"hipsparseZcsrsm2_analysis", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseScsrsm2_solve", {"hipsparseScsrsm2_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDcsrsm2_solve", {"hipsparseDcsrsm2_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseCcsrsm2_solve", {"hipsparseCcsrsm2_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrsm2_solve", {"hipsparseZcsrsm2_solve", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseXcsrsm2_zeroPivot", {"hipsparseXcsrsm2_zeroPivot", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseXcsrsm2_zeroPivot", {"hipsparseXcsrsm2_zeroPivot", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseSbsrmm", {"hipsparseSbsrmm", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDbsrmm", {"hipsparseDbsrmm", "", 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 8cebef51d4..aae85a50d3 100644 --- a/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp +++ b/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp @@ -41,8 +41,8 @@ const std::map CUDA_SPARSE_TYPE_NAME_MAP{ {"csrsv2Info", {"csrsv2Info", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"csrsv2Info_t", {"csrsv2Info_t", "", CONV_TYPE, API_SPARSE}}, - {"csrsm2Info", {"csrsm2Info", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, - {"csrsm2Info_t", {"csrsm2Info_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"csrsm2Info", {"csrsm2Info", "", CONV_TYPE, API_SPARSE}}, + {"csrsm2Info_t", {"csrsm2Info_t", "", CONV_TYPE, API_SPARSE}}, {"bsrsv2Info", {"bsrsv2Info", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"bsrsv2Info_t", {"bsrsv2Info_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}},