From 48224daaa369345665e368577c3fa8d17ecb3846 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Sat, 5 Oct 2019 15:53:04 +0300 Subject: [PATCH] [HIPIFY][SPARSE] sync with hipSPARSE + Update doc and hipify-perl accordingly [ROCm/clr commit: 201e6deaac07d0bd2a78694dfe61c655bcbdea1d] --- projects/clr/hipamd/bin/hipify-perl | 26 ++++++++++++++----- .../markdown/CUSPARSE_API_supported_by_HIP.md | 26 ++++++++++--------- .../src/CUDA2HIP_SPARSE_API_functions.cpp | 24 ++++++++--------- .../src/CUDA2HIP_SPARSE_API_types.cpp | 3 +++ 4 files changed, 49 insertions(+), 30 deletions(-) diff --git a/projects/clr/hipamd/bin/hipify-perl b/projects/clr/hipamd/bin/hipify-perl index 5bf6a4fe9a..f13b865be4 100755 --- a/projects/clr/hipamd/bin/hipify-perl +++ b/projects/clr/hipamd/bin/hipify-perl @@ -197,6 +197,8 @@ sub simpleSubstitutions { $ft{'memory'} += s/\bcuIpcGetMemHandle\b/hipIpcGetMemHandle/g; $ft{'memory'} += s/\bcuIpcOpenMemHandle\b/hipIpcOpenMemHandle/g; $ft{'memory'} += s/\bcuMemAlloc\b/hipMalloc/g; + $ft{'memory'} += s/\bcuMemAllocHost\b/hipMemAllocHost/g; + $ft{'memory'} += s/\bcuMemAllocHost_v2\b/hipMemAllocHost/g; $ft{'memory'} += s/\bcuMemAllocManaged\b/hipMemAllocManaged/g; $ft{'memory'} += s/\bcuMemAllocPitch\b/hipMemAllocPitch/g; $ft{'memory'} += s/\bcuMemAllocPitch_v2\b/hipMemAllocPitch/g; @@ -209,8 +211,6 @@ sub simpleSubstitutions { $ft{'memory'} += s/\bcuMemGetInfo\b/hipMemGetInfo/g; $ft{'memory'} += s/\bcuMemGetInfo_v2\b/hipMemGetInfo/g; $ft{'memory'} += s/\bcuMemHostAlloc\b/hipHostMalloc/g; - $ft{'memory'} += s/\bcuMemAllocHost\b/hipMemAllocHost/g; - $ft{'memory'} += s/\bcuMemAllocHost_v2\b/hipMemAllocHost/g; $ft{'memory'} += s/\bcuMemHostGetDevicePointer\b/hipHostGetDevicePointer/g; $ft{'memory'} += s/\bcuMemHostGetDevicePointer_v2\b/hipHostGetDevicePointer/g; $ft{'memory'} += s/\bcuMemHostGetFlags\b/hipMemHostGetFlags/g; @@ -237,15 +237,15 @@ sub simpleSubstitutions { $ft{'memory'} += s/\bcuMemcpyHtoDAsync\b/hipMemcpyHtoDAsync/g; $ft{'memory'} += s/\bcuMemcpyHtoDAsync_v2\b/hipMemcpyHtoDAsync/g; $ft{'memory'} += s/\bcuMemcpyHtoD_v2\b/hipMemcpyHtoD/g; + $ft{'memory'} += s/\bcuMemsetD16\b/hipMemsetD16/g; + $ft{'memory'} += s/\bcuMemsetD16Async\b/hipMemsetD16Async/g; + $ft{'memory'} += s/\bcuMemsetD16_v2\b/hipMemsetD16/g; $ft{'memory'} += s/\bcuMemsetD32\b/hipMemsetD32/g; $ft{'memory'} += s/\bcuMemsetD32Async\b/hipMemsetD32Async/g; $ft{'memory'} += s/\bcuMemsetD32_v2\b/hipMemsetD32/g; $ft{'memory'} += s/\bcuMemsetD8\b/hipMemsetD8/g; - $ft{'memory'} += s/\bcuMemsetD8_v2\b/hipMemsetD8/g; $ft{'memory'} += s/\bcuMemsetD8Async\b/hipMemsetD8Async/g; - $ft{'memory'} += s/\bcuMemsetD16\b/hipMemsetD16/g; - $ft{'memory'} += s/\bcuMemsetD16_v2\b/hipMemsetD16/g; - $ft{'memory'} += s/\bcuMemsetD16Async\b/hipMemsetD16Async/g; + $ft{'memory'} += s/\bcuMemsetD8_v2\b/hipMemsetD8/g; $ft{'memory'} += s/\bcudaFree\b/hipFree/g; $ft{'memory'} += s/\bcudaFreeArray\b/hipFreeArray/g; $ft{'memory'} += s/\bcudaFreeHost\b/hipHostFree/g; @@ -625,6 +625,7 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcurandSetQuasiRandomGeneratorDimensions\b/hiprandSetQuasiRandomGeneratorDimensions/g; $ft{'library'} += s/\bcurandSetStream\b/hiprandSetStream/g; $ft{'library'} += s/\bcusparseCreate\b/hipsparseCreate/g; + $ft{'library'} += s/\bcusparseCreateCsrgemm2Info\b/hipsparseCreateCsrgemm2Info/g; $ft{'library'} += s/\bcusparseCreateCsrilu02Info\b/hipsparseCreateCsrilu02Info/g; $ft{'library'} += s/\bcusparseCreateCsrsv2Info\b/hipsparseCreateCsrsv2Info/g; $ft{'library'} += s/\bcusparseCreateHybMat\b/hipsparseCreateHybMat/g; @@ -633,6 +634,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseDaxpyi\b/hipsparseDaxpyi/g; $ft{'library'} += s/\bcusparseDcsr2csc\b/hipsparseDcsr2csc/g; $ft{'library'} += s/\bcusparseDcsr2hyb\b/hipsparseDcsr2hyb/g; + $ft{'library'} += s/\bcusparseDcsrgemm\b/hipsparseDcsrgemm/g; + $ft{'library'} += s/\bcusparseDcsrgemm2\b/hipsparseDcsrgemm2/g; + $ft{'library'} += s/\bcusparseDcsrgemm2_bufferSizeExt\b/hipsparseDcsrgemm2_bufferSizeExt/g; $ft{'library'} += s/\bcusparseDcsrilu02\b/hipsparseDcsrilu02/g; $ft{'library'} += s/\bcusparseDcsrilu02_analysis\b/hipsparseDcsrilu02_analysis/g; $ft{'library'} += s/\bcusparseDcsrilu02_bufferSize\b/hipsparseDcsrilu02_bufferSize/g; @@ -646,6 +650,7 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseDcsrsv2_solve\b/hipsparseDcsrsv2_solve/g; $ft{'library'} += s/\bcusparseDdoti\b/hipsparseDdoti/g; $ft{'library'} += s/\bcusparseDestroy\b/hipsparseDestroy/g; + $ft{'library'} += s/\bcusparseDestroyCsrgemm2Info\b/hipsparseDestroyCsrgemm2Info/g; $ft{'library'} += s/\bcusparseDestroyCsrilu02Info\b/hipsparseDestroyCsrilu02Info/g; $ft{'library'} += s/\bcusparseDestroyCsrsv2Info\b/hipsparseDestroyCsrsv2Info/g; $ft{'library'} += s/\bcusparseDestroyHybMat\b/hipsparseDestroyHybMat/g; @@ -665,6 +670,9 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseSaxpyi\b/hipsparseSaxpyi/g; $ft{'library'} += s/\bcusparseScsr2csc\b/hipsparseScsr2csc/g; $ft{'library'} += s/\bcusparseScsr2hyb\b/hipsparseScsr2hyb/g; + $ft{'library'} += s/\bcusparseScsrgemm\b/hipsparseScsrgemm/g; + $ft{'library'} += s/\bcusparseScsrgemm2\b/hipsparseScsrgemm2/g; + $ft{'library'} += s/\bcusparseScsrgemm2_bufferSizeExt\b/hipsparseScsrgemm2_bufferSizeExt/g; $ft{'library'} += s/\bcusparseScsrilu02\b/hipsparseScsrilu02/g; $ft{'library'} += s/\bcusparseScsrilu02_analysis\b/hipsparseScsrilu02_analysis/g; $ft{'library'} += s/\bcusparseScsrilu02_bufferSize\b/hipsparseScsrilu02_bufferSize/g; @@ -693,7 +701,11 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcusparseXcoosortByColumn\b/hipsparseXcoosortByColumn/g; $ft{'library'} += s/\bcusparseXcoosortByRow\b/hipsparseXcoosortByRow/g; $ft{'library'} += s/\bcusparseXcoosort_bufferSizeExt\b/hipsparseXcoosort_bufferSizeExt/g; + $ft{'library'} += s/\bcusparseXcscsort\b/hipsparseXcscsort/g; + $ft{'library'} += s/\bcusparseXcscsort_bufferSizeExt\b/hipsparseXcscsort_bufferSizeExt/g; $ft{'library'} += s/\bcusparseXcsr2coo\b/hipsparseXcsr2coo/g; + $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/\bcusparseXcsrsort\b/hipsparseXcsrsort/g; $ft{'library'} += s/\bcusparseXcsrsort_bufferSizeExt\b/hipsparseXcsrsort_bufferSizeExt/g; @@ -816,6 +828,8 @@ sub simpleSubstitutions { $ft{'type'} += s/\bCUstream_st\b/ihipStream_t/g; $ft{'type'} += s/\bCUtexObject\b/hipTextureObject_t/g; $ft{'type'} += s/\bCUtexref_st\b/textureReference/g; + $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/\bcsrsv2Info_t\b/csrsv2Info_t/g; $ft{'type'} += s/\bcuComplex\b/hipComplex/g; diff --git a/projects/clr/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md b/projects/clr/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md index 3a25acc20c..03f7cc2902 100644 --- a/projects/clr/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md +++ b/projects/clr/hipamd/docs/markdown/CUSPARSE_API_supported_by_HIP.md @@ -83,6 +83,8 @@ | typedef |`bsrilu02Info_t` | | | | struct |`csru2csrInfo` | | | | typedef |`csru2csrInfo_t` | | | +| struct |`csrgemm2Info` | |`csrgemm2Info` | +| typedef |`csrgemm2Info_t` | |`csrgemm2Info_t` | | struct |`cusparseColorInfo` | | | | typedef |`cusparseColorInfo_t` | | | | struct |`pruneInfo` | 9.0 | | @@ -163,8 +165,8 @@ |`cusparseDestroyBsric02Info` | | |`cusparseCreateBsrilu02Info` | | |`cusparseDestroyBsrilu02Info` | | -|`cusparseCreateCsrgemm2Info` | | -|`cusparseDestroyCsrgemm2Info` | | +|`cusparseCreateCsrgemm2Info` |`hipsparseCreateCsrgemm2Info` | +|`cusparseDestroyCsrgemm2Info` |`hipsparseDestroyCsrgemm2Info` | |`cusparseCreatePruneInfo` | | 9.0 | |`cusparseDestroyPruneInfo` | | 9.0 | @@ -361,18 +363,18 @@ |`cusparseDcsrgeam2_bufferSizeExt` | | 9.2 | |`cusparseCcsrgeam2_bufferSizeExt` | | 9.2 | |`cusparseZcsrgeam2_bufferSizeExt` | | 9.2 | -|`cusparseXcsrgemmNnz` | | -|`cusparseScsrgemm` | | -|`cusparseDcsrgemm` | | +|`cusparseXcsrgemmNnz` |`hipsparseXcsrgemmNnz` | +|`cusparseScsrgemm` |`hipsparseScsrgemm` | +|`cusparseDcsrgemm` |`hipsparseDcsrgemm` | |`cusparseCcsrgemm` | | |`cusparseZcsrgemm` | | -|`cusparseXcsrgemm2Nnz` | | -|`cusparseScsrgemm2` | | -|`cusparseDcsrgemm2` | | +|`cusparseXcsrgemm2Nnz` |`hipsparseXcsrgemm2Nnz` | +|`cusparseScsrgemm2` |`hipsparseScsrgemm2` | +|`cusparseDcsrgemm2` |`hipsparseDcsrgemm2` | |`cusparseCcsrgemm2` | | |`cusparseZcsrgemm2` | | -|`cusparseScsrgemm2_bufferSizeExt` | | -|`cusparseDcsrgemm2_bufferSizeExt` | | +|`cusparseScsrgemm2_bufferSizeExt` |`hipsparseScsrgemm2_bufferSizeExt` | +|`cusparseDcsrgemm2_bufferSizeExt` |`hipsparseDcsrgemm2_bufferSizeExt` | |`cusparseCcsrgemm2_bufferSizeExt` | | |`cusparseZcsrgemm2_bufferSizeExt` | | @@ -670,8 +672,8 @@ |`cusparseXcoosortByColumn` |`hipsparseXcoosortByColumn` | |`cusparseXcsrsort_bufferSizeExt` |`hipsparseXcsrsort_bufferSizeExt` | |`cusparseXcsrsort` |`hipsparseXcsrsort` | -|`cusparseXcscsort_bufferSizeExt` | | -|`cusparseXcscsort` | | +|`cusparseXcscsort_bufferSizeExt` |`hipsparseXcscsort_bufferSizeExt` | +|`cusparseXcscsort` |`hipsparseXcscsort` | |`cusparseCreateCsru2csrInfo` | | |`cusparseDestroyCsru2csrInfo` | | |`cusparseScsru2csr_bufferSizeExt` | | diff --git a/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp b/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp index 1383a6f9b4..0a3e8fbd02 100644 --- a/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp +++ b/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_functions.cpp @@ -63,8 +63,8 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseDestroyBsric02Info", {"hipsparseDestroyBsric02Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseCreateBsrilu02Info", {"hipsparseCreateBsrilu02Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDestroyBsrilu02Info", {"hipsparseDestroyBsrilu02Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseCreateCsrgemm2Info", {"hipsparseCreateCsrgemm2Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDestroyCsrgemm2Info", {"hipsparseDestroyCsrgemm2Info", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseCreateCsrgemm2Info", {"hipsparseCreateCsrgemm2Info", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDestroyCsrgemm2Info", {"hipsparseDestroyCsrgemm2Info", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCreatePruneInfo", {"hipsparseCreatePruneInfo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDestroyPruneInfo", {"hipsparseDestroyPruneInfo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, @@ -289,20 +289,20 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseCcsrgeam2_bufferSizeExt", {"hipsparseCcsrgeam2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrgeam2_bufferSizeExt", {"hipsparseZcsrgeam2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseXcsrgemmNnz", {"hipsparseXcsrgemmNnz", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseScsrgemm", {"hipsparseScsrgemm", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrgemm", {"hipsparseDcsrgemm", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseXcsrgemmNnz", {"hipsparseXcsrgemmNnz", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseScsrgemm", {"hipsparseScsrgemm", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrgemm", {"hipsparseDcsrgemm", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCcsrgemm", {"hipsparseCcsrgemm", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrgemm", {"hipsparseZcsrgemm", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseXcsrgemm2Nnz", {"hipsparseXcsrgemm2Nnz", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseScsrgemm2", {"hipsparseScsrgemm2", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrgemm2", {"hipsparseDcsrgemm2", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseXcsrgemm2Nnz", {"hipsparseXcsrgemm2Nnz", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseScsrgemm2", {"hipsparseScsrgemm2", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrgemm2", {"hipsparseDcsrgemm2", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCcsrgemm2", {"hipsparseCcsrgemm2", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrgemm2", {"hipsparseZcsrgemm2", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseScsrgemm2_bufferSizeExt", {"hipsparseScsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseDcsrgemm2_bufferSizeExt", {"hipsparseDcsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseScsrgemm2_bufferSizeExt", {"hipsparseScsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseDcsrgemm2_bufferSizeExt", {"hipsparseDcsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCcsrgemm2_bufferSizeExt", {"hipsparseCcsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseZcsrgemm2_bufferSizeExt", {"hipsparseZcsrgemm2_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, @@ -633,8 +633,8 @@ const std::map CUDA_SPARSE_FUNCTION_MAP{ {"cusparseXcsrsort_bufferSizeExt", {"hipsparseXcsrsort_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseXcsrsort", {"hipsparseXcsrsort", "", CONV_LIB_FUNC, API_SPARSE}}, - {"cusparseXcscsort_bufferSizeExt", {"hipsparseXcscsort_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, - {"cusparseXcscsort", {"hipsparseXcscsort", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, + {"cusparseXcscsort_bufferSizeExt", {"hipsparseXcscsort_bufferSizeExt", "", CONV_LIB_FUNC, API_SPARSE}}, + {"cusparseXcscsort", {"hipsparseXcscsort", "", CONV_LIB_FUNC, API_SPARSE}}, {"cusparseCreateCsru2csrInfo", {"hipsparseCreateCsru2csrInfo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseDestroyCsru2csrInfo", {"hipsparseDestroyCsru2csrInfo", "", CONV_LIB_FUNC, API_SPARSE, HIP_UNSUPPORTED}}, diff --git a/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp b/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp index f9e3920af4..1d3fe28c62 100644 --- a/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp +++ b/projects/clr/hipamd/hipify-clang/src/CUDA2HIP_SPARSE_API_types.cpp @@ -62,6 +62,9 @@ const std::map CUDA_SPARSE_TYPE_NAME_MAP{ {"csru2csrInfo", {"csru2csrInfo", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"csru2csrInfo_t", {"csru2csrInfo_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, + {"csrgemm2Info", {"csrgemm2Info", "", CONV_TYPE, API_SPARSE}}, + {"csrgemm2Info_t", {"csrgemm2Info_t", "", CONV_TYPE, API_SPARSE}}, + {"cusparseColorInfo", {"hipsparseColorInfo", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}}, {"cusparseColorInfo_t", {"hipsparseColorInfo_t", "", CONV_TYPE, API_SPARSE, HIP_UNSUPPORTED}},