diff --git a/bin/hipify-perl b/bin/hipify-perl index b8c9c2e3..ef1e967f 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -1456,14 +1456,22 @@ my %experimental_funcs = ( "cublasZtbsv_64" => "6.2.0", "cublasZtbmv_v2_64" => "6.2.0", "cublasZtbmv_64" => "6.2.0", + "cublasZsyr_v2_64" => "6.2.0", + "cublasZsyr_64" => "6.2.0", "cublasZsymv_v2_64" => "6.2.0", "cublasZsymv_64" => "6.2.0", "cublasZhpmv_v2_64" => "6.2.0", "cublasZhpmv_64" => "6.2.0", + "cublasZher_v2_64" => "6.2.0", + "cublasZher_64" => "6.2.0", "cublasZhemv_v2_64" => "6.2.0", "cublasZhemv_64" => "6.2.0", "cublasZhbmv_v2_64" => "6.2.0", "cublasZhbmv_64" => "6.2.0", + "cublasZgeru_v2_64" => "6.2.0", + "cublasZgeru_64" => "6.2.0", + "cublasZgerc_v2_64" => "6.2.0", + "cublasZgerc_64" => "6.2.0", "cublasZgemv_v2_64" => "6.2.0", "cublasZgemv_64" => "6.2.0", "cublasZgemvBatched_64" => "6.2.0", @@ -1481,12 +1489,16 @@ my %experimental_funcs = ( "cublasStbsv_64" => "6.2.0", "cublasStbmv_v2_64" => "6.2.0", "cublasStbmv_64" => "6.2.0", + "cublasSsyr_v2_64" => "6.2.0", + "cublasSsyr_64" => "6.2.0", "cublasSsymv_v2_64" => "6.2.0", "cublasSsymv_64" => "6.2.0", "cublasSspmv_v2_64" => "6.2.0", "cublasSspmv_64" => "6.2.0", "cublasSsbmv_v2_64" => "6.2.0", "cublasSsbmv_64" => "6.2.0", + "cublasSger_v2_64" => "6.2.0", + "cublasSger_64" => "6.2.0", "cublasSgemv_v2_64" => "6.2.0", "cublasSgemv_64" => "6.2.0", "cublasSgemvBatched_64" => "6.2.0", @@ -1504,12 +1516,16 @@ my %experimental_funcs = ( "cublasDtbsv_64" => "6.2.0", "cublasDtbmv_v2_64" => "6.2.0", "cublasDtbmv_64" => "6.2.0", + "cublasDsyr_v2_64" => "6.2.0", + "cublasDsyr_64" => "6.2.0", "cublasDsymv_v2_64" => "6.2.0", "cublasDsymv_64" => "6.2.0", "cublasDspmv_v2_64" => "6.2.0", "cublasDspmv_64" => "6.2.0", "cublasDsbmv_v2_64" => "6.2.0", "cublasDsbmv_64" => "6.2.0", + "cublasDger_v2_64" => "6.2.0", + "cublasDger_64" => "6.2.0", "cublasDgemv_v2_64" => "6.2.0", "cublasDgemv_64" => "6.2.0", "cublasDgemvBatched_64" => "6.2.0", @@ -1527,14 +1543,22 @@ my %experimental_funcs = ( "cublasCtbsv_64" => "6.2.0", "cublasCtbmv_v2_64" => "6.2.0", "cublasCtbmv_64" => "6.2.0", + "cublasCsyr_v2_64" => "6.2.0", + "cublasCsyr_64" => "6.2.0", "cublasCsymv_v2_64" => "6.2.0", "cublasCsymv_64" => "6.2.0", "cublasChpmv_v2_64" => "6.2.0", "cublasChpmv_64" => "6.2.0", + "cublasCher_v2_64" => "6.2.0", + "cublasCher_64" => "6.2.0", "cublasChemv_v2_64" => "6.2.0", "cublasChemv_64" => "6.2.0", "cublasChbmv_v2_64" => "6.2.0", "cublasChbmv_64" => "6.2.0", + "cublasCgeru_v2_64" => "6.2.0", + "cublasCgeru_64" => "6.2.0", + "cublasCgerc_v2_64" => "6.2.0", + "cublasCgerc_64" => "6.2.0", "cublasCgemv_v2_64" => "6.2.0", "cublasCgemv_64" => "6.2.0", "cublasCgemvBatched_64" => "6.2.0", @@ -1745,14 +1769,22 @@ sub experimentalSubstitutions { subst("cublasCgemvBatched_64", "hipblasCgemvBatched_v2_64", "library"); subst("cublasCgemv_64", "hipblasCgemv_v2_64", "library"); subst("cublasCgemv_v2_64", "hipblasCgemv_v2_64", "library"); + subst("cublasCgerc_64", "hipblasCgerc_v2_64", "library"); + subst("cublasCgerc_v2_64", "hipblasCgerc_v2_64", "library"); + subst("cublasCgeru_64", "hipblasCgeru_v2_64", "library"); + subst("cublasCgeru_v2_64", "hipblasCgeru_v2_64", "library"); subst("cublasChbmv_64", "hipblasChbmv_v2_64", "library"); subst("cublasChbmv_v2_64", "hipblasChbmv_v2_64", "library"); subst("cublasChemv_64", "hipblasChemv_v2_64", "library"); subst("cublasChemv_v2_64", "hipblasChemv_v2_64", "library"); + subst("cublasCher_64", "hipblasCher_v2_64", "library"); + subst("cublasCher_v2_64", "hipblasCher_v2_64", "library"); subst("cublasChpmv_64", "hipblasChpmv_v2_64", "library"); subst("cublasChpmv_v2_64", "hipblasChpmv_v2_64", "library"); subst("cublasCsymv_64", "hipblasCsymv_v2_64", "library"); subst("cublasCsymv_v2_64", "hipblasCsymv_v2_64", "library"); + subst("cublasCsyr_64", "hipblasCsyr_v2_64", "library"); + subst("cublasCsyr_v2_64", "hipblasCsyr_v2_64", "library"); subst("cublasCtbmv_64", "hipblasCtbmv_v2_64", "library"); subst("cublasCtbmv_v2_64", "hipblasCtbmv_v2_64", "library"); subst("cublasCtbsv_64", "hipblasCtbsv_v2_64", "library"); @@ -1770,12 +1802,16 @@ sub experimentalSubstitutions { subst("cublasDgemvBatched_64", "hipblasDgemvBatched_64", "library"); subst("cublasDgemv_64", "hipblasDgemv_64", "library"); subst("cublasDgemv_v2_64", "hipblasDgemv_64", "library"); + subst("cublasDger_64", "hipblasDger_64", "library"); + subst("cublasDger_v2_64", "hipblasDger_64", "library"); subst("cublasDsbmv_64", "hipblasDsbmv_64", "library"); subst("cublasDsbmv_v2_64", "hipblasDsbmv_64", "library"); subst("cublasDspmv_64", "hipblasDspmv_64", "library"); subst("cublasDspmv_v2_64", "hipblasDspmv_64", "library"); subst("cublasDsymv_64", "hipblasDsymv_64", "library"); subst("cublasDsymv_v2_64", "hipblasDsymv_64", "library"); + subst("cublasDsyr_64", "hipblasDsyr_64", "library"); + subst("cublasDsyr_v2_64", "hipblasDsyr_64", "library"); subst("cublasDtbmv_64", "hipblasDtbmv_64", "library"); subst("cublasDtbmv_v2_64", "hipblasDtbmv_64", "library"); subst("cublasDtbsv_64", "hipblasDtbsv_64", "library"); @@ -1793,12 +1829,16 @@ sub experimentalSubstitutions { subst("cublasSgemvBatched_64", "hipblasSgemvBatched_64", "library"); subst("cublasSgemv_64", "hipblasSgemv_64", "library"); subst("cublasSgemv_v2_64", "hipblasSgemv_64", "library"); + subst("cublasSger_64", "hipblasSger_64", "library"); + subst("cublasSger_v2_64", "hipblasSger_64", "library"); subst("cublasSsbmv_64", "hipblasSsbmv_64", "library"); subst("cublasSsbmv_v2_64", "hipblasSsbmv_64", "library"); subst("cublasSspmv_64", "hipblasSspmv_64", "library"); subst("cublasSspmv_v2_64", "hipblasSspmv_64", "library"); subst("cublasSsymv_64", "hipblasSsymv_64", "library"); subst("cublasSsymv_v2_64", "hipblasSsymv_64", "library"); + subst("cublasSsyr_64", "hipblasSsyr_64", "library"); + subst("cublasSsyr_v2_64", "hipblasSsyr_64", "library"); subst("cublasStbmv_64", "hipblasStbmv_64", "library"); subst("cublasStbmv_v2_64", "hipblasStbmv_64", "library"); subst("cublasStbsv_64", "hipblasStbsv_64", "library"); @@ -1816,14 +1856,22 @@ sub experimentalSubstitutions { subst("cublasZgemvBatched_64", "hipblasZgemvBatched_v2_64", "library"); subst("cublasZgemv_64", "hipblasZgemv_v2_64", "library"); subst("cublasZgemv_v2_64", "hipblasZgemv_v2_64", "library"); + subst("cublasZgerc_64", "hipblasZgerc_v2_64", "library"); + subst("cublasZgerc_v2_64", "hipblasZgerc_v2_64", "library"); + subst("cublasZgeru_64", "hipblasZgeru_v2_64", "library"); + subst("cublasZgeru_v2_64", "hipblasZgeru_v2_64", "library"); subst("cublasZhbmv_64", "hipblasZhbmv_v2_64", "library"); subst("cublasZhbmv_v2_64", "hipblasZhbmv_v2_64", "library"); subst("cublasZhemv_64", "hipblasZhemv_v2_64", "library"); subst("cublasZhemv_v2_64", "hipblasZhemv_v2_64", "library"); + subst("cublasZher_64", "hipblasZher_v2_64", "library"); + subst("cublasZher_v2_64", "hipblasZher_v2_64", "library"); subst("cublasZhpmv_64", "hipblasZhpmv_v2_64", "library"); subst("cublasZhpmv_v2_64", "hipblasZhpmv_v2_64", "library"); subst("cublasZsymv_64", "hipblasZsymv_v2_64", "library"); subst("cublasZsymv_v2_64", "hipblasZsymv_v2_64", "library"); + subst("cublasZsyr_64", "hipblasZsyr_v2_64", "library"); + subst("cublasZsyr_v2_64", "hipblasZsyr_v2_64", "library"); subst("cublasZtbmv_64", "hipblasZtbmv_v2_64", "library"); subst("cublasZtbmv_v2_64", "hipblasZtbmv_v2_64", "library"); subst("cublasZtbsv_64", "hipblasZtbsv_v2_64", "library"); @@ -3965,13 +4013,9 @@ sub simpleSubstitutions { subst("cublasCgemv_v2", "hipblasCgemv_v2", "library"); subst("cublasCgeqrfBatched", "hipblasCgeqrfBatched_v2", "library"); subst("cublasCgerc", "hipblasCgerc_v2", "library"); - subst("cublasCgerc_64", "hipblasCgerc_v2_64", "library"); subst("cublasCgerc_v2", "hipblasCgerc_v2", "library"); - subst("cublasCgerc_v2_64", "hipblasCgerc_v2_64", "library"); subst("cublasCgeru", "hipblasCgeru_v2", "library"); - subst("cublasCgeru_64", "hipblasCgeru_v2_64", "library"); subst("cublasCgeru_v2", "hipblasCgeru_v2", "library"); - subst("cublasCgeru_v2_64", "hipblasCgeru_v2_64", "library"); subst("cublasCgetrfBatched", "hipblasCgetrfBatched_v2", "library"); subst("cublasCgetriBatched", "hipblasCgetriBatched_v2", "library"); subst("cublasCgetrsBatched", "hipblasCgetrsBatched_v2", "library"); @@ -3988,9 +4032,7 @@ sub simpleSubstitutions { subst("cublasCher2_v2_64", "hipblasCher2_v2_64", "library"); subst("cublasCher2k", "hipblasCher2k_v2", "library"); subst("cublasCher2k_v2", "hipblasCher2k_v2", "library"); - subst("cublasCher_64", "hipblasCher_v2_64", "library"); subst("cublasCher_v2", "hipblasCher_v2", "library"); - subst("cublasCher_v2_64", "hipblasCher_v2_64", "library"); subst("cublasCherk", "hipblasCherk_v2", "library"); subst("cublasCherk_v2", "hipblasCherk_v2", "library"); subst("cublasCherkx", "hipblasCherkx_v2", "library"); @@ -4039,9 +4081,7 @@ sub simpleSubstitutions { subst("cublasCsyr2_v2_64", "hipblasCsyr2_v2_64", "library"); subst("cublasCsyr2k", "hipblasCsyr2k_v2", "library"); subst("cublasCsyr2k_v2", "hipblasCsyr2k_v2", "library"); - subst("cublasCsyr_64", "hipblasCsyr_v2_64", "library"); subst("cublasCsyr_v2", "hipblasCsyr_v2", "library"); - subst("cublasCsyr_v2_64", "hipblasCsyr_v2_64", "library"); subst("cublasCsyrk", "hipblasCsyrk_v2", "library"); subst("cublasCsyrk_v2", "hipblasCsyrk_v2", "library"); subst("cublasCsyrkx", "hipblasCsyrkx_v2", "library"); @@ -4096,9 +4136,7 @@ sub simpleSubstitutions { subst("cublasDgemv_v2", "hipblasDgemv", "library"); subst("cublasDgeqrfBatched", "hipblasDgeqrfBatched", "library"); subst("cublasDger", "hipblasDger", "library"); - subst("cublasDger_64", "hipblasDger_64", "library"); subst("cublasDger_v2", "hipblasDger", "library"); - subst("cublasDger_v2_64", "hipblasDger_64", "library"); subst("cublasDgetrfBatched", "hipblasDgetrfBatched", "library"); subst("cublasDgetriBatched", "hipblasDgetriBatched", "library"); subst("cublasDgetrsBatched", "hipblasDgetrsBatched", "library"); @@ -4151,9 +4189,7 @@ sub simpleSubstitutions { subst("cublasDsyr2_v2_64", "hipblasDsyr2_64", "library"); subst("cublasDsyr2k", "hipblasDsyr2k", "library"); subst("cublasDsyr2k_v2", "hipblasDsyr2k", "library"); - subst("cublasDsyr_64", "hipblasDsyr_64", "library"); subst("cublasDsyr_v2", "hipblasDsyr", "library"); - subst("cublasDsyr_v2_64", "hipblasDsyr_64", "library"); subst("cublasDsyrk", "hipblasDsyrk", "library"); subst("cublasDsyrk_v2", "hipblasDsyrk", "library"); subst("cublasDsyrkx", "hipblasDsyrkx", "library"); @@ -4304,9 +4340,7 @@ sub simpleSubstitutions { subst("cublasSgemv_v2", "hipblasSgemv", "library"); subst("cublasSgeqrfBatched", "hipblasSgeqrfBatched", "library"); subst("cublasSger", "hipblasSger", "library"); - subst("cublasSger_64", "hipblasSger_64", "library"); subst("cublasSger_v2", "hipblasSger", "library"); - subst("cublasSger_v2_64", "hipblasSger_64", "library"); subst("cublasSgetrfBatched", "hipblasSgetrfBatched", "library"); subst("cublasSgetriBatched", "hipblasSgetriBatched", "library"); subst("cublasSgetrsBatched", "hipblasSgetrsBatched", "library"); @@ -4357,9 +4391,7 @@ sub simpleSubstitutions { subst("cublasSsyr2_v2_64", "hipblasSsyr2_64", "library"); subst("cublasSsyr2k", "hipblasSsyr2k", "library"); subst("cublasSsyr2k_v2", "hipblasSsyr2k", "library"); - subst("cublasSsyr_64", "hipblasSsyr_64", "library"); subst("cublasSsyr_v2", "hipblasSsyr", "library"); - subst("cublasSsyr_v2_64", "hipblasSsyr_64", "library"); subst("cublasSsyrk", "hipblasSsyrk", "library"); subst("cublasSsyrk_v2", "hipblasSsyrk", "library"); subst("cublasSsyrkx", "hipblasSsyrkx", "library"); @@ -4420,13 +4452,9 @@ sub simpleSubstitutions { subst("cublasZgemv_v2", "hipblasZgemv_v2", "library"); subst("cublasZgeqrfBatched", "hipblasZgeqrfBatched_v2", "library"); subst("cublasZgerc", "hipblasZgerc_v2", "library"); - subst("cublasZgerc_64", "hipblasZgerc_v2_64", "library"); subst("cublasZgerc_v2", "hipblasZgerc_v2", "library"); - subst("cublasZgerc_v2_64", "hipblasZgerc_v2_64", "library"); subst("cublasZgeru", "hipblasZgeru_v2", "library"); - subst("cublasZgeru_64", "hipblasZgeru_v2_64", "library"); subst("cublasZgeru_v2", "hipblasZgeru_v2", "library"); - subst("cublasZgeru_v2_64", "hipblasZgeru_v2_64", "library"); subst("cublasZgetrfBatched", "hipblasZgetrfBatched_v2", "library"); subst("cublasZgetriBatched", "hipblasZgetriBatched_v2", "library"); subst("cublasZgetrsBatched", "hipblasZgetrsBatched_v2", "library"); @@ -4443,9 +4471,7 @@ sub simpleSubstitutions { subst("cublasZher2_v2_64", "hipblasZher2_v2_64", "library"); subst("cublasZher2k", "hipblasZher2k_v2", "library"); subst("cublasZher2k_v2", "hipblasZher2k_v2", "library"); - subst("cublasZher_64", "hipblasZher_v2_64", "library"); subst("cublasZher_v2", "hipblasZher_v2", "library"); - subst("cublasZher_v2_64", "hipblasZher_v2_64", "library"); subst("cublasZherk", "hipblasZherk_v2", "library"); subst("cublasZherk_v2", "hipblasZherk_v2", "library"); subst("cublasZherkx", "hipblasZherkx_v2", "library"); @@ -4484,9 +4510,7 @@ sub simpleSubstitutions { subst("cublasZsyr2_v2_64", "hipblasZsyr2_v2_64", "library"); subst("cublasZsyr2k", "hipblasZsyr2k_v2", "library"); subst("cublasZsyr2k_v2", "hipblasZsyr2k_v2", "library"); - subst("cublasZsyr_64", "hipblasZsyr_v2_64", "library"); subst("cublasZsyr_v2", "hipblasZsyr_v2", "library"); - subst("cublasZsyr_v2_64", "hipblasZsyr_v2_64", "library"); subst("cublasZsyrk", "hipblasZsyrk_v2", "library"); subst("cublasZsyrk_v2", "hipblasZsyrk_v2", "library"); subst("cublasZsyrkx", "hipblasZsyrkx_v2", "library"); diff --git a/src/CUDA2HIP_BLAS_API_functions.cpp b/src/CUDA2HIP_BLAS_API_functions.cpp index 8e5c819c..ebb3bc0b 100644 --- a/src/CUDA2HIP_BLAS_API_functions.cpp +++ b/src/CUDA2HIP_BLAS_API_functions.cpp @@ -336,31 +336,31 @@ const std::map CUDA_BLAS_FUNCTION_MAP { // GER {"cublasSger", {"hipblasSger", "rocblas_sger", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasSger_64", {"hipblasSger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasSger_64", {"hipblasSger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDger", {"hipblasDger", "rocblas_dger", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasDger_64", {"hipblasDger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasDger_64", {"hipblasDger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCgeru", {"hipblasCgeru_v2", "rocblas_cgeru", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasCgeru_64", {"hipblasCgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCgeru_64", {"hipblasCgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCgerc", {"hipblasCgerc_v2", "rocblas_cgerc", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasCgerc_64", {"hipblasCgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCgerc_64", {"hipblasCgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZgeru", {"hipblasZgeru_v2", "rocblas_zgeru", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasZgeru_64", {"hipblasZgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZgeru_64", {"hipblasZgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZgerc", {"hipblasZgerc_v2", "rocblas_zgerc", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasZgerc_64", {"hipblasZgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZgerc_64", {"hipblasZgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // SYR/HER {"cublasSsyr", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasSsyr_64", {"hipblasSsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasSsyr_64", {"hipblasSsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDsyr", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasDsyr_64", {"hipblasDsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasDsyr_64", {"hipblasDsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCsyr", {"hipblasCsyr_v2", "rocblas_csyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasCsyr_64", {"hipblasCsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCsyr_64", {"hipblasCsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZsyr", {"hipblasZsyr_v2", "rocblas_zsyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasZsyr_64", {"hipblasZsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZsyr_64", {"hipblasZsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCher", {"hipblasCher_v2", "rocblas_cher", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasCher_64", {"hipblasCher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCher_64", {"hipblasCher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZher", {"hipblasZher_v2", "rocblas_zher", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, - {"cublasZher_64", {"hipblasZher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZher_64", {"hipblasZher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // SPR/HPR {"cublasSspr", {"hipblasSspr", "rocblas_sspr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, HIP_SUPPORTED_V2_ONLY}}, @@ -754,31 +754,31 @@ const std::map CUDA_BLAS_FUNCTION_MAP { // GER {"cublasSger_v2", {"hipblasSger", "rocblas_sger", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasSger_v2_64", {"hipblasSger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasSger_v2_64", {"hipblasSger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDger_v2", {"hipblasDger", "rocblas_dger", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasDger_v2_64", {"hipblasDger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasDger_v2_64", {"hipblasDger_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCgeru_v2", {"hipblasCgeru_v2", "rocblas_cgeru", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasCgeru_v2_64", {"hipblasCgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCgeru_v2_64", {"hipblasCgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCgerc_v2", {"hipblasCgerc_v2", "rocblas_cgerc", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasCgerc_v2_64", {"hipblasCgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCgerc_v2_64", {"hipblasCgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZgeru_v2", {"hipblasZgeru_v2", "rocblas_zgeru", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasZgeru_v2_64", {"hipblasZgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZgeru_v2_64", {"hipblasZgeru_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZgerc_v2", {"hipblasZgerc_v2", "rocblas_zgerc", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasZgerc_v2_64", {"hipblasZgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZgerc_v2_64", {"hipblasZgerc_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // SYR/HER {"cublasSsyr_v2", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasSsyr_v2_64", {"hipblasSsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasSsyr_v2_64", {"hipblasSsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasDsyr_v2", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasDsyr_v2_64", {"hipblasDsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasDsyr_v2_64", {"hipblasDsyr_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCsyr_v2", {"hipblasCsyr_v2", "rocblas_csyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasCsyr_v2_64", {"hipblasCsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCsyr_v2_64", {"hipblasCsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZsyr_v2", {"hipblasZsyr_v2", "rocblas_zsyr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasZsyr_v2_64", {"hipblasZsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZsyr_v2_64", {"hipblasZsyr_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasCher_v2", {"hipblasCher_v2", "rocblas_cher", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasCher_v2_64", {"hipblasCher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasCher_v2_64", {"hipblasCher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cublasZher_v2", {"hipblasZher_v2", "rocblas_zher", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, - {"cublasZher_v2_64", {"hipblasZher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED}}, + {"cublasZher_v2_64", {"hipblasZher_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, // SPR/HPR {"cublasSspr_v2", {"hipblasSspr", "rocblas_sspr", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_2}}, @@ -1648,54 +1648,26 @@ const std::map HIP_BLAS_FUNCTION_VER_MAP { {"hipblasGetMatrixAsync", {HIP_3070, HIP_0, HIP_0 }}, {"hipblasSnrm2", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDnrm2", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasScnrm2", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasDznrm2", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSdot", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDdot", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCdotu", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCdotc", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZdotu", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZdotc", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSscal", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDscal", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasCscal", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasCsscal", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZscal", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasZdscal", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSaxpy", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDaxpy", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasCaxpy", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZaxpy", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasScopy", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDcopy", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasCcopy", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZcopy", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSswap", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDswap", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCswap", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZswap", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasIsamax", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasIdamax", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasIcamax", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasIzamax", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasIsamin", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasIdamin", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasIcamin", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasIzamin", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSasum", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDasum", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasScasum", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasDzasum", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSrot", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDrot", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCrot", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCsrot", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZrot", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZdrot", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSrotg", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDrotg", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCrotg", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasZrotg", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSrotm", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDrotm", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasSrotmg", {HIP_3000, HIP_0, HIP_0 }}, @@ -1706,54 +1678,26 @@ const std::map HIP_BLAS_FUNCTION_VER_MAP { {"hipblasDgbmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStrmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDtrmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCtrmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZtrmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStbmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDtbmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCtbmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZtbmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStpmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDtpmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCtpmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZtpmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStrsv", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDtrsv", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCtrsv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZtrsv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStpsv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDtpsv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCtpsv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZtpsv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasStbsv", {HIP_3060, HIP_0, HIP_0 }}, {"hipblasDtbsv", {HIP_3060, HIP_0, HIP_0 }}, - {"hipblasCtbsv", {HIP_3060, HIP_0, HIP_0 }}, - {"hipblasZtbsv", {HIP_3060, HIP_0, HIP_0 }}, {"hipblasSsymv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDsymv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCsymv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZsymv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasChemv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZhemv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasSsbmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDsbmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasChbmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZhbmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasSspmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDspmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasChpmv", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZhpmv", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasSger", {HIP_1082, HIP_0, HIP_0 }}, {"hipblasDger", {HIP_1082, HIP_0, HIP_0 }}, - {"hipblasCgeru", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCgerc", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZgeru", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZgerc", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasSsyr", {HIP_3000, HIP_0, HIP_0 }}, {"hipblasDsyr", {HIP_3000, HIP_0, HIP_0 }}, - {"hipblasCsyr", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZsyr", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasCher", {HIP_3050, HIP_0, HIP_0 }}, - {"hipblasZher", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasSspr", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasDspr", {HIP_3050, HIP_0, HIP_0 }}, {"hipblasChpr", {HIP_3050, HIP_0, HIP_0 }}, @@ -1818,7 +1762,6 @@ const std::map HIP_BLAS_FUNCTION_VER_MAP { {"hipblasDotEx", {HIP_4010, HIP_0, HIP_0 }}, {"hipblasDotcEx", {HIP_4010, HIP_0, HIP_0 }}, {"hipblasAxpyEx", {HIP_4010, HIP_0, HIP_0 }}, - {"hipblasNrm2Ex", {HIP_4010, HIP_0, HIP_0 }}, {"hipblasRotEx", {HIP_4010, HIP_0, HIP_0 }}, {"hipblasScalEx", {HIP_4010, HIP_0, HIP_0 }}, {"hipblasIcamax_v2", {HIP_6000, HIP_0, HIP_0 }},