diff --git a/bin/hipify-perl b/bin/hipify-perl index c8e7a7f8..9a932397 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -1444,6 +1444,8 @@ my %experimental_funcs = ( "cudaDriverEntryPointSymbolNotFound" => "6.2.0", "cudaDriverEntryPointSuccess" => "6.2.0", "cudaDriverEntryPointQueryResult" => "6.2.0", + "cublasZtrsv_v2_64" => "6.2.0", + "cublasZtrsv_64" => "6.2.0", "cublasZtrmv_v2_64" => "6.2.0", "cublasZtrmv_64" => "6.2.0", "cublasZtpsv_v2_64" => "6.2.0", @@ -1457,6 +1459,8 @@ my %experimental_funcs = ( "cublasZgemvBatched_64" => "6.2.0", "cublasZgbmv_v2_64" => "6.2.0", "cublasZgbmv_64" => "6.2.0", + "cublasStrsv_v2_64" => "6.2.0", + "cublasStrsv_64" => "6.2.0", "cublasStrmv_v2_64" => "6.2.0", "cublasStrmv_64" => "6.2.0", "cublasStpsv_v2_64" => "6.2.0", @@ -1470,6 +1474,8 @@ my %experimental_funcs = ( "cublasSgemvBatched_64" => "6.2.0", "cublasSgbmv_v2_64" => "6.2.0", "cublasSgbmv_64" => "6.2.0", + "cublasDtrsv_v2_64" => "6.2.0", + "cublasDtrsv_64" => "6.2.0", "cublasDtrmv_v2_64" => "6.2.0", "cublasDtrmv_64" => "6.2.0", "cublasDtpsv_v2_64" => "6.2.0", @@ -1483,6 +1489,8 @@ my %experimental_funcs = ( "cublasDgemvBatched_64" => "6.2.0", "cublasDgbmv_v2_64" => "6.2.0", "cublasDgbmv_64" => "6.2.0", + "cublasCtrsv_v2_64" => "6.2.0", + "cublasCtrsv_64" => "6.2.0", "cublasCtrmv_v2_64" => "6.2.0", "cublasCtrmv_64" => "6.2.0", "cublasCtpsv_v2_64" => "6.2.0", @@ -1709,6 +1717,8 @@ sub experimentalSubstitutions { subst("cublasCtpsv_v2_64", "hipblasCtpsv_v2_64", "library"); subst("cublasCtrmv_64", "hipblasCtrmv_v2_64", "library"); subst("cublasCtrmv_v2_64", "hipblasCtrmv_v2_64", "library"); + subst("cublasCtrsv_64", "hipblasCtrsv_v2_64", "library"); + subst("cublasCtrsv_v2_64", "hipblasCtrsv_v2_64", "library"); subst("cublasDgbmv_64", "hipblasDgbmv_64", "library"); subst("cublasDgbmv_v2_64", "hipblasDgbmv_64", "library"); subst("cublasDgemvBatched_64", "hipblasDgemvBatched_64", "library"); @@ -1722,6 +1732,8 @@ sub experimentalSubstitutions { subst("cublasDtpsv_v2_64", "hipblasDtpsv_64", "library"); subst("cublasDtrmv_64", "hipblasDtrmv_64", "library"); subst("cublasDtrmv_v2_64", "hipblasDtrmv_64", "library"); + subst("cublasDtrsv_64", "hipblasDtrsv_64", "library"); + subst("cublasDtrsv_v2_64", "hipblasDtrsv_64", "library"); subst("cublasSgbmv_64", "hipblasSgbmv_64", "library"); subst("cublasSgbmv_v2_64", "hipblasSgbmv_64", "library"); subst("cublasSgemvBatched_64", "hipblasSgemvBatched_64", "library"); @@ -1735,6 +1747,8 @@ sub experimentalSubstitutions { subst("cublasStpsv_v2_64", "hipblasStpsv_64", "library"); subst("cublasStrmv_64", "hipblasStrmv_64", "library"); subst("cublasStrmv_v2_64", "hipblasStrmv_64", "library"); + subst("cublasStrsv_64", "hipblasStrsv_64", "library"); + subst("cublasStrsv_v2_64", "hipblasStrsv_64", "library"); subst("cublasZgbmv_64", "hipblasZgbmv_v2_64", "library"); subst("cublasZgbmv_v2_64", "hipblasZgbmv_v2_64", "library"); subst("cublasZgemvBatched_64", "hipblasZgemvBatched_v2_64", "library"); @@ -1748,6 +1762,8 @@ sub experimentalSubstitutions { subst("cublasZtpsv_v2_64", "hipblasZtpsv_v2_64", "library"); subst("cublasZtrmv_64", "hipblasZtrmv_v2_64", "library"); subst("cublasZtrmv_v2_64", "hipblasZtrmv_v2_64", "library"); + subst("cublasZtrsv_64", "hipblasZtrsv_v2_64", "library"); + subst("cublasZtrsv_v2_64", "hipblasZtrsv_v2_64", "library"); subst("curandSetGeneratorOrdering", "hiprandSetGeneratorOrdering", "library"); subst("cusolverDnCreateParams", "hipsolverDnCreateParams", "library"); subst("cusolverDnDestroyParams", "hipsolverDnDestroyParams", "library"); @@ -11574,8 +11590,6 @@ sub warnHipOnlyUnsupportedFunctions { my $k = 0; foreach $func ( "cublasZtrttp", - "cublasZtrsv_v2_64", - "cublasZtrsv_64", "cublasZtrsm_v2_64", "cublasZtrsm_64", "cublasZtrsmBatched_64", @@ -11618,8 +11632,6 @@ sub warnHipOnlyUnsupportedFunctions { "cublasSwapEx_64", "cublasSwapEx", "cublasStrttp", - "cublasStrsv_v2_64", - "cublasStrsv_64", "cublasStrsm_v2_64", "cublasStrsm_64", "cublasStrsmBatched_64", @@ -11734,8 +11746,6 @@ sub warnHipOnlyUnsupportedFunctions { "cublasGemmBatchedEx_64", "cublasFree", "cublasDtrttp", - "cublasDtrsv_v2_64", - "cublasDtrsv_64", "cublasDtrsm_v2_64", "cublasDtrsm_64", "cublasDtrsmBatched_64", @@ -11761,8 +11771,6 @@ sub warnHipOnlyUnsupportedFunctions { "cublasDgeam_64", "cublasDdgmm_64", "cublasCtrttp", - "cublasCtrsv_v2_64", - "cublasCtrsv_64", "cublasCtrsm_v2_64", "cublasCtrsm_64", "cublasCtrsmBatched_64", diff --git a/docs/tables/CUBLAS_API_supported_by_HIP.md b/docs/tables/CUBLAS_API_supported_by_HIP.md index 4853592d..5b1e9c4b 100644 --- a/docs/tables/CUBLAS_API_supported_by_HIP.md +++ b/docs/tables/CUBLAS_API_supported_by_HIP.md @@ -799,9 +799,9 @@ |`cublasCtrmv_v2`| | | | |`hipblasCtrmv_v2`|6.0.0| | | | | |`cublasCtrmv_v2_64`|12.0| | | |`hipblasCtrmv_v2_64`|6.2.0| | | |6.2.0| |`cublasCtrsv`| | | | |`hipblasCtrsv_v2`|6.0.0| | | | | -|`cublasCtrsv_64`|12.0| | | | | | | | | | +|`cublasCtrsv_64`|12.0| | | |`hipblasCtrsv_v2_64`|6.2.0| | | |6.2.0| |`cublasCtrsv_v2`| | | | |`hipblasCtrsv_v2`|6.0.0| | | | | -|`cublasCtrsv_v2_64`|12.0| | | | | | | | | | +|`cublasCtrsv_v2_64`|12.0| | | |`hipblasCtrsv_v2_64`|6.2.0| | | |6.2.0| |`cublasDgbmv`| | | | |`hipblasDgbmv`|3.5.0| | | | | |`cublasDgbmv_64`|12.0| | | |`hipblasDgbmv_64`|6.2.0| | | |6.2.0| |`cublasDgbmv_v2`| | | | |`hipblasDgbmv`|3.5.0| | | | | @@ -863,9 +863,9 @@ |`cublasDtrmv_v2`| | | | |`hipblasDtrmv`|3.5.0| | | | | |`cublasDtrmv_v2_64`|12.0| | | |`hipblasDtrmv_64`|6.2.0| | | |6.2.0| |`cublasDtrsv`| | | | |`hipblasDtrsv`|3.0.0| | | | | -|`cublasDtrsv_64`|12.0| | | | | | | | | | +|`cublasDtrsv_64`|12.0| | | |`hipblasDtrsv_64`|6.2.0| | | |6.2.0| |`cublasDtrsv_v2`| | | | |`hipblasDtrsv`|3.0.0| | | | | -|`cublasDtrsv_v2_64`|12.0| | | | | | | | | | +|`cublasDtrsv_v2_64`|12.0| | | |`hipblasDtrsv_64`|6.2.0| | | |6.2.0| |`cublasSgbmv`| | | | |`hipblasSgbmv`|3.5.0| | | | | |`cublasSgbmv_64`|12.0| | | |`hipblasSgbmv_64`|6.2.0| | | |6.2.0| |`cublasSgbmv_v2`| | | | |`hipblasSgbmv`|3.5.0| | | | | @@ -927,9 +927,9 @@ |`cublasStrmv_v2`| | | | |`hipblasStrmv`|3.5.0| | | | | |`cublasStrmv_v2_64`|12.0| | | |`hipblasStrmv_64`|6.2.0| | | |6.2.0| |`cublasStrsv`| | | | |`hipblasStrsv`|3.0.0| | | | | -|`cublasStrsv_64`|12.0| | | | | | | | | | +|`cublasStrsv_64`|12.0| | | |`hipblasStrsv_64`|6.2.0| | | |6.2.0| |`cublasStrsv_v2`| | | | |`hipblasStrsv`|3.0.0| | | | | -|`cublasStrsv_v2_64`|12.0| | | | | | | | | | +|`cublasStrsv_v2_64`|12.0| | | |`hipblasStrsv_64`|6.2.0| | | |6.2.0| |`cublasZgbmv`| | | | |`hipblasZgbmv_v2`|6.0.0| | | | | |`cublasZgbmv_64`|12.0| | | |`hipblasZgbmv_v2_64`|6.2.0| | | |6.2.0| |`cublasZgbmv_v2`| | | | |`hipblasZgbmv_v2`|6.0.0| | | | | @@ -1007,9 +1007,9 @@ |`cublasZtrmv_v2`| | | | |`hipblasZtrmv_v2`|6.0.0| | | | | |`cublasZtrmv_v2_64`|12.0| | | |`hipblasZtrmv_v2_64`|6.2.0| | | |6.2.0| |`cublasZtrsv`| | | | |`hipblasZtrsv_v2`|6.0.0| | | | | -|`cublasZtrsv_64`|12.0| | | | | | | | | | +|`cublasZtrsv_64`|12.0| | | |`hipblasZtrsv_v2_64`|6.2.0| | | |6.2.0| |`cublasZtrsv_v2`| | | | |`hipblasZtrsv_v2`|6.0.0| | | | | -|`cublasZtrsv_v2_64`|12.0| | | | | | | | | | +|`cublasZtrsv_v2_64`|12.0| | | |`hipblasZtrsv_v2_64`|6.2.0| | | |6.2.0| ## **7. CUBLAS Level-3 Function Reference** 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 58d569fe..c5df3fab 100644 --- a/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md +++ b/docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md @@ -799,9 +799,9 @@ |`cublasCtrmv_v2`| | | | |`hipblasCtrmv_v2`|6.0.0| | | | |`rocblas_ctrmv`|3.5.0| | | | | |`cublasCtrmv_v2_64`|12.0| | | |`hipblasCtrmv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasCtrsv`| | | | |`hipblasCtrsv_v2`|6.0.0| | | | |`rocblas_ctrsv`|3.5.0| | | | | -|`cublasCtrsv_64`|12.0| | | | | | | | | | | | | | | | +|`cublasCtrsv_64`|12.0| | | |`hipblasCtrsv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasCtrsv_v2`| | | | |`hipblasCtrsv_v2`|6.0.0| | | | |`rocblas_ctrsv`|3.5.0| | | | | -|`cublasCtrsv_v2_64`|12.0| | | | | | | | | | | | | | | | +|`cublasCtrsv_v2_64`|12.0| | | |`hipblasCtrsv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasDgbmv`| | | | |`hipblasDgbmv`|3.5.0| | | | |`rocblas_dgbmv`|3.5.0| | | | | |`cublasDgbmv_64`|12.0| | | |`hipblasDgbmv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasDgbmv_v2`| | | | |`hipblasDgbmv`|3.5.0| | | | |`rocblas_dgbmv`|3.5.0| | | | | @@ -863,9 +863,9 @@ |`cublasDtrmv_v2`| | | | |`hipblasDtrmv`|3.5.0| | | | |`rocblas_dtrmv`|3.5.0| | | | | |`cublasDtrmv_v2_64`|12.0| | | |`hipblasDtrmv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasDtrsv`| | | | |`hipblasDtrsv`|3.0.0| | | | |`rocblas_dtrsv`|3.5.0| | | | | -|`cublasDtrsv_64`|12.0| | | | | | | | | | | | | | | | +|`cublasDtrsv_64`|12.0| | | |`hipblasDtrsv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasDtrsv_v2`| | | | |`hipblasDtrsv`|3.0.0| | | | |`rocblas_dtrsv`|3.5.0| | | | | -|`cublasDtrsv_v2_64`|12.0| | | | | | | | | | | | | | | | +|`cublasDtrsv_v2_64`|12.0| | | |`hipblasDtrsv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasSgbmv`| | | | |`hipblasSgbmv`|3.5.0| | | | |`rocblas_sgbmv`|3.5.0| | | | | |`cublasSgbmv_64`|12.0| | | |`hipblasSgbmv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasSgbmv_v2`| | | | |`hipblasSgbmv`|3.5.0| | | | |`rocblas_sgbmv`|3.5.0| | | | | @@ -927,9 +927,9 @@ |`cublasStrmv_v2`| | | | |`hipblasStrmv`|3.5.0| | | | |`rocblas_strmv`|3.5.0| | | | | |`cublasStrmv_v2_64`|12.0| | | |`hipblasStrmv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasStrsv`| | | | |`hipblasStrsv`|3.0.0| | | | |`rocblas_strsv`|3.5.0| | | | | -|`cublasStrsv_64`|12.0| | | | | | | | | | | | | | | | +|`cublasStrsv_64`|12.0| | | |`hipblasStrsv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasStrsv_v2`| | | | |`hipblasStrsv`|3.0.0| | | | |`rocblas_strsv`|3.5.0| | | | | -|`cublasStrsv_v2_64`|12.0| | | | | | | | | | | | | | | | +|`cublasStrsv_v2_64`|12.0| | | |`hipblasStrsv_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasZgbmv`| | | | |`hipblasZgbmv_v2`|6.0.0| | | | |`rocblas_zgbmv`|3.5.0| | | | | |`cublasZgbmv_64`|12.0| | | |`hipblasZgbmv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasZgbmv_v2`| | | | |`hipblasZgbmv_v2`|6.0.0| | | | |`rocblas_zgbmv`|3.5.0| | | | | @@ -1007,9 +1007,9 @@ |`cublasZtrmv_v2`| | | | |`hipblasZtrmv_v2`|6.0.0| | | | |`rocblas_ztrmv`|3.5.0| | | | | |`cublasZtrmv_v2_64`|12.0| | | |`hipblasZtrmv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasZtrsv`| | | | |`hipblasZtrsv_v2`|6.0.0| | | | |`rocblas_ztrsv`|3.5.0| | | | | -|`cublasZtrsv_64`|12.0| | | | | | | | | | | | | | | | +|`cublasZtrsv_64`|12.0| | | |`hipblasZtrsv_v2_64`|6.2.0| | | |6.2.0| | | | | | | |`cublasZtrsv_v2`| | | | |`hipblasZtrsv_v2`|6.0.0| | | | |`rocblas_ztrsv`|3.5.0| | | | | -|`cublasZtrsv_v2_64`|12.0| | | | | | | | | | | | | | | | +|`cublasZtrsv_v2_64`|12.0| | | |`hipblasZtrsv_v2_64`|6.2.0| | | |6.2.0| | | | | | | ## **7. CUBLAS Level-3 Function Reference** diff --git a/src/CUDA2HIP_BLAS_API_functions.cpp b/src/CUDA2HIP_BLAS_API_functions.cpp index 2a134e9f..0f070b06 100644 --- a/src/CUDA2HIP_BLAS_API_functions.cpp +++ b/src/CUDA2HIP_BLAS_API_functions.cpp @@ -272,13 +272,13 @@ const std::map CUDA_BLAS_FUNCTION_MAP { // TRSV {"cublasStrsv", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasStrsv_64", {"hipblasStrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasStrsv_64", {"hipblasStrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDtrsv", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasDtrsv_64", {"hipblasDtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasDtrsv_64", {"hipblasDtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCtrsv", {"hipblasCtrsv_v2", "rocblas_ctrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasCtrsv_64", {"hipblasCtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasCtrsv_64", {"hipblasCtrsv_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZtrsv", {"hipblasZtrsv_v2", "rocblas_ztrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasZtrsv_64", {"hipblasZtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasZtrsv_64", {"hipblasZtrsv_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // TPSV {"cublasStpsv", {"hipblasStpsv", "rocblas_stpsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, @@ -690,13 +690,13 @@ const std::map CUDA_BLAS_FUNCTION_MAP { // TRSV {"cublasStrsv_v2", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasStrsv_v2_64", {"hipblasStrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasStrsv_v2_64", {"hipblasStrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDtrsv_v2", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasDtrsv_v2_64", {"hipblasDtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasDtrsv_v2_64", {"hipblasDtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCtrsv_v2", {"hipblasCtrsv_v2", "rocblas_ctrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasCtrsv_v2_64", {"hipblasCtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasCtrsv_v2_64", {"hipblasCtrsv_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZtrsv_v2", {"hipblasZtrsv_v2", "rocblas_ztrsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasZtrsv_v2_64", {"hipblasZtrsv_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, UNSUPPORTED}}, + {"cublasZtrsv_v2_64", {"hipblasZtrsv_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // TPSV {"cublasStpsv_v2", {"hipblasStpsv", "rocblas_stpsv", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, @@ -2132,6 +2132,10 @@ const std::map HIP_BLAS_FUNCTION_VER_MAP { {"hipblasDtrmv_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, {"hipblasCtrmv_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, {"hipblasZtrmv_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasStrsv_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasDtrsv_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasCtrsv_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, + {"hipblasZtrsv_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}}, {"rocblas_status_to_string", {HIP_3050, HIP_0, HIP_0 }}, {"rocblas_sscal", {HIP_1050, HIP_0, HIP_0 }}, diff --git a/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu b/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu index e6d1cfe6..af82046e 100644 --- a/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu +++ b/tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu @@ -2754,6 +2754,34 @@ int main() { // CHECK-NEXT: blasStatus = hipblasZtrmv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); blasStatus = cublasZtrmv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); blasStatus = cublasZtrmv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); + + // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasStrsv_v2_64(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t n, const float* A, int64_t lda, float* x, int64_t incx); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasStrsv_64(hipblasHandle_t handle, hipblasFillMode_t uplo, hipblasOperation_t transA, hipblasDiagType_t diag, int64_t n, const float* AP, int64_t lda, float* x, int64_t incx); + // CHECK: blasStatus = hipblasStrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &fA, lda_64, &fx, incx_64); + // CHECK-NEXT: blasStatus = hipblasStrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &fA, lda_64, &fx, incx_64); + blasStatus = cublasStrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &fA, lda_64, &fx, incx_64); + blasStatus = cublasStrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &fA, lda_64, &fx, incx_64); + + // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDtrsv_v2_64(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t n, const double* A, int64_t lda, double* x, int64_t incx); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDtrsv_64(hipblasHandle_t handle, hipblasFillMode_t uplo, hipblasOperation_t transA, hipblasDiagType_t diag, int64_t n, const double* AP, int64_t lda, double* x, int64_t incx); + // CHECK: blasStatus = hipblasDtrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dA, lda_64, &dx, incx_64); + // CHECK-NEXT: blasStatus = hipblasDtrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dA, lda_64, &dx, incx_64); + blasStatus = cublasDtrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dA, lda_64, &dx, incx_64); + blasStatus = cublasDtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dA, lda_64, &dx, incx_64); + + // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasCtrsv_v2_64(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t n, const cuComplex* A, int64_t lda, cuComplex* x, int64_t incx); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasCtrsv_v2_64(hipblasHandle_t handle, hipblasFillMode_t uplo, hipblasOperation_t transA, hipblasDiagType_t diag, int64_t n, const hipComplex* AP, int64_t lda, hipComplex* x, int64_t incx); + // CHECK: blasStatus = hipblasCtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &complexA, lda_64, &complexx, incx_64); + // CHECK-NEXT: blasStatus = hipblasCtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &complexA, lda_64, &complexx, incx_64); + blasStatus = cublasCtrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &complexA, lda_64, &complexx, incx_64); + blasStatus = cublasCtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &complexA, lda_64, &complexx, incx_64); + + // CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasZtrsv_v2_64(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int64_t n, const cuDoubleComplex* A, int64_t lda, cuDoubleComplex* x, int64_t incx); + // HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasZtrsv_v2_64(hipblasHandle_t handle, hipblasFillMode_t uplo, hipblasOperation_t transA, hipblasDiagType_t diag, int64_t n, const hipDoubleComplex* AP, int64_t lda, hipDoubleComplex* x, int64_t incx); + // CHECK: blasStatus = hipblasZtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); + // CHECK-NEXT: blasStatus = hipblasZtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); + blasStatus = cublasZtrsv_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); + blasStatus = cublasZtrsv_v2_64(blasHandle, blasFillMode, blasOperation, blasDiagType, n_64, &dcomplexA, lda_64, &dcomplexx, incx_64); #endif return 0;