From 90d8251d71fe943696cbfd3329a5e879ce636833 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Sun, 22 Oct 2023 14:56:44 +0200 Subject: [PATCH] [HIPIFY][6.0.0][hipBLAS] Support for ROCm HIP 6.0.0 - Step 19 - Functions + Updated synthetic tests, the regenerated hipify-perl, and docs [The changed mapping] `hipblasGemmStridedBatchedEx` -> `hipblasGemmStridedBatchedEx_v2` `hipblasAxpyEx` -> `hipblasAxpyEx_v2` `hipblasDotEx` -> `hipblasDotEx_v2` `hipblasDotcEx` -> `hipblasDotcEx_v2` `hipblasNrm2Ex` -> `hipblasNrm2Ex_v2` `hipblasRotEx` -> `hipblasRotEx_v2` `hipblasScalEx` -> `hipblasScalEx_v2` --- bin/hipify-perl | 14 ++++---- docs/tables/CUBLAS_API_supported_by_HIP.md | 14 ++++---- .../CUBLAS_API_supported_by_HIP_and_ROC.md | 14 ++++---- src/CUDA2HIP_BLAS_API_functions.cpp | 21 ++++++++---- .../synthetic/libraries/cublas2hipblas.cu | 32 +++++++++---------- .../synthetic/libraries/cublas2hipblas_v2.cu | 32 +++++++++---------- 6 files changed, 67 insertions(+), 60 deletions(-) diff --git a/bin/hipify-perl b/bin/hipify-perl index 400d8941..940a74e9 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -2935,7 +2935,7 @@ sub simpleSubstitutions { subst("make_cuComplex", "make_hipComplex", "complex"); subst("make_cuDoubleComplex", "make_hipDoubleComplex", "complex"); subst("make_cuFloatComplex", "make_hipFloatComplex", "complex"); - subst("cublasAxpyEx", "hipblasAxpyEx", "library"); + subst("cublasAxpyEx", "hipblasAxpyEx_v2", "library"); subst("cublasCaxpy", "hipblasCaxpy_v2", "library"); subst("cublasCaxpy_v2", "hipblasCaxpy_v2", "library"); subst("cublasCcopy", "hipblasCcopy_v2", "library"); @@ -3059,8 +3059,8 @@ sub simpleSubstitutions { subst("cublasDgetrsBatched", "hipblasDgetrsBatched", "library"); subst("cublasDnrm2", "hipblasDnrm2", "library"); subst("cublasDnrm2_v2", "hipblasDnrm2", "library"); - subst("cublasDotEx", "hipblasDotEx", "library"); - subst("cublasDotcEx", "hipblasDotcEx", "library"); + subst("cublasDotEx", "hipblasDotEx_v2", "library"); + subst("cublasDotcEx", "hipblasDotcEx_v2", "library"); subst("cublasDrot", "hipblasDrot", "library"); subst("cublasDrot_v2", "hipblasDrot", "library"); subst("cublasDrotg", "hipblasDrotg", "library"); @@ -3117,7 +3117,7 @@ sub simpleSubstitutions { subst("cublasDznrm2_v2", "hipblasDznrm2_v2", "library"); subst("cublasGemmBatchedEx", "hipblasGemmBatchedEx_v2", "library"); subst("cublasGemmEx", "hipblasGemmEx_v2", "library"); - subst("cublasGemmStridedBatchedEx", "hipblasGemmStridedBatchedEx", "library"); + subst("cublasGemmStridedBatchedEx", "hipblasGemmStridedBatchedEx_v2", "library"); subst("cublasGetAtomicsMode", "hipblasGetAtomicsMode", "library"); subst("cublasGetMatrix", "hipblasGetMatrix", "library"); subst("cublasGetMatrixAsync", "hipblasGetMatrixAsync", "library"); @@ -3146,13 +3146,13 @@ sub simpleSubstitutions { subst("cublasIzamax_v2", "hipblasIzamax_v2", "library"); subst("cublasIzamin", "hipblasIzamin_v2", "library"); subst("cublasIzamin_v2", "hipblasIzamin_v2", "library"); - subst("cublasNrm2Ex", "hipblasNrm2Ex", "library"); - subst("cublasRotEx", "hipblasRotEx", "library"); + subst("cublasNrm2Ex", "hipblasNrm2Ex_v2", "library"); + subst("cublasRotEx", "hipblasRotEx_v2", "library"); subst("cublasSasum", "hipblasSasum", "library"); subst("cublasSasum_v2", "hipblasSasum", "library"); subst("cublasSaxpy", "hipblasSaxpy", "library"); subst("cublasSaxpy_v2", "hipblasSaxpy", "library"); - subst("cublasScalEx", "hipblasScalEx", "library"); + subst("cublasScalEx", "hipblasScalEx_v2", "library"); subst("cublasScasum", "hipblasScasum_v2", "library"); subst("cublasScasum_v2", "hipblasScasum_v2", "library"); subst("cublasScnrm2", "hipblasScnrm2_v2", "library"); diff --git a/docs/tables/CUBLAS_API_supported_by_HIP.md b/docs/tables/CUBLAS_API_supported_by_HIP.md index 4f5cc4ef..c8ebcc4c 100644 --- a/docs/tables/CUBLAS_API_supported_by_HIP.md +++ b/docs/tables/CUBLAS_API_supported_by_HIP.md @@ -321,7 +321,7 @@ |`cublasIzamin_64`|12.0| | | | | | | | | |`cublasIzamin_v2`| | | |`hipblasIzamin_v2`|6.0.0| | | |6.0.0| |`cublasIzamin_v2_64`|12.0| | | | | | | | | -|`cublasNrm2Ex`|8.0| | |`hipblasNrm2Ex`|4.1.0| | | | | +|`cublasNrm2Ex`|8.0| | |`hipblasNrm2Ex_v2`|6.0.0| | | |6.0.0| |`cublasNrm2Ex_64`|12.0| | | | | | | | | |`cublasSasum`| | | |`hipblasSasum`|1.8.2| | | | | |`cublasSasum_64`|12.0| | | | | | | | | @@ -910,7 +910,7 @@ |:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:| |`cublasAsumEx`|10.1| | | | | | | | | |`cublasAsumEx_64`|12.0| | | | | | | | | -|`cublasAxpyEx`|8.0| | |`hipblasAxpyEx`|4.1.0| | | | | +|`cublasAxpyEx`|8.0| | |`hipblasAxpyEx_v2`|6.0.0| | | |6.0.0| |`cublasAxpyEx_64`|12.0| | | | | | | | | |`cublasCdgmm`| | | |`hipblasCdgmm_v2`|6.0.0| | | |6.0.0| |`cublasCdgmm_64`|12.0| | | | | | | | | @@ -948,9 +948,9 @@ |`cublasDgetriBatched`| | | |`hipblasDgetriBatched`|3.7.0| | | | | |`cublasDgetrsBatched`| | | |`hipblasDgetrsBatched`|3.5.0| | | | | |`cublasDmatinvBatched`| | | | | | | | | | -|`cublasDotEx`|8.0| | |`hipblasDotEx`|4.1.0| | | | | +|`cublasDotEx`|8.0| | |`hipblasDotEx_v2`|6.0.0| | | |6.0.0| |`cublasDotEx_64`|12.0| | | | | | | | | -|`cublasDotcEx`|8.0| | |`hipblasDotcEx`|4.1.0| | | | | +|`cublasDotcEx`|8.0| | |`hipblasDotcEx_v2`|6.0.0| | | |6.0.0| |`cublasDotcEx_64`|12.0| | | | | | | | | |`cublasDtpttr`| | | | | | | | | | |`cublasDtrsmBatched`| | | |`hipblasDtrsmBatched`|3.2.0| | | | | @@ -960,19 +960,19 @@ |`cublasGemmBatchedEx_64`|12.0| | | | | | | | | |`cublasGemmEx`|8.0| | |`hipblasGemmEx_v2`|6.0.0| | | |6.0.0| |`cublasGemmEx_64`|12.0| | | | | | | | | -|`cublasGemmStridedBatchedEx`|9.1| | |`hipblasGemmStridedBatchedEx`|3.6.0| | | | | +|`cublasGemmStridedBatchedEx`|9.1| | |`hipblasGemmStridedBatchedEx_v2`|6.0.0| | | |6.0.0| |`cublasGemmStridedBatchedEx_64`|12.0| | | | | | | | | |`cublasIamaxEx`|10.1| | | | | | | | | |`cublasIamaxEx_64`|12.0| | | | | | | | | |`cublasIaminEx`|10.1| | | | | | | | | |`cublasIaminEx_64`|12.0| | | | | | | | | -|`cublasRotEx`|10.1| | |`hipblasRotEx`|4.1.0| | | | | +|`cublasRotEx`|10.1| | |`hipblasRotEx_v2`|6.0.0| | | |6.0.0| |`cublasRotEx_64`|12.0| | | | | | | | | |`cublasRotgEx`|10.1| | | | | | | | | |`cublasRotmEx`|10.1| | | | | | | | | |`cublasRotmEx_64`|12.0| | | | | | | | | |`cublasRotmgEx`|10.1| | | | | | | | | -|`cublasScalEx`|8.0| | |`hipblasScalEx`|4.1.0| | | | | +|`cublasScalEx`|8.0| | |`hipblasScalEx_v2`|6.0.0| | | |6.0.0| |`cublasScalEx_64`|12.0| | | | | | | | | |`cublasSdgmm`| | | |`hipblasSdgmm`|3.6.0| | | | | |`cublasSdgmm_64`|12.0| | | | | | | | | diff --git a/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md b/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md index 9ae8271f..9a363dba 100644 --- a/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md +++ b/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md @@ -321,7 +321,7 @@ |`cublasIzamin_64`|12.0| | | | | | | | | | | | | | | |`cublasIzamin_v2`| | | |`hipblasIzamin_v2`|6.0.0| | | |6.0.0|`rocblas_izamin`|3.5.0| | | | | |`cublasIzamin_v2_64`|12.0| | | | | | | | | | | | | | | -|`cublasNrm2Ex`|8.0| | |`hipblasNrm2Ex`|4.1.0| | | | |`rocblas_nrm2_ex`|4.1.0| | | | | +|`cublasNrm2Ex`|8.0| | |`hipblasNrm2Ex_v2`|6.0.0| | | |6.0.0|`rocblas_nrm2_ex`|4.1.0| | | | | |`cublasNrm2Ex_64`|12.0| | | | | | | | | | | | | | | |`cublasSasum`| | | |`hipblasSasum`|1.8.2| | | | |`rocblas_sasum`|1.5.0| | | | | |`cublasSasum_64`|12.0| | | | | | | | | | | | | | | @@ -910,7 +910,7 @@ |:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:-:| |`cublasAsumEx`|10.1| | | | | | | | | | | | | | | |`cublasAsumEx_64`|12.0| | | | | | | | | | | | | | | -|`cublasAxpyEx`|8.0| | |`hipblasAxpyEx`|4.1.0| | | | |`rocblas_axpy_ex`|3.9.0| | | | | +|`cublasAxpyEx`|8.0| | |`hipblasAxpyEx_v2`|6.0.0| | | |6.0.0|`rocblas_axpy_ex`|3.9.0| | | | | |`cublasAxpyEx_64`|12.0| | | | | | | | | | | | | | | |`cublasCdgmm`| | | |`hipblasCdgmm_v2`|6.0.0| | | |6.0.0|`rocblas_cdgmm`|3.5.0| | | | | |`cublasCdgmm_64`|12.0| | | | | | | | | | | | | | | @@ -948,9 +948,9 @@ |`cublasDgetriBatched`| | | |`hipblasDgetriBatched`|3.7.0| | | | | | | | | | | |`cublasDgetrsBatched`| | | |`hipblasDgetrsBatched`|3.5.0| | | | | | | | | | | |`cublasDmatinvBatched`| | | | | | | | | | | | | | | | -|`cublasDotEx`|8.0| | |`hipblasDotEx`|4.1.0| | | | |`rocblas_dot_ex`|4.1.0| | | | | +|`cublasDotEx`|8.0| | |`hipblasDotEx_v2`|6.0.0| | | |6.0.0|`rocblas_dot_ex`|4.1.0| | | | | |`cublasDotEx_64`|12.0| | | | | | | | | | | | | | | -|`cublasDotcEx`|8.0| | |`hipblasDotcEx`|4.1.0| | | | |`rocblas_dotc_ex`|4.1.0| | | | | +|`cublasDotcEx`|8.0| | |`hipblasDotcEx_v2`|6.0.0| | | |6.0.0|`rocblas_dotc_ex`|4.1.0| | | | | |`cublasDotcEx_64`|12.0| | | | | | | | | | | | | | | |`cublasDtpttr`| | | | | | | | | | | | | | | | |`cublasDtrsmBatched`| | | |`hipblasDtrsmBatched`|3.2.0| | | | |`rocblas_dtrsm_batched`|3.5.0| | | | | @@ -960,19 +960,19 @@ |`cublasGemmBatchedEx_64`|12.0| | | | | | | | | | | | | | | |`cublasGemmEx`|8.0| | |`hipblasGemmEx_v2`|6.0.0| | | |6.0.0|`rocblas_gemm_ex`|1.8.2| | | | | |`cublasGemmEx_64`|12.0| | | | | | | | | | | | | | | -|`cublasGemmStridedBatchedEx`|9.1| | |`hipblasGemmStridedBatchedEx`|3.6.0| | | | |`rocblas_gemm_strided_batched_ex`|1.9.0| | | | | +|`cublasGemmStridedBatchedEx`|9.1| | |`hipblasGemmStridedBatchedEx_v2`|6.0.0| | | |6.0.0|`rocblas_gemm_strided_batched_ex`|1.9.0| | | | | |`cublasGemmStridedBatchedEx_64`|12.0| | | | | | | | | | | | | | | |`cublasIamaxEx`|10.1| | | | | | | | | | | | | | | |`cublasIamaxEx_64`|12.0| | | | | | | | | | | | | | | |`cublasIaminEx`|10.1| | | | | | | | | | | | | | | |`cublasIaminEx_64`|12.0| | | | | | | | | | | | | | | -|`cublasRotEx`|10.1| | |`hipblasRotEx`|4.1.0| | | | |`rocblas_rot_ex`|4.1.0| | | | | +|`cublasRotEx`|10.1| | |`hipblasRotEx_v2`|6.0.0| | | |6.0.0|`rocblas_rot_ex`|4.1.0| | | | | |`cublasRotEx_64`|12.0| | | | | | | | | | | | | | | |`cublasRotgEx`|10.1| | | | | | | | | | | | | | | |`cublasRotmEx`|10.1| | | | | | | | | | | | | | | |`cublasRotmEx_64`|12.0| | | | | | | | | | | | | | | |`cublasRotmgEx`|10.1| | | | | | | | | | | | | | | -|`cublasScalEx`|8.0| | |`hipblasScalEx`|4.1.0| | | | |`rocblas_scal_ex`|4.0.0| | | | | +|`cublasScalEx`|8.0| | |`hipblasScalEx_v2`|6.0.0| | | |6.0.0|`rocblas_scal_ex`|4.0.0| | | | | |`cublasScalEx_64`|12.0| | | | | | | | | | | | | | | |`cublasSdgmm`| | | |`hipblasSdgmm`|3.6.0| | | | |`rocblas_sdgmm`|3.5.0| | | | | |`cublasSdgmm_64`|12.0| | | | | | | | | | | | | | | diff --git a/src/CUDA2HIP_BLAS_API_functions.cpp b/src/CUDA2HIP_BLAS_API_functions.cpp index 07709fdd..11230eb2 100644 --- a/src/CUDA2HIP_BLAS_API_functions.cpp +++ b/src/CUDA2HIP_BLAS_API_functions.cpp @@ -95,7 +95,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasScnrm2_64", {"hipblasScnrm2_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, {"cublasDznrm2", {"hipblasDznrm2_v2", "rocblas_dznrm2", CONV_LIB_FUNC, API_BLAS, 5, HIP_SUPPORTED_V2_ONLY}}, {"cublasDznrm2_64", {"hipblasDznrm2_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, - {"cublasNrm2Ex", {"hipblasNrm2Ex", "rocblas_nrm2_ex", CONV_LIB_FUNC, API_BLAS, 5}}, + {"cublasNrm2Ex", {"hipblasNrm2Ex_v2", "rocblas_nrm2_ex", CONV_LIB_FUNC, API_BLAS, 5}}, {"cublasNrm2Ex_64", {"hipblasNrm2Ex_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, // DOT @@ -830,7 +830,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasGemmEx_64", {"hipblasGemmEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, {"cublasGemmBatchedEx", {"hipblasGemmBatchedEx_v2", "rocblas_gemm_batched_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasGemmBatchedEx_64", {"hipblasGemmBatchedEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, - {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx", "rocblas_gemm_strided_batched_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasGemmStridedBatchedEx", {"hipblasGemmStridedBatchedEx_v2", "rocblas_gemm_strided_batched_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasGemmStridedBatchedEx_64", {"hipblasGemmStridedBatchedEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, // IO in Int8 complex/cuComplex, computation in cuComplex {"cublasCgemmEx", {"hipblasCgemmEx", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, @@ -929,9 +929,9 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasDznrm2_v2_64", {"hipblasDznrm2_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, // DOT - {"cublasDotEx", {"hipblasDotEx", "rocblas_dot_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasDotEx", {"hipblasDotEx_v2", "rocblas_dot_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasDotEx_64", {"hipblasDotEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, - {"cublasDotcEx", {"hipblasDotcEx", "rocblas_dotc_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasDotcEx", {"hipblasDotcEx_v2", "rocblas_dotc_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasDotcEx_64", {"hipblasDotcEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, {"cublasSdot_v2", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS, 5}}, @@ -949,7 +949,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasZdotc_v2_64", {"hipblasZdotc_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, // SCAL - {"cublasScalEx", {"hipblasScalEx", "rocblas_scal_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasScalEx", {"hipblasScalEx_v2", "rocblas_scal_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasScalEx_64", {"hipblasScalEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, {"cublasSscal_v2", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS, 5}}, {"cublasSscal_v2_64", {"hipblasSscal_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, @@ -965,7 +965,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasZdscal_v2_64", {"hipblasZdscal_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, // AXPY - {"cublasAxpyEx", {"hipblasAxpyEx", "rocblas_axpy_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasAxpyEx", {"hipblasAxpyEx_v2", "rocblas_axpy_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasAxpyEx_64", {"hipblasAxpyEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, {"cublasSaxpy_v2", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS, 5}}, {"cublasSaxpy_v2_64", {"hipblasSaxpy_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, @@ -1037,7 +1037,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP { {"cublasDzasum_v2_64", {"hipblasDzasum_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, // ROT - {"cublasRotEx", {"hipblasRotEx", "rocblas_rot_ex", CONV_LIB_FUNC, API_BLAS, 8}}, + {"cublasRotEx", {"hipblasRotEx_v2", "rocblas_rot_ex", CONV_LIB_FUNC, API_BLAS, 8}}, {"cublasRotEx_64", {"hipblasRotEx_64", "", CONV_LIB_FUNC, API_BLAS, 8, UNSUPPORTED}}, {"cublasSrot_v2", {"hipblasSrot", "rocblas_srot", CONV_LIB_FUNC, API_BLAS, 5}}, {"cublasSrot_v2_64", {"hipblasSrot_64", "", CONV_LIB_FUNC, API_BLAS, 5, UNSUPPORTED}}, @@ -1862,6 +1862,13 @@ const std::map HIP_BLAS_FUNCTION_VER_MAP { {"hipblasZgeqrfBatched_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, {"hipblasGemmEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, {"hipblasGemmBatchedEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasGemmStridedBatchedEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasAxpyEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasDotEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasDotcEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasNrm2Ex_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasRotEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasScalEx_v2", {HIP_6000, HIP_0, HIP_0, HIP_LATEST}}, {"rocblas_status_to_string", {HIP_3050, HIP_0, HIP_0 }}, {"rocblas_sscal", {HIP_1050, HIP_0, HIP_0 }}, {"rocblas_dscal", {HIP_1050, HIP_0, HIP_0 }}, diff --git a/tests/unit_tests/synthetic/libraries/cublas2hipblas.cu b/tests/unit_tests/synthetic/libraries/cublas2hipblas.cu index a1d02a6d..6826d8b7 100644 --- a/tests/unit_tests/synthetic/libraries/cublas2hipblas.cu +++ b/tests/unit_tests/synthetic/libraries/cublas2hipblas.cu @@ -1492,8 +1492,8 @@ int main() { cublasGemmAlgo_t BLAS_GEMM_DFALT = CUBLAS_GEMM_DFALT; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasNrm2Ex(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasNrm2Ex(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasNrm2Ex(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasNrm2Ex_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasNrm2Ex_v2(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); blasStatus = cublasNrm2Ex(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasSgemmStridedBatched(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const float* alpha, const float* A, int lda, long long int strideA, const float* B, int ldb, long long int strideB, const float* beta, float* C, int ldc, long long int strideC, int batchCount); @@ -1546,23 +1546,23 @@ int main() { cudaDataType Executiontype; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasScalEx(cublasHandle_t handle, int n, const void* alpha, cudaDataType alphaType, void* x, cudaDataType xType, int incx, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasScalEx(hipblasHandle_t handle, int n, const void* alpha, hipblasDatatype_t alphaType, void* x, hipblasDatatype_t xType, int incx, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasScalEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasScalEx_v2(hipblasHandle_t handle, int n, const void* alpha, hipDataType alphaType, void* x, hipDataType xType, int incx, hipDataType executionType); + // CHECK: blasStatus = hipblasScalEx_v2(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); blasStatus = cublasScalEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasAxpyEx(cublasHandle_t handle, int n, const void* alpha, cudaDataType alphaType, const void* x, cudaDataType xType, int incx, void* y, cudaDataType yType, int incy, cudaDataType executiontype); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasAxpyEx(hipblasHandle_t handle, int n, const void* alpha, hipblasDatatype_t alphaType, const void* x, hipblasDatatype_t xType, int incx, void* y, hipblasDatatype_t yType, int incy, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasAxpyEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasAxpyEx_v2(hipblasHandle_t handle, int n, const void* alpha, hipDataType alphaType, const void* x, hipDataType xType, int incx, void* y, hipDataType yType, int incy, hipDataType executionType); + // CHECK: blasStatus = hipblasAxpyEx_v2(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); blasStatus = cublasAxpyEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDotEx(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, const void* y, cudaDataType yType, int incy, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotEx(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, const void* y, hipblasDatatype_t yType, int incy, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasDotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotEx_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, const void* y, hipDataType yType, int incy, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasDotEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); blasStatus = cublasDotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDotcEx(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, const void* y, cudaDataType yType, int incy, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotcEx(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, const void* y, hipblasDatatype_t yType, int incy, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasDotcEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotcEx_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, const void* y, hipDataType yType, int incy, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasDotcEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); blasStatus = cublasDotcEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); #endif @@ -1588,8 +1588,8 @@ int main() { blasStatus = cublasGemmBatchedEx(blasHandle, transa, transb, m, n, k, aptr, voidAarray_const, Atype, lda, voidBarray_const, Btype, ldb, bptr, voidCarray, Ctype, ldc, batchCount, computeType, blasGemmAlgo); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasGemmStridedBatchedEx(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const void* alpha, const void* A, cudaDataType Atype, int lda, long long int strideA, const void* B, cudaDataType Btype, int ldb, long long int strideB, const void* beta, void* C, cudaDataType Ctype, int ldc, long long int strideC, int batchCount, cublasComputeType_t computeType, cublasGemmAlgo_t algo); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipblasDatatype_t aType, int lda, hipblasStride strideA, const void* B, hipblasDatatype_t bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipblasDatatype_t cType, int ldc, hipblasStride strideC, int batchCount, hipblasDatatype_t computeType, hipblasGemmAlgo_t algo); - // CHECK: blasStatus = hipblasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx_v2(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipDataType aType, int lda, hipblasStride strideA, const void* B, hipDataType bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipDataType cType, int ldc, hipblasStride strideC, int batchCount, hipblasComputeType_t computeType, hipblasGemmAlgo_t algo); + // CHECK: blasStatus = hipblasGemmStridedBatchedEx_v2(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); blasStatus = cublasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); #endif @@ -1601,8 +1601,8 @@ int main() { cublasFillMode_t BLAS_FILL_MODE_FULL = CUBLAS_FILL_MODE_FULL; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasRotEx(cublasHandle_t handle, int n, void* x, cudaDataType xType, int incx, void* y, cudaDataType yType, int incy, const void* c, const void* s, cudaDataType csType, cudaDataType executiontype); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasRotEx(hipblasHandle_t handle, int n, void* x, hipblasDatatype_t xType, int incx, void* y, hipblasDatatype_t yType, int incy, const void* c, const void* s, hipblasDatatype_t csType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasRotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasRotEx_v2(hipblasHandle_t handle, int n, void* x, hipDataType xType, int incx, void* y, hipDataType yType, int incy, const void* c, const void* s, hipDataType csType, hipDataType executionType); + // CHECK: blasStatus = hipblasRotEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); blasStatus = cublasRotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); #endif @@ -1626,8 +1626,8 @@ int main() { blasStatus = cublasGemmBatchedEx(blasHandle, transa, transb, m, n, k, aptr, voidAarray, Atype, lda, voidBarray, Btype, ldb, bptr, voidCarray, Ctype, ldc, batchCount, blasComputeType, blasGemmAlgo); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasGemmStridedBatchedEx(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const void* alpha, const void* A, cudaDataType Atype, int lda, long long int strideA, const void* B, cudaDataType Btype, int ldb, long long int strideB, const void* beta, void* C, cudaDataType Ctype, int ldc, long long int strideC, int batchCount, cublasComputeType_t computeType, cublasGemmAlgo_t algo); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipblasDatatype_t aType, int lda, hipblasStride strideA, const void* B, hipblasDatatype_t bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipblasDatatype_t cType, int ldc, hipblasStride strideC, int batchCount, hipblasDatatype_t computeType, hipblasGemmAlgo_t algo); - // CHECK: blasStatus = hipblasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx_v2(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipDataType aType, int lda, hipblasStride strideA, const void* B, hipDataType bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipDataType cType, int ldc, hipblasStride strideC, int batchCount, hipblasComputeType_t computeType, hipblasGemmAlgo_t algo); + // CHECK: blasStatus = hipblasGemmStridedBatchedEx_v2(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); blasStatus = cublasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); #endif diff --git a/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu b/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu index 7bce83a2..e9591036 100644 --- a/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu +++ b/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu @@ -1647,8 +1647,8 @@ int main() { cublasGemmAlgo_t BLAS_GEMM_DFALT = CUBLAS_GEMM_DFALT; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasNrm2Ex(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasNrm2Ex(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasNrm2Ex(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasNrm2Ex_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasNrm2Ex_v2(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); blasStatus = cublasNrm2Ex(blasHandle, n, image, DataType, incx, image_2, DataType_2, DataType_3); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasSgemmStridedBatched(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const float* alpha, const float* A, int lda, long long int strideA, const float* B, int ldb, long long int strideB, const float* beta, float* C, int ldc, long long int strideC, int batchCount); @@ -1701,23 +1701,23 @@ int main() { cudaDataType Executiontype; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasScalEx(cublasHandle_t handle, int n, const void* alpha, cudaDataType alphaType, void* x, cudaDataType xType, int incx, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasScalEx(hipblasHandle_t handle, int n, const void* alpha, hipblasDatatype_t alphaType, void* x, hipblasDatatype_t xType, int incx, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasScalEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasScalEx_v2(hipblasHandle_t handle, int n, const void* alpha, hipDataType alphaType, void* x, hipDataType xType, int incx, hipDataType executionType); + // CHECK: blasStatus = hipblasScalEx_v2(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); blasStatus = cublasScalEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasAxpyEx(cublasHandle_t handle, int n, const void* alpha, cudaDataType alphaType, const void* x, cudaDataType xType, int incx, void* y, cudaDataType yType, int incy, cudaDataType executiontype); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasAxpyEx(hipblasHandle_t handle, int n, const void* alpha, hipblasDatatype_t alphaType, const void* x, hipblasDatatype_t xType, int incx, void* y, hipblasDatatype_t yType, int incy, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasAxpyEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasAxpyEx_v2(hipblasHandle_t handle, int n, const void* alpha, hipDataType alphaType, const void* x, hipDataType xType, int incx, void* y, hipDataType yType, int incy, hipDataType executionType); + // CHECK: blasStatus = hipblasAxpyEx_v2(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); blasStatus = cublasAxpyEx(blasHandle, n, aptr, Atype, xptr, Xtype, incx, yptr, Ytype, incy, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDotEx(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, const void* y, cudaDataType yType, int incy, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotEx(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, const void* y, hipblasDatatype_t yType, int incy, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasDotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotEx_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, const void* y, hipDataType yType, int incy, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasDotEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); blasStatus = cublasDotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDotcEx(cublasHandle_t handle, int n, const void* x, cudaDataType xType, int incx, const void* y, cudaDataType yType, int incy, void* result, cudaDataType resultType, cudaDataType executionType); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotcEx(hipblasHandle_t handle, int n, const void* x, hipblasDatatype_t xType, int incx, const void* y, hipblasDatatype_t yType, int incy, void* result, hipblasDatatype_t resultType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasDotcEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDotcEx_v2(hipblasHandle_t handle, int n, const void* x, hipDataType xType, int incx, const void* y, hipDataType yType, int incy, void* result, hipDataType resultType, hipDataType executionType); + // CHECK: blasStatus = hipblasDotcEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); blasStatus = cublasDotcEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, image, DataType, Executiontype); #endif @@ -1743,8 +1743,8 @@ int main() { blasStatus = cublasGemmBatchedEx(blasHandle, transa, transb, m, n, k, aptr, voidAarray_const, Atype, lda, voidBarray_const, Btype, ldb, bptr, voidCarray, Ctype, ldc, batchCount, computeType, blasGemmAlgo); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasGemmStridedBatchedEx(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const void* alpha, const void* A, cudaDataType Atype, int lda, long long int strideA, const void* B, cudaDataType Btype, int ldb, long long int strideB, const void* beta, void* C, cudaDataType Ctype, int ldc, long long int strideC, int batchCount, cublasComputeType_t computeType, cublasGemmAlgo_t algo); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipblasDatatype_t aType, int lda, hipblasStride strideA, const void* B, hipblasDatatype_t bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipblasDatatype_t cType, int ldc, hipblasStride strideC, int batchCount, hipblasDatatype_t computeType, hipblasGemmAlgo_t algo); - // CHECK: blasStatus = hipblasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx_v2(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipDataType aType, int lda, hipblasStride strideA, const void* B, hipDataType bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipDataType cType, int ldc, hipblasStride strideC, int batchCount, hipblasComputeType_t computeType, hipblasGemmAlgo_t algo); + // CHECK: blasStatus = hipblasGemmStridedBatchedEx_v2(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); blasStatus = cublasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, computeType, blasGemmAlgo); #endif @@ -1756,8 +1756,8 @@ int main() { cublasFillMode_t BLAS_FILL_MODE_FULL = CUBLAS_FILL_MODE_FULL; // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasRotEx(cublasHandle_t handle, int n, void* x, cudaDataType xType, int incx, void* y, cudaDataType yType, int incy, const void* c, const void* s, cudaDataType csType, cudaDataType executiontype); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasRotEx(hipblasHandle_t handle, int n, void* x, hipblasDatatype_t xType, int incx, void* y, hipblasDatatype_t yType, int incy, const void* c, const void* s, hipblasDatatype_t csType, hipblasDatatype_t executionType); - // CHECK: blasStatus = hipblasRotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasRotEx_v2(hipblasHandle_t handle, int n, void* x, hipDataType xType, int incx, void* y, hipDataType yType, int incy, const void* c, const void* s, hipDataType csType, hipDataType executionType); + // CHECK: blasStatus = hipblasRotEx_v2(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); blasStatus = cublasRotEx(blasHandle, n, xptr, Xtype, incx, yptr, Ytype, incy, cptr, sptr, CStype, Executiontype); #endif @@ -1781,8 +1781,8 @@ int main() { blasStatus = cublasGemmBatchedEx(blasHandle, transa, transb, m, n, k, aptr, voidAarray, Atype, lda, voidBarray, Btype, ldb, bptr, voidCarray, Ctype, ldc, batchCount, blasComputeType, blasGemmAlgo); // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasGemmStridedBatchedEx(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const void* alpha, const void* A, cudaDataType Atype, int lda, long long int strideA, const void* B, cudaDataType Btype, int ldb, long long int strideB, const void* beta, void* C, cudaDataType Ctype, int ldc, long long int strideC, int batchCount, cublasComputeType_t computeType, cublasGemmAlgo_t algo); - // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipblasDatatype_t aType, int lda, hipblasStride strideA, const void* B, hipblasDatatype_t bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipblasDatatype_t cType, int ldc, hipblasStride strideC, int batchCount, hipblasDatatype_t computeType, hipblasGemmAlgo_t algo); - // CHECK: blasStatus = hipblasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasGemmStridedBatchedEx_v2(hipblasHandle_t handle, hipblasOperation_t transA, hipblasOperation_t transB, int m, int n, int k, const void* alpha, const void* A, hipDataType aType, int lda, hipblasStride strideA, const void* B, hipDataType bType, int ldb, hipblasStride strideB, const void* beta, void* C, hipDataType cType, int ldc, hipblasStride strideC, int batchCount, hipblasComputeType_t computeType, hipblasGemmAlgo_t algo); + // CHECK: blasStatus = hipblasGemmStridedBatchedEx_v2(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); blasStatus = cublasGemmStridedBatchedEx(blasHandle, transa, transb, m, n, k, aptr, Aptr, Atype, lda, strideA, Bptr, Btype, ldb, strideB, bptr, Cptr, Ctype, ldc, strideC, batchCount, blasComputeType, blasGemmAlgo); #endif