[HIPIFY][BLAS] Sync with cuBlas/rocblas/hipBlas

[ROCm/clr commit: c7bea1f865]
This commit is contained in:
Evgeny Mankov
2019-12-12 19:52:18 +03:00
parent b967f1210d
commit 7480c5aace
5 changed files with 339 additions and 243 deletions
+110
View File
@@ -407,8 +407,33 @@ sub simpleSubstitutions {
$ft{'complex'} += s/\bmake_cuComplex\b/make_hipComplex/g; $ft{'complex'} += s/\bmake_cuComplex\b/make_hipComplex/g;
$ft{'complex'} += s/\bmake_cuDoubleComplex\b/make_hipDoubleComplex/g; $ft{'complex'} += s/\bmake_cuDoubleComplex\b/make_hipDoubleComplex/g;
$ft{'complex'} += s/\bmake_cuFloatComplex\b/make_hipFloatComplex/g; $ft{'complex'} += s/\bmake_cuFloatComplex\b/make_hipFloatComplex/g;
$ft{'library'} += s/\bcublasCaxpy\b/hipblasCaxpy/g;
$ft{'library'} += s/\bcublasCaxpy_v2\b/hipblasCaxpy/g;
$ft{'library'} += s/\bcublasCcopy\b/hipblasCcopy/g;
$ft{'library'} += s/\bcublasCcopy_v2\b/hipblasCcopy/g;
$ft{'library'} += s/\bcublasCdotc\b/hipblasCdotc/g;
$ft{'library'} += s/\bcublasCdotc_v2\b/hipblasCdotc/g;
$ft{'library'} += s/\bcublasCdotu\b/hipblasCdotu/g;
$ft{'library'} += s/\bcublasCdotu_v2\b/hipblasCdotu/g;
$ft{'library'} += s/\bcublasCgemm\b/hipblasCgemm/g;
$ft{'library'} += s/\bcublasCgemmBatched\b/hipblasCgemmBatched/g;
$ft{'library'} += s/\bcublasCgemmStridedBatched\b/hipblasCgemmStridedBatched/g;
$ft{'library'} += s/\bcublasCgemv\b/hipblasCgemv/g;
$ft{'library'} += s/\bcublasCgemv_v2\b/hipblasCgemv/g;
$ft{'library'} += s/\bcublasCreate\b/hipblasCreate/g; $ft{'library'} += s/\bcublasCreate\b/hipblasCreate/g;
$ft{'library'} += s/\bcublasCreate_v2\b/hipblasCreate/g; $ft{'library'} += s/\bcublasCreate_v2\b/hipblasCreate/g;
$ft{'library'} += s/\bcublasCrot\b/hipblasCrot/g;
$ft{'library'} += s/\bcublasCrot_v2\b/hipblasCrot/g;
$ft{'library'} += s/\bcublasCrotg\b/hipblasCrotg/g;
$ft{'library'} += s/\bcublasCrotg_v2\b/hipblasCrotg/g;
$ft{'library'} += s/\bcublasCscal\b/hipblasCscal/g;
$ft{'library'} += s/\bcublasCscal_v2\b/hipblasCscal/g;
$ft{'library'} += s/\bcublasCsrot\b/hipblasCsrot/g;
$ft{'library'} += s/\bcublasCsrot_v2\b/hipblasCsrot/g;
$ft{'library'} += s/\bcublasCsscal\b/hipblasCsscal/g;
$ft{'library'} += s/\bcublasCsscal_v2\b/hipblasCsscal/g;
$ft{'library'} += s/\bcublasCswap\b/hipblasCswap/g;
$ft{'library'} += s/\bcublasCswap_v2\b/hipblasCswap/g;
$ft{'library'} += s/\bcublasDasum\b/hipblasDasum/g; $ft{'library'} += s/\bcublasDasum\b/hipblasDasum/g;
$ft{'library'} += s/\bcublasDasum_v2\b/hipblasDasum/g; $ft{'library'} += s/\bcublasDasum_v2\b/hipblasDasum/g;
$ft{'library'} += s/\bcublasDaxpy\b/hipblasDaxpy/g; $ft{'library'} += s/\bcublasDaxpy\b/hipblasDaxpy/g;
@@ -430,10 +455,28 @@ sub simpleSubstitutions {
$ft{'library'} += s/\bcublasDger_v2\b/hipblasDger/g; $ft{'library'} += s/\bcublasDger_v2\b/hipblasDger/g;
$ft{'library'} += s/\bcublasDnrm2\b/hipblasDnrm2/g; $ft{'library'} += s/\bcublasDnrm2\b/hipblasDnrm2/g;
$ft{'library'} += s/\bcublasDnrm2_v2\b/hipblasDnrm2/g; $ft{'library'} += s/\bcublasDnrm2_v2\b/hipblasDnrm2/g;
$ft{'library'} += s/\bcublasDrot\b/hipblasDrot/g;
$ft{'library'} += s/\bcublasDrot_v2\b/hipblasDrot/g;
$ft{'library'} += s/\bcublasDrotg\b/hipblasDrotg/g;
$ft{'library'} += s/\bcublasDrotg_v2\b/hipblasDrotg/g;
$ft{'library'} += s/\bcublasDrotm\b/hipblasDrotm/g;
$ft{'library'} += s/\bcublasDrotm_v2\b/hipblasDrotm/g;
$ft{'library'} += s/\bcublasDrotmg\b/hipblasDrotmg/g;
$ft{'library'} += s/\bcublasDrotmg_v2\b/hipblasDrotmg/g;
$ft{'library'} += s/\bcublasDscal\b/hipblasDscal/g; $ft{'library'} += s/\bcublasDscal\b/hipblasDscal/g;
$ft{'library'} += s/\bcublasDscal_v2\b/hipblasDscal/g; $ft{'library'} += s/\bcublasDscal_v2\b/hipblasDscal/g;
$ft{'library'} += s/\bcublasDswap\b/hipblasDswap/g;
$ft{'library'} += s/\bcublasDswap_v2\b/hipblasDswap/g;
$ft{'library'} += s/\bcublasDsyr\b/hipblasDsyr/g;
$ft{'library'} += s/\bcublasDsyr_v2\b/hipblasDsyr/g;
$ft{'library'} += s/\bcublasDtrsm\b/hipblasDtrsm/g; $ft{'library'} += s/\bcublasDtrsm\b/hipblasDtrsm/g;
$ft{'library'} += s/\bcublasDtrsm_v2\b/hipblasDtrsm/g; $ft{'library'} += s/\bcublasDtrsm_v2\b/hipblasDtrsm/g;
$ft{'library'} += s/\bcublasDtrsv\b/hipblasDtrsv/g;
$ft{'library'} += s/\bcublasDtrsv_v2\b/hipblasDtrsv/g;
$ft{'library'} += s/\bcublasDzasum\b/hipblasDzasum/g;
$ft{'library'} += s/\bcublasDzasum_v2\b/hipblasDzasum/g;
$ft{'library'} += s/\bcublasDznrm2\b/hipblasDznrm2/g;
$ft{'library'} += s/\bcublasDznrm2_v2\b/hipblasDznrm2/g;
$ft{'library'} += s/\bcublasGemmEx\b/hipblasGemmEx/g; $ft{'library'} += s/\bcublasGemmEx\b/hipblasGemmEx/g;
$ft{'library'} += s/\bcublasGetMatrix\b/hipblasGetMatrix/g; $ft{'library'} += s/\bcublasGetMatrix\b/hipblasGetMatrix/g;
$ft{'library'} += s/\bcublasGetPointerMode\b/hipblasGetPointerMode/g; $ft{'library'} += s/\bcublasGetPointerMode\b/hipblasGetPointerMode/g;
@@ -442,14 +485,32 @@ sub simpleSubstitutions {
$ft{'library'} += s/\bcublasGetStream_v2\b/hipblasGetStream/g; $ft{'library'} += s/\bcublasGetStream_v2\b/hipblasGetStream/g;
$ft{'library'} += s/\bcublasGetVector\b/hipblasGetVector/g; $ft{'library'} += s/\bcublasGetVector\b/hipblasGetVector/g;
$ft{'library'} += s/\bcublasHgemm\b/hipblasHgemm/g; $ft{'library'} += s/\bcublasHgemm\b/hipblasHgemm/g;
$ft{'library'} += s/\bcublasHgemmBatched\b/hipblasHgemmBatched/g;
$ft{'library'} += s/\bcublasHgemmStridedBatched\b/hipblasHgemmStridedBatched/g;
$ft{'library'} += s/\bcublasIcamax\b/hipblasIcamax/g;
$ft{'library'} += s/\bcublasIcamax_v2\b/hipblasIcamax/g;
$ft{'library'} += s/\bcublasIcamin\b/hipblasIcamin/g;
$ft{'library'} += s/\bcublasIcamin_v2\b/hipblasIcamin/g;
$ft{'library'} += s/\bcublasIdamax\b/hipblasIdamax/g; $ft{'library'} += s/\bcublasIdamax\b/hipblasIdamax/g;
$ft{'library'} += s/\bcublasIdamax_v2\b/hipblasIdamax/g; $ft{'library'} += s/\bcublasIdamax_v2\b/hipblasIdamax/g;
$ft{'library'} += s/\bcublasIdamin\b/hipblasIdamin/g;
$ft{'library'} += s/\bcublasIdamin_v2\b/hipblasIdamin/g;
$ft{'library'} += s/\bcublasIsamax\b/hipblasIsamax/g; $ft{'library'} += s/\bcublasIsamax\b/hipblasIsamax/g;
$ft{'library'} += s/\bcublasIsamax_v2\b/hipblasIsamax/g; $ft{'library'} += s/\bcublasIsamax_v2\b/hipblasIsamax/g;
$ft{'library'} += s/\bcublasIsamin\b/hipblasIsamin/g;
$ft{'library'} += s/\bcublasIsamin_v2\b/hipblasIsamin/g;
$ft{'library'} += s/\bcublasIzamax\b/hipblasIzamax/g;
$ft{'library'} += s/\bcublasIzamax_v2\b/hipblasIzamax/g;
$ft{'library'} += s/\bcublasIzamin\b/hipblasIzamin/g;
$ft{'library'} += s/\bcublasIzamin_v2\b/hipblasIzamin/g;
$ft{'library'} += s/\bcublasSasum\b/hipblasSasum/g; $ft{'library'} += s/\bcublasSasum\b/hipblasSasum/g;
$ft{'library'} += s/\bcublasSasum_v2\b/hipblasSasum/g; $ft{'library'} += s/\bcublasSasum_v2\b/hipblasSasum/g;
$ft{'library'} += s/\bcublasSaxpy\b/hipblasSaxpy/g; $ft{'library'} += s/\bcublasSaxpy\b/hipblasSaxpy/g;
$ft{'library'} += s/\bcublasSaxpy_v2\b/hipblasSaxpy/g; $ft{'library'} += s/\bcublasSaxpy_v2\b/hipblasSaxpy/g;
$ft{'library'} += s/\bcublasScasum\b/hipblasScasum/g;
$ft{'library'} += s/\bcublasScasum_v2\b/hipblasScasum/g;
$ft{'library'} += s/\bcublasScnrm2\b/hipblasScnrm2/g;
$ft{'library'} += s/\bcublasScnrm2_v2\b/hipblasScnrm2/g;
$ft{'library'} += s/\bcublasScopy\b/hipblasScopy/g; $ft{'library'} += s/\bcublasScopy\b/hipblasScopy/g;
$ft{'library'} += s/\bcublasScopy_v2\b/hipblasScopy/g; $ft{'library'} += s/\bcublasScopy_v2\b/hipblasScopy/g;
$ft{'library'} += s/\bcublasSdot\b/hipblasSdot/g; $ft{'library'} += s/\bcublasSdot\b/hipblasSdot/g;
@@ -466,15 +527,56 @@ sub simpleSubstitutions {
$ft{'library'} += s/\bcublasSgemmStridedBatched\b/hipblasSgemmStridedBatched/g; $ft{'library'} += s/\bcublasSgemmStridedBatched\b/hipblasSgemmStridedBatched/g;
$ft{'library'} += s/\bcublasSgemm_v2\b/hipblasSgemm/g; $ft{'library'} += s/\bcublasSgemm_v2\b/hipblasSgemm/g;
$ft{'library'} += s/\bcublasSgemv\b/hipblasSgemv/g; $ft{'library'} += s/\bcublasSgemv\b/hipblasSgemv/g;
$ft{'library'} += s/\bcublasSgemvBatched\b/hipblasSgemvBatched/g;
$ft{'library'} += s/\bcublasSgemv_v2\b/hipblasSgemv/g; $ft{'library'} += s/\bcublasSgemv_v2\b/hipblasSgemv/g;
$ft{'library'} += s/\bcublasSger\b/hipblasSger/g; $ft{'library'} += s/\bcublasSger\b/hipblasSger/g;
$ft{'library'} += s/\bcublasSger_v2\b/hipblasSger/g; $ft{'library'} += s/\bcublasSger_v2\b/hipblasSger/g;
$ft{'library'} += s/\bcublasSnrm2\b/hipblasSnrm2/g; $ft{'library'} += s/\bcublasSnrm2\b/hipblasSnrm2/g;
$ft{'library'} += s/\bcublasSnrm2_v2\b/hipblasSnrm2/g; $ft{'library'} += s/\bcublasSnrm2_v2\b/hipblasSnrm2/g;
$ft{'library'} += s/\bcublasSrot\b/hipblasSrot/g;
$ft{'library'} += s/\bcublasSrot_v2\b/hipblasSrot/g;
$ft{'library'} += s/\bcublasSrotg\b/hipblasSrotg/g;
$ft{'library'} += s/\bcublasSrotg_v2\b/hipblasSrotg/g;
$ft{'library'} += s/\bcublasSrotm\b/hipblasSrotm/g;
$ft{'library'} += s/\bcublasSrotm_v2\b/hipblasSrotm/g;
$ft{'library'} += s/\bcublasSrotmg\b/hipblasSrotmg/g;
$ft{'library'} += s/\bcublasSrotmg_v2\b/hipblasSrotmg/g;
$ft{'library'} += s/\bcublasSscal\b/hipblasSscal/g; $ft{'library'} += s/\bcublasSscal\b/hipblasSscal/g;
$ft{'library'} += s/\bcublasSscal_v2\b/hipblasSscal/g; $ft{'library'} += s/\bcublasSscal_v2\b/hipblasSscal/g;
$ft{'library'} += s/\bcublasSswap\b/hipblasSswap/g;
$ft{'library'} += s/\bcublasSswap_v2\b/hipblasSswap/g;
$ft{'library'} += s/\bcublasSsyr\b/hipblasSsyr/g;
$ft{'library'} += s/\bcublasSsyr_v2\b/hipblasSsyr/g;
$ft{'library'} += s/\bcublasStrsm\b/hipblasStrsm/g; $ft{'library'} += s/\bcublasStrsm\b/hipblasStrsm/g;
$ft{'library'} += s/\bcublasStrsm_v2\b/hipblasStrsm/g; $ft{'library'} += s/\bcublasStrsm_v2\b/hipblasStrsm/g;
$ft{'library'} += s/\bcublasStrsv\b/hipblasStrsv/g;
$ft{'library'} += s/\bcublasStrsv_v2\b/hipblasStrsv/g;
$ft{'library'} += s/\bcublasZaxpy\b/hipblasZaxpy/g;
$ft{'library'} += s/\bcublasZaxpy_v2\b/hipblasZaxpy/g;
$ft{'library'} += s/\bcublasZcopy\b/hipblasZcopy/g;
$ft{'library'} += s/\bcublasZcopy_v2\b/hipblasZcopy/g;
$ft{'library'} += s/\bcublasZdotc\b/hipblasZdotc/g;
$ft{'library'} += s/\bcublasZdotc_v2\b/hipblasZdotc/g;
$ft{'library'} += s/\bcublasZdotu\b/hipblasZdotu/g;
$ft{'library'} += s/\bcublasZdotu_v2\b/hipblasZdotu/g;
$ft{'library'} += s/\bcublasZdrot\b/hipblasZdrot/g;
$ft{'library'} += s/\bcublasZdrot_v2\b/hipblasZdrot/g;
$ft{'library'} += s/\bcublasZdscal\b/hipblasZdscal/g;
$ft{'library'} += s/\bcublasZdscal_v2\b/hipblasZdscal/g;
$ft{'library'} += s/\bcublasZgemm\b/hipblasZgemm/g;
$ft{'library'} += s/\bcublasZgemmBatched\b/hipblasZgemmBatched/g;
$ft{'library'} += s/\bcublasZgemmStridedBatched\b/hipblasZgemmStridedBatched/g;
$ft{'library'} += s/\bcublasZgemm_v2\b/hipblasZgemm/g;
$ft{'library'} += s/\bcublasZgemv\b/hipblasZgemv/g;
$ft{'library'} += s/\bcublasZgemv_v2\b/hipblasZgemv/g;
$ft{'library'} += s/\bcublasZrot\b/hipblasZrot/g;
$ft{'library'} += s/\bcublasZrot_v2\b/hipblasZrot/g;
$ft{'library'} += s/\bcublasZrotg\b/hipblasZrotg/g;
$ft{'library'} += s/\bcublasZrotg_v2\b/hipblasZrotg/g;
$ft{'library'} += s/\bcublasZscal\b/hipblasZscal/g;
$ft{'library'} += s/\bcublasZscal_v2\b/hipblasZscal/g;
$ft{'library'} += s/\bcublasZswap\b/hipblasZswap/g;
$ft{'library'} += s/\bcublasZswap_v2\b/hipblasZswap/g;
$ft{'library'} += s/\bcuda_stream\b/hip_stream/g; $ft{'library'} += s/\bcuda_stream\b/hip_stream/g;
$ft{'library'} += s/\bcudnnActivationBackward\b/hipdnnActivationBackward/g; $ft{'library'} += s/\bcudnnActivationBackward\b/hipdnnActivationBackward/g;
$ft{'library'} += s/\bcudnnActivationForward\b/hipdnnActivationForward/g; $ft{'library'} += s/\bcudnnActivationForward\b/hipdnnActivationForward/g;
@@ -1011,7 +1113,11 @@ sub simpleSubstitutions {
$ft{'numeric_literal'} += s/\bCUBLAS_STATUS_SUCCESS\b/HIPBLAS_STATUS_SUCCESS/g; $ft{'numeric_literal'} += s/\bCUBLAS_STATUS_SUCCESS\b/HIPBLAS_STATUS_SUCCESS/g;
$ft{'numeric_literal'} += s/\bCUDA_C_16F\b/HIPBLAS_C_16F/g; $ft{'numeric_literal'} += s/\bCUDA_C_16F\b/HIPBLAS_C_16F/g;
$ft{'numeric_literal'} += s/\bCUDA_C_32F\b/HIPBLAS_C_32F/g; $ft{'numeric_literal'} += s/\bCUDA_C_32F\b/HIPBLAS_C_32F/g;
$ft{'numeric_literal'} += s/\bCUDA_C_32I\b/HIPBLAS_C_32I/g;
$ft{'numeric_literal'} += s/\bCUDA_C_32U\b/HIPBLAS_C_32U/g;
$ft{'numeric_literal'} += s/\bCUDA_C_64F\b/HIPBLAS_C_64F/g; $ft{'numeric_literal'} += s/\bCUDA_C_64F\b/HIPBLAS_C_64F/g;
$ft{'numeric_literal'} += s/\bCUDA_C_8I\b/HIPBLAS_C_8I/g;
$ft{'numeric_literal'} += s/\bCUDA_C_8U\b/HIPBLAS_C_8U/g;
$ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_ACQUIRED\b/hipErrorAlreadyAcquired/g; $ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_ACQUIRED\b/hipErrorAlreadyAcquired/g;
$ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_MAPPED\b/hipErrorAlreadyMapped/g; $ft{'numeric_literal'} += s/\bCUDA_ERROR_ALREADY_MAPPED\b/hipErrorAlreadyMapped/g;
$ft{'numeric_literal'} += s/\bCUDA_ERROR_ARRAY_IS_MAPPED\b/hipErrorArrayIsMapped/g; $ft{'numeric_literal'} += s/\bCUDA_ERROR_ARRAY_IS_MAPPED\b/hipErrorArrayIsMapped/g;
@@ -1062,7 +1168,11 @@ sub simpleSubstitutions {
$ft{'numeric_literal'} += s/\bCUDA_ERROR_UNSUPPORTED_LIMIT\b/hipErrorUnsupportedLimit/g; $ft{'numeric_literal'} += s/\bCUDA_ERROR_UNSUPPORTED_LIMIT\b/hipErrorUnsupportedLimit/g;
$ft{'numeric_literal'} += s/\bCUDA_R_16F\b/HIPBLAS_R_16F/g; $ft{'numeric_literal'} += s/\bCUDA_R_16F\b/HIPBLAS_R_16F/g;
$ft{'numeric_literal'} += s/\bCUDA_R_32F\b/HIPBLAS_R_32F/g; $ft{'numeric_literal'} += s/\bCUDA_R_32F\b/HIPBLAS_R_32F/g;
$ft{'numeric_literal'} += s/\bCUDA_R_32I\b/HIPBLAS_R_32I/g;
$ft{'numeric_literal'} += s/\bCUDA_R_32U\b/HIPBLAS_R_32U/g;
$ft{'numeric_literal'} += s/\bCUDA_R_64F\b/HIPBLAS_R_64F/g; $ft{'numeric_literal'} += s/\bCUDA_R_64F\b/HIPBLAS_R_64F/g;
$ft{'numeric_literal'} += s/\bCUDA_R_8I\b/HIPBLAS_R_8I/g;
$ft{'numeric_literal'} += s/\bCUDA_R_8U\b/HIPBLAS_R_8U/g;
$ft{'numeric_literal'} += s/\bCUDA_SUCCESS\b/hipSuccess/g; $ft{'numeric_literal'} += s/\bCUDA_SUCCESS\b/hipSuccess/g;
$ft{'numeric_literal'} += s/\bCUDNN_16BIT_INDICES\b/HIPDNN_16BIT_INDICES/g; $ft{'numeric_literal'} += s/\bCUDNN_16BIT_INDICES\b/HIPDNN_16BIT_INDICES/g;
$ft{'numeric_literal'} += s/\bCUDNN_32BIT_INDICES\b/HIPDNN_32BIT_INDICES/g; $ft{'numeric_literal'} += s/\bCUDNN_32BIT_INDICES\b/HIPDNN_32BIT_INDICES/g;
@@ -137,128 +137,131 @@
|`cublasSnrm2_v2` |`hipblasSnrm2` | |`cublasSnrm2_v2` |`hipblasSnrm2` |
|`cublasDnrm2` |`hipblasDnrm2` | |`cublasDnrm2` |`hipblasDnrm2` |
|`cublasDnrm2_v2` |`hipblasDnrm2` | |`cublasDnrm2_v2` |`hipblasDnrm2` |
|`cublasScnrm2` | | |`cublasScnrm2` |`hipblasScnrm2` |
|`cublasScnrm2_v2` | | |`cublasScnrm2_v2` |`hipblasScnrm2` |
|`cublasDznrm2` | | |`cublasDznrm2` |`hipblasDznrm2` |
|`cublasDznrm2_v2` | | |`cublasDznrm2_v2` |`hipblasDznrm2` |
|`cublasDotEx` | | 8.0 | |`cublasDotEx` | | 8.0 |
|`cublasDotcEx` | | 8.0 | |`cublasDotcEx` | | 8.0 |
|`cublasSdot` |`hipblasSdot` | |`cublasSdot` |`hipblasSdot` |
|`cublasSdot_v2` |`hipblasSdot` | |`cublasSdot_v2` |`hipblasSdot` |
|`cublasDdot` |`hipblasDdot` | |`cublasDdot` |`hipblasDdot` |
|`cublasDdot_v2` |`hipblasDdot` | |`cublasDdot_v2` |`hipblasDdot` |
|`cublasCdotu` | | |`cublasCdotu` |`hipblasCdotu` |
|`cublasCdotu_v2` | | |`cublasCdotu_v2` |`hipblasCdotu` |
|`cublasCdotc` | | |`cublasCdotc` |`hipblasCdotc` |
|`cublasCdotc_v2` | | |`cublasCdotc_v2` |`hipblasCdotc` |
|`cublasZdotu` | | |`cublasZdotu` |`hipblasZdotu` |
|`cublasZdotu_v2` | | |`cublasZdotu_v2` |`hipblasZdotu` |
|`cublasZdotc` | | |`cublasZdotc` |`hipblasZdotc` |
|`cublasZdotc_v2` | | |`cublasZdotc_v2` |`hipblasZdotc` |
|`cublasScalEx` | | 8.0 | |`cublasScalEx` | | 8.0 |
|`cublasSscal` |`hipblasSscal` | |`cublasSscal` |`hipblasSscal` |
|`cublasSscal_v2` |`hipblasSscal` | |`cublasSscal_v2` |`hipblasSscal` |
|`cublasDscal` |`hipblasDscal` | |`cublasDscal` |`hipblasDscal` |
|`cublasDscal_v2` |`hipblasDscal` | |`cublasDscal_v2` |`hipblasDscal` |
|`cublasCscal` | | |`cublasCscal` |`hipblasCscal` |
|`cublasCscal_v2` | | |`cublasCscal_v2` |`hipblasCscal` |
|`cublasCsscal` | | |`cublasCsscal` |`hipblasCsscal` |
|`cublasCsscal_v2` | | |`cublasCsscal_v2` |`hipblasCsscal` |
|`cublasZscal` | | |`cublasZscal` |`hipblasZscal` |
|`cublasZscal_v2` | | |`cublasZscal_v2` |`hipblasZscal` |
|`cublasZdscal` | | |`cublasZdscal` |`hipblasZdscal` |
|`cublasZdscal_v2` | | |`cublasZdscal_v2` |`hipblasZdscal` |
|`cublasAxpyEx` | | 8.0 | |`cublasAxpyEx` | | 8.0 |
|`cublasSaxpy` |`hipblasSaxpy` | |`cublasSaxpy` |`hipblasSaxpy` |
|`cublasSaxpy_v2` |`hipblasSaxpy` | |`cublasSaxpy_v2` |`hipblasSaxpy` |
|`cublasDaxpy` |`hipblasDaxpy` | |`cublasDaxpy` |`hipblasDaxpy` |
|`cublasDaxpy_v2` |`hipblasDaxpy` | |`cublasDaxpy_v2` |`hipblasDaxpy` |
|`cublasCaxpy` | | |`cublasCaxpy` |`hipblasCaxpy` |
|`cublasCaxpy_v2` | | |`cublasCaxpy_v2` |`hipblasCaxpy` |
|`cublasZaxpy` | | |`cublasZaxpy` |`hipblasZaxpy` |
|`cublasZaxpy_v2` | | |`cublasZaxpy_v2` |`hipblasZaxpy` |
|`cublasScopy` |`hipblasScopy` | |`cublasScopy` |`hipblasScopy` |
|`cublasScopy_v2` |`hipblasScopy` | |`cublasScopy_v2` |`hipblasScopy` |
|`cublasDcopy` |`hipblasDcopy` | |`cublasDcopy` |`hipblasDcopy` |
|`cublasDcopy_v2` |`hipblasDcopy` | |`cublasDcopy_v2` |`hipblasDcopy` |
|`cublasCcopy` | | |`cublasCcopy` |`hipblasCcopy` |
|`cublasCopyEx` | | 10.1 | |`cublasCopyEx` | | 10.1 |
|`cublasCcopy_v2` | | |`cublasCcopy_v2` |`hipblasCcopy` |
|`cublasZcopy` | | |`cublasZcopy` |`hipblasZcopy` |
|`cublasZcopy_v2` | | |`cublasZcopy_v2` |`hipblasZcopy` |
|`cublasSswap` | | |`cublasSswap` |`hipblasSswap` |
|`cublasSswap_v2` | | |`cublasSswap_v2` |`hipblasSswap` |
|`cublasDswap` | | |`cublasDswap` |`hipblasDswap` |
|`cublasDswap_v2` | | |`cublasDswap_v2` |`hipblasDswap` |
|`cublasCswap` | | |`cublasCswap` |`hipblasCswap` |
|`cublasCswap_v2` | | |`cublasCswap_v2` |`hipblasCswap` |
|`cublasZswap` | | |`cublasZswap` |`hipblasZswap` |
|`cublasZswap_v2` | | |`cublasZswap_v2` |`hipblasZswap` |
|`cublasIamaxEx` | | 10.1 | |`cublasIamaxEx` | | 10.1 |
|`cublasIsamax` |`hipblasIsamax` | |`cublasIsamax` |`hipblasIsamax` |
|`cublasIsamax_v2` |`hipblasIsamax` | |`cublasIsamax_v2` |`hipblasIsamax` |
|`cublasIdamax` |`hipblasIdamax` | |`cublasIdamax` |`hipblasIdamax` |
|`cublasIdamax_v2` |`hipblasIdamax` | |`cublasIdamax_v2` |`hipblasIdamax` |
|`cublasIcamax` | | |`cublasIcamax` |`hipblasIcamax` |
|`cublasIcamax_v2` | | |`cublasIcamax_v2` |`hipblasIcamax` |
|`cublasIzamax` | | |`cublasIzamax` |`hipblasIzamax` |
|`cublasIzamax_v2` | | |`cublasIzamax_v2` |`hipblasIzamax` |
|`cublasIaminEx` | | 10.1 | |`cublasIaminEx` | | 10.1 |
|`cublasIsamin` | | |`cublasIsamin` |`hipblasIsamin` |
|`cublasIsamin_v2` | | |`cublasIsamin_v2` |`hipblasIsamin` |
|`cublasIdamin` | | |`cublasIdamin` |`hipblasIdamin` |
|`cublasIdamin_v2` | | |`cublasIdamin_v2` |`hipblasIdamin` |
|`cublasIcamin` | | |`cublasIcamin` |`hipblasIcamin` |
|`cublasIcamin_v2` | | |`cublasIcamin_v2` |`hipblasIcamin` |
|`cublasIzamin` | | |`cublasIzamin` |`hipblasIzamin` |
|`cublasIzamin_v2` | | |`cublasIzamin_v2` |`hipblasIzamin` |
|`cublasAsumEx` | | 10.1 | |`cublasAsumEx` | | 10.1 |
|`cublasSasum` |`hipblasSasum` | |`cublasSasum` |`hipblasSasum` |
|`cublasSasum_v2` |`hipblasSasum` | |`cublasSasum_v2` |`hipblasSasum` |
|`cublasDasum` |`hipblasDasum` | |`cublasDasum` |`hipblasDasum` |
|`cublasDasum_v2` |`hipblasDasum` | |`cublasDasum_v2` |`hipblasDasum` |
|`cublasScasum` | | |`cublasScasum` |`hipblasScasum` |
|`cublasScasum_v2` | | |`cublasScasum_v2` |`hipblasScasum` |
|`cublasDzasum` | | |`cublasDzasum` |`hipblasDzasum` |
|`cublasDzasum_v2` | | |`cublasDzasum_v2` |`hipblasDzasum` |
|`cublasRotEx` | | 10.1 | |`cublasRotEx` | | 10.1 |
|`cublasSrot` | | |`cublasSrot` |`hipblasSrot` |
|`cublasSrot_v2` | | |`cublasSrot_v2` |`hipblasSrot` |
|`cublasDrot` | | |`cublasDrot` |`hipblasDrot` |
|`cublasDrot_v2` | | |`cublasDrot_v2` |`hipblasDrot` |
|`cublasCrot` | | |`cublasCrot` |`hipblasCrot` |
|`cublasCrot_v2` | | |`cublasCrot_v2` |`hipblasCrot` |
|`cublasZrot` | | |`cublasCsrot` |`hipblasCsrot` |
|`cublasZrot_v2` | | |`cublasCsrot_v2` |`hipblasCsrot` |
|`cublasZrot` |`hipblasZrot` |
|`cublasZrot_v2` |`hipblasZrot` |
|`cublasRotgEx` | | 10.1 | |`cublasRotgEx` | | 10.1 |
|`cublasZdrot` | | |`cublasZdrot` |`hipblasZdrot` |
|`cublasZdrot_v2` | | |`cublasZdrot_v2` |`hipblasZdrot` |
|`cublasSrotg` | | |`cublasSrotg` |`hipblasSrotg` |
|`cublasSrotg_v2` | | |`cublasSrotg_v2` |`hipblasSrotg` |
|`cublasDrotg` | | |`cublasDrotg` |`hipblasDrotg` |
|`cublasDrotg_v2` | | |`cublasDrotg_v2` |`hipblasDrotg` |
|`cublasCrotg` | | |`cublasCrotg` |`hipblasCrotg` |
|`cublasCrotg_v2` | | |`cublasCrotg_v2` |`hipblasCrotg` |
|`cublasZrotg` | | |`cublasZrotg` |`hipblasZrotg` |
|`cublasZrotg_v2` | | |`cublasZrotg_v2` |`hipblasZrotg` |
|`cublasRotmEx` | | 10.1 | |`cublasRotmEx` | | 10.1 |
|`cublasSrotm` | | |`cublasSrotm` |`hipblasSrotm` |
|`cublasSrotm_v2` | | |`cublasSrotm_v2` |`hipblasSrotm` |
|`cublasDrotm` | | |`cublasDrotm` |`hipblasDrotm` |
|`cublasDrotm_v2` | | |`cublasDrotm_v2` |`hipblasDrotm` |
|`cublasRotmgEx` | | 10.1 | |`cublasRotmgEx` | | 10.1 |
|`cublasSrotmg` | | |`cublasSrotmg` |`hipblasSrotmg` |
|`cublasSrotmg_v2` | | |`cublasSrotmg_v2` |`hipblasSrotmg` |
|`cublasDrotmg` | | |`cublasDrotmg` |`hipblasDrotmg` |
|`cublasDrotmg_v2` | | |`cublasDrotmg_v2` |`hipblasDrotmg` |
|`cublasSgemv` |`hipblasSgemv` | |`cublasSgemv` |`hipblasSgemv` |
|`cublasSgemv_v2` |`hipblasSgemv` | |`cublasSgemv_v2` |`hipblasSgemv` |
|`cublasSgemvBatched` |`hipblasSgemvBatched` |
|`cublasDgemv` |`hipblasDgemv` | |`cublasDgemv` |`hipblasDgemv` |
|`cublasDgemv_v2` |`hipblasDgemv` | |`cublasDgemv_v2` |`hipblasDgemv` |
|`cublasCgemv` | | |`cublasCgemv` |`hipblasCgemv` |
|`cublasCgemv_v2` | | |`cublasCgemv_v2` |`hipblasCgemv` |
|`cublasZgemv` | | |`cublasZgemv` |`hipblasZgemv` |
|`cublasZgemv_v2` | | |`cublasZgemv_v2` |`hipblasZgemv` |
|`cublasSgbmv` | | |`cublasSgbmv` | |
|`cublasSgbmv_v2` | | |`cublasSgbmv_v2` | |
|`cublasDgbmv` | | |`cublasDgbmv` | |
@@ -291,10 +294,10 @@
|`cublasCtpmv_v2` | | |`cublasCtpmv_v2` | |
|`cublasZtpmv` | | |`cublasZtpmv` | |
|`cublasZtpmv_v2` | | |`cublasZtpmv_v2` | |
|`cublasStrsv` | | |`cublasStrsv` |`hipblasStrsv` |
|`cublasStrsv_v2` | | |`cublasStrsv_v2` |`hipblasStrsv` |
|`cublasDtrsv` | | |`cublasDtrsv` |`hipblasDtrsv` |
|`cublasDtrsv_v2` | | |`cublasDtrsv_v2` |`hipblasDtrsv` |
|`cublasCtrsv` | | |`cublasCtrsv` | |
|`cublasCtrsv_v2` | | |`cublasCtrsv_v2` | |
|`cublasZtrsv` | | |`cublasZtrsv` | |
@@ -355,10 +358,10 @@
|`cublasZgeru_v2` | | |`cublasZgeru_v2` | |
|`cublasZgerc` | | |`cublasZgerc` | |
|`cublasZgerc_v2` | | |`cublasZgerc_v2` | |
|`cublasSsyr` | | |`cublasSsyr` |`hipblasSsyr` |
|`cublasSsyr_v2` | | |`cublasSsyr_v2` |`hipblasSsyr` |
|`cublasDsyr` | | |`cublasDsyr` |`hipblasDsyr` |
|`cublasDsyr_v2` | | |`cublasDsyr_v2` |`hipblasDsyr` |
|`cublasCsyr` | | |`cublasCsyr` | |
|`cublasCsyr_v2` | | |`cublasCsyr_v2` | |
|`cublasZsyr` | | |`cublasZsyr` | |
@@ -403,8 +406,8 @@
|`cublasCgemm_v2` | | |`cublasCgemm_v2` | |
|`cublasCgemm3m` | | 8.0 | |`cublasCgemm3m` | | 8.0 |
|`cublasCgemm3mEx` | | 8.0 | |`cublasCgemm3mEx` | | 8.0 |
|`cublasZgemm` | | |`cublasZgemm` |`hipblasZgemm` |
|`cublasZgemm_v2` | | |`cublasZgemm_v2` |`hipblasZgemm` |
|`cublasZgemm3m` | | 8.0 | |`cublasZgemm3m` | | 8.0 |
|`cublasHgemm` |`hipblasHgemm` | 7.5 | |`cublasHgemm` |`hipblasHgemm` | 7.5 |
|`cublasSgemmEx` | | 7.5 | |`cublasSgemmEx` | | 7.5 |
@@ -473,20 +476,20 @@
|`cublasCtrmm_v2` | | |`cublasCtrmm_v2` | |
|`cublasZtrmm` | | |`cublasZtrmm` | |
|`cublasZtrmm_v2` | | |`cublasZtrmm_v2` | |
|`cublasHgemmBatched` | | 9.0 | |`cublasHgemmBatched` |`hipblasHgemmBatched` | 9.0 |
|`cublasSgemmBatched` |`hipblasSgemmBatched` | |`cublasSgemmBatched` |`hipblasSgemmBatched` |
|`cublasDgemmBatched` |`hipblasDgemmBatched` | |`cublasDgemmBatched` |`hipblasDgemmBatched` |
|`cublasCgemmBatched` | | |`cublasCgemmBatched` |`hipblasCgemmBatched` |
|`cublasCgemm3mBatched` | | 8.0 | |`cublasCgemm3mBatched` | | 8.0 |
|`cublasZgemmBatched` | | |`cublasZgemmBatched` |`hipblasZgemmBatched` |
|`cublasGemmBatchedEx` | | 9.1 | |`cublasGemmBatchedEx` | | 9.1 |
|`cublasGemmStridedBatchedEx` | | 9.1 | |`cublasGemmStridedBatchedEx` | | 9.1 |
|`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` | 8.0 | |`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` | 8.0 |
|`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` | 8.0 | |`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` | 8.0 |
|`cublasCgemmStridedBatched` | | 8.0 | |`cublasCgemmStridedBatched` |`hipblasCgemmStridedBatched` | 8.0 |
|`cublasCgemm3mStridedBatched` | | 8.0 | |`cublasCgemm3mStridedBatched` | | 8.0 |
|`cublasZgemmStridedBatched` | | 8.0 | |`cublasZgemmStridedBatched` |`hipblasZgemmStridedBatched` | 8.0 |
|`cublasHgemmStridedBatched` | | 8.0 | |`cublasHgemmStridedBatched` |`hipblasHgemmStridedBatched` | 8.0 |
|`cublasSgeam` |`hipblasSgeam` | |`cublasSgeam` |`hipblasSgeam` |
|`cublasDgeam` |`hipblasDgeam` | |`cublasDgeam` |`hipblasDgeam` |
|`cublasCgeam` | | |`cublasCgeam` | |
@@ -1067,14 +1067,14 @@
| 4 |*`CUDA_C_32F`* | 8.0 |*`HIPBLAS_C_32F`* | 154 | | 4 |*`CUDA_C_32F`* | 8.0 |*`HIPBLAS_C_32F`* | 154 |
| 1 |*`CUDA_R_64F`* | 8.0 |*`HIPBLAS_R_64F`* | 152 | | 1 |*`CUDA_R_64F`* | 8.0 |*`HIPBLAS_R_64F`* | 152 |
| 5 |*`CUDA_C_64F`* | 8.0 |*`HIPBLAS_C_64F`* | 155 | | 5 |*`CUDA_C_64F`* | 8.0 |*`HIPBLAS_C_64F`* | 155 |
| 3 |*`CUDA_R_8I`* | 8.0 | | | 3 |*`CUDA_R_8I`* | 8.0 |*`HIPBLAS_R_8I`* | 160 |
| 7 |*`CUDA_C_8I`* | 8.0 | | | 7 |*`CUDA_C_8I`* | 8.0 |*`HIPBLAS_C_8I`* | 164 |
| 8 |*`CUDA_R_8U`* | 8.0 | | | 8 |*`CUDA_R_8U`* | 8.0 |*`HIPBLAS_R_8U`* | 161 |
| 9 |*`CUDA_C_8U`* | 8.0 | | | 9 |*`CUDA_C_8U`* | 8.0 |*`HIPBLAS_C_8U`* | 165 |
| 10 |*`CUDA_R_32I`* | 8.0 | | | 10 |*`CUDA_R_32I`* | 8.0 |*`HIPBLAS_R_32I`* | 162 |
| 11 |*`CUDA_C_32I`* | 8.0 | | | 11 |*`CUDA_C_32I`* | 8.0 |*`HIPBLAS_C_32I`* | 166 |
| 12 |*`CUDA_R_32U`* | 8.0 | | | 12 |*`CUDA_R_32U`* | 8.0 |*`HIPBLAS_R_32U`* | 163 |
| 13 |*`CUDA_C_32U`* | 8.0 | | | 13 |*`CUDA_C_32U`* | 8.0 |*`HIPBLAS_C_32U`* | 167 |
| struct |`cudaExternalMemoryBufferDesc` | 10.0 | | | struct |`cudaExternalMemoryBufferDesc` | 10.0 | |
| struct |`cudaExternalMemoryHandleDesc` | 10.0 | | | struct |`cudaExternalMemoryHandleDesc` | 10.0 | |
| struct |`cudaExternalMemoryMipmappedArrayDesc` | 10.0 | | | struct |`cudaExternalMemoryMipmappedArrayDesc` | 10.0 | |
@@ -64,108 +64,91 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
// NRM2 // NRM2
{"cublasSnrm2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasSnrm2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasDnrm2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasDnrm2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasScnrm2", {"hipblasScnrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasScnrm2", {"hipblasScnrm2", "rocblas_scnrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasDznrm2", {"hipblasDznrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDznrm2", {"hipblasDznrm2", "rocblas_dznrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasNrm2Ex", {"hipblasNrm2Ex", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasNrm2Ex", {"hipblasNrm2Ex", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// DOT // DOT
{"cublasSdot", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS}}, {"cublasSdot", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA
{"cublasSdotBatched", {"hipblasSdotBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDdot", {"hipblasDdot", "rocblas_ddot", CONV_LIB_FUNC, API_BLAS}}, {"cublasDdot", {"hipblasDdot", "rocblas_ddot", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA {"cublasCdotu", {"hipblasCdotu", "rocblas_cdotu", CONV_LIB_FUNC, API_BLAS}},
{"cublasDdotBatched", {"hipblasDdotBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCdotc", {"hipblasCdotc", "rocblas_cdotc", CONV_LIB_FUNC, API_BLAS}},
{"cublasCdotu", {"hipblasCdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdotu", {"hipblasZdotu", "rocblas_zdotu", CONV_LIB_FUNC, API_BLAS}},
{"cublasCdotc", {"hipblasCdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdotc", {"hipblasZdotc", "rocblas_zdotc", CONV_LIB_FUNC, API_BLAS}},
{"cublasZdotu", {"hipblasZdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZdotc", {"hipblasZdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// SCAL // SCAL
{"cublasSscal", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS}}, {"cublasSscal", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA
{"cublasSscalBatched", {"hipblasSscalBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDscal", {"hipblasDscal", "rocblas_dscal", CONV_LIB_FUNC, API_BLAS}}, {"cublasDscal", {"hipblasDscal", "rocblas_dscal", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA {"cublasCscal", {"hipblasCscal", "rocblas_cscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasDscalBatched", {"hipblasDscalBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsscal", {"hipblasCsscal", "rocblas_csscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasCscal", {"hipblasCscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZscal", {"hipblasZscal", "rocblas_zscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsscal", {"hipblasCsscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdscal", {"hipblasZdscal", "rocblas_zdscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasZscal", {"hipblasZscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZdscal", {"hipblasZdscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// AXPY // AXPY
{"cublasSaxpy", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS}}, {"cublasSaxpy", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasSaxpyBatched", {"hipblasSaxpyBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDaxpy", {"hipblasDaxpy", "rocblas_daxpy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDaxpy", {"hipblasDaxpy", "rocblas_daxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasCaxpy", {"hipblasCaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCaxpy", {"hipblasCaxpy", "rocblas_caxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasZaxpy", {"hipblasZaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZaxpy", {"hipblasZaxpy", "rocblas_zaxpy", CONV_LIB_FUNC, API_BLAS}},
// COPY // COPY
{"cublasScopy", {"hipblasScopy", "rocblas_scopy", CONV_LIB_FUNC, API_BLAS}}, {"cublasScopy", {"hipblasScopy", "rocblas_scopy", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA
{"cublasScopyBatched", {"hipblasScopyBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDcopy", {"hipblasDcopy", "rocblas_dcopy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDcopy", {"hipblasDcopy", "rocblas_dcopy", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA {"cublasCcopy", {"hipblasCcopy", "rocblas_ccopy", CONV_LIB_FUNC, API_BLAS}},
{"cublasDcopyBatched", {"hipblasDcopyBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZcopy", {"hipblasZcopy", "rocblas_zcopy", CONV_LIB_FUNC, API_BLAS}},
{"cublasCcopy", {"hipblasCcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZcopy", {"hipblasZcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// SWAP // SWAP
{"cublasSswap", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasSswap", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasDswap", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDswap", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasCswap", {"hipblasCswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCswap", {"hipblasCswap", "rocblas_cswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasZswap", {"hipblasZswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZswap", {"hipblasZswap", "rocblas_zswap", CONV_LIB_FUNC, API_BLAS}},
// AMAX // AMAX
{"cublasIsamax", {"hipblasIsamax", "rocblas_isamax", CONV_LIB_FUNC, API_BLAS}}, {"cublasIsamax", {"hipblasIsamax", "rocblas_isamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIdamax", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}}, {"cublasIdamax", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIcamax", {"hipblasIcamax", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIcamax", {"hipblasIcamax", "rocblas_icamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIzamax", {"hipblasIzamax", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIzamax", {"hipblasIzamax", "rocblas_izamax", CONV_LIB_FUNC, API_BLAS}},
// AMIN // AMIN
{"cublasIsamin", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIsamin", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIdamin", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIdamin", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIcamin", {"hipblasIcamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIcamin", {"hipblasIcamin", "rocblas_icamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIzamin", {"hipblasIzamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIzamin", {"hipblasIzamin", "rocblas_izamin", CONV_LIB_FUNC, API_BLAS}},
// ASUM // ASUM
{"cublasSasum", {"hipblasSasum", "rocblas_sasum", CONV_LIB_FUNC, API_BLAS}}, {"cublasSasum", {"hipblasSasum", "rocblas_sasum", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA
{"cublasSasumBatched", {"hipblasSasumBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDasum", {"hipblasDasum", "rocblas_dasum", CONV_LIB_FUNC, API_BLAS}}, {"cublasDasum", {"hipblasDasum", "rocblas_dasum", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA {"cublasScasum", {"hipblasScasum", "rocblas_scasum", CONV_LIB_FUNC, API_BLAS}},
{"cublasDasumBatched", {"hipblasDasumBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDzasum", {"hipblasDzasum", "rocblas_dzasum", CONV_LIB_FUNC, API_BLAS}},
{"cublasScasum", {"hipblasScasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasDzasum", {"hipblasDzasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// ROT // ROT
{"cublasSrot", {"hipblasSrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrot", {"hipblasSrot", "rocblas_srot", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrot", {"hipblasDrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrot", {"hipblasDrot", "rocblas_drot", CONV_LIB_FUNC, API_BLAS}},
{"cublasCrot", {"hipblasCrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCrot", {"hipblasCrot", "rocblas_crot", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsrot", {"hipblasCsrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsrot", {"hipblasCsrot", "rocblas_csrot", CONV_LIB_FUNC, API_BLAS}},
{"cublasZrot", {"hipblasZrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZrot", {"hipblasZrot", "rocblas_zrot", CONV_LIB_FUNC, API_BLAS}},
{"cublasZdrot", {"hipblasZdrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdrot", {"hipblasZdrot", "rocblas_zdrot", CONV_LIB_FUNC, API_BLAS}},
// ROTG // ROTG
{"cublasSrotg", {"hipblasSrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotg", {"hipblasSrotg", "rocblas_srotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotg", {"hipblasDrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotg", {"hipblasDrotg", "rocblas_drotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasCrotg", {"hipblasCrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCrotg", {"hipblasCrotg", "rocblas_crotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasZrotg", {"hipblasZrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZrotg", {"hipblasZrotg", "rocblas_zrotg", CONV_LIB_FUNC, API_BLAS}},
// ROTM // ROTM
{"cublasSrotm", {"hipblasSrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotm", {"hipblasSrotm", "rocblas_srotm", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotm", {"hipblasDrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotm", {"hipblasDrotm", "rocblas_drotm", CONV_LIB_FUNC, API_BLAS}},
// ROTMG // ROTMG
{"cublasSrotmg", {"hipblasSrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotmg", {"hipblasSrotmg", "rocblas_srotmg", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotmg", {"hipblasDrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotmg", {"hipblasDrotmg", "rocblas_drotmg", CONV_LIB_FUNC, API_BLAS}},
// GEMV // GEMV
{"cublasSgemv", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}}, {"cublasSgemv", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}},
// NOTE: there is no such a function in CUDA // NOTE: there is no such a function in CUDA
{"cublasSgemvBatched", {"hipblasSgemvBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSgemvBatched", {"hipblasSgemvBatched", "rocblas_sgemv_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasDgemv", {"hipblasDgemv", "rocblas_dgemv", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemv", {"hipblasDgemv", "rocblas_dgemv", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemv", {"hipblasCgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemv", {"hipblasCgemv", "rocblas_cgemv", CONV_LIB_FUNC, API_BLAS}},
{"cublasZgemv", {"hipblasZgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemv", {"hipblasZgemv", "rocblas_zgemv", CONV_LIB_FUNC, API_BLAS}},
// GBMV // GBMV
{"cublasSgbmv", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSgbmv", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -192,8 +175,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZtpmv", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtpmv", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// TRSV // TRSV
{"cublasStrsv", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasStrsv", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS}},
{"cublasDtrsv", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDtrsv", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS}},
{"cublasCtrsv", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCtrsv", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZtrsv", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsv", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -238,8 +221,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZgerc", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgerc", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// SYR/HER // SYR/HER
{"cublasSsyr", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasSsyr", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS}},
{"cublasDsyr", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDsyr", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsyr", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsyr", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZsyr", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZsyr", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasCher", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCher", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -269,23 +252,23 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
// GEMM // GEMM
{"cublasSgemm", {"hipblasSgemm", "rocblas_sgemm", CONV_LIB_FUNC, API_BLAS}}, {"cublasSgemm", {"hipblasSgemm", "rocblas_sgemm", CONV_LIB_FUNC, API_BLAS}},
{"cublasDgemm", {"hipblasDgemm", "rocblas_dgemm", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemm", {"hipblasDgemm", "rocblas_dgemm", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemm", {"hipblasCgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm", {"hipblasCgemm", "rocblas_cgemm", CONV_LIB_FUNC, API_BLAS}},
{"cublasZgemm", {"hipblasZgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemm", {"hipblasZgemm", "rocblas_zgemm", CONV_LIB_FUNC, API_BLAS}},
{"cublasHgemm", {"hipblasHgemm", "rocblas_hgemm", CONV_LIB_FUNC, API_BLAS}}, {"cublasHgemm", {"hipblasHgemm", "rocblas_hgemm", CONV_LIB_FUNC, API_BLAS}},
// BATCH GEMM // BATCH GEMM
{"cublasSgemmBatched", {"hipblasSgemmBatched", "", CONV_LIB_FUNC, API_BLAS, ROC_UNSUPPORTED}}, {"cublasSgemmBatched", {"hipblasSgemmBatched", "rocblas_sgemm_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasDgemmBatched", {"hipblasDgemmBatched", "", CONV_LIB_FUNC, API_BLAS, ROC_UNSUPPORTED}}, {"cublasDgemmBatched", {"hipblasDgemmBatched", "rocblas_dgemm_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasHgemmBatched", {"hipblasHgemmBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasHgemmBatched", {"hipblasHgemmBatched", "rocblas_hgemm_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", "rocblas_sgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}}, {"cublasSgemmStridedBatched", {"hipblasSgemmStridedBatched", "rocblas_sgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", "rocblas_dgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemmStridedBatched", {"hipblasDgemmStridedBatched", "rocblas_dgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemmBatched", {"hipblasCgemmBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemmBatched", {"hipblasCgemmBatched", "rocblas_cgemm_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm3mBatched", {"hipblasCgemm3mBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZgemmBatched", {"hipblasZgemmBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemmBatched", {"hipblasZgemmBatched", "rocblas_zgemm_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", "rocblas_cgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", "rocblas_zgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}},
{"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", "rocblas_hgemm_strided_batched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", "rocblas_hgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}},
// SYRK // SYRK
{"cublasSsyrk", {"hipblasSsyrk", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSsyrk", {"hipblasSsyrk", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -334,8 +317,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZtrsm", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsm", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// TRMM // TRMM
{"cublasStrmm", {"hipblasStrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasStrmm", {"hipblasStrmm", "rocblas_strmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}},
{"cublasDtrmm", {"hipblasDtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDtrmm", {"hipblasDtrmm", "rocblas_dtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}},
{"cublasCtrmm", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCtrmm", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZtrmm", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrmm", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -420,8 +403,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
// GEMV // GEMV
{"cublasSgemv_v2", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}}, {"cublasSgemv_v2", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}},
{"cublasDgemv_v2", {"hipblasDgemv", "rocblas_dgemv", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemv_v2", {"hipblasDgemv", "rocblas_dgemv", CONV_LIB_FUNC, API_BLAS}},
{"cublasCgemv_v2", {"hipblasCgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemv_v2", {"hipblasCgemv", "rocblas_cgemv", CONV_LIB_FUNC, API_BLAS}},
{"cublasZgemv_v2", {"hipblasZgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemv_v2", {"hipblasZgemv", "rocblas_zgemv", CONV_LIB_FUNC, API_BLAS}},
// GBMV // GBMV
{"cublasSgbmv_v2", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSgbmv_v2", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -448,8 +431,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZtpmv_v2", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtpmv_v2", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// TRSV // TRSV
{"cublasStrsv_v2", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasStrsv_v2", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS}},
{"cublasDtrsv_v2", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDtrsv_v2", {"hipblasDtrsv", "rocblas_dtrsv", CONV_LIB_FUNC, API_BLAS}},
{"cublasCtrsv_v2", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCtrsv_v2", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZtrsv_v2", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsv_v2", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -494,8 +477,8 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZgerc_v2", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgerc_v2", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// SYR/HER // SYR/HER
{"cublasSsyr_v2", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasSsyr_v2", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS}},
{"cublasDsyr_v2", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDsyr_v2", {"hipblasDsyr", "rocblas_dsyr", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsyr_v2", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsyr_v2", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZsyr_v2", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZsyr_v2", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasCher_v2", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCher_v2", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -528,7 +511,7 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasCgemm_v2", {"hipblasCgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm_v2", {"hipblasCgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasCgemm3m", {"hipblasCgemm3m", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm3m", {"hipblasCgemm3m", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasCgemm3mEx", {"hipblasCgemm3mEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm3mEx", {"hipblasCgemm3mEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZgemm_v2", {"hipblasZgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemm_v2", {"hipblasZgemm", "rocblas_zgemm", CONV_LIB_FUNC, API_BLAS}},
{"cublasZgemm3m", {"hipblasZgemm3m", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZgemm3m", {"hipblasZgemm3m", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
//IO in FP16 / FP32, computation in float //IO in FP16 / FP32, computation in float
@@ -586,16 +569,16 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasZtrsm_v2", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsm_v2", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// TRMM // TRMM
{"cublasStrmm_v2", {"hipblasStrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasStrmm_v2", {"hipblasStrmm", "rocblas_strmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}},
{"cublasDtrmm_v2", {"hipblasDtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDtrmm_v2", {"hipblasDtrmm", "rocblas_dtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}},
{"cublasCtrmm_v2", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasCtrmm_v2", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasZtrmm_v2", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasZtrmm_v2", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
// NRM2 // NRM2
{"cublasSnrm2_v2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasSnrm2_v2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasDnrm2_v2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasDnrm2_v2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasScnrm2_v2", {"hipblasScnrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasScnrm2_v2", {"hipblasScnrm2", "rocblas_scnrm2", CONV_LIB_FUNC, API_BLAS}},
{"cublasDznrm2_v2", {"hipblasDznrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDznrm2_v2", {"hipblasDznrm2", "rocblas_dznrm2", CONV_LIB_FUNC, API_BLAS}},
// DOT // DOT
{"cublasDotEx", {"hipblasDotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDotEx", {"hipblasDotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
@@ -604,85 +587,85 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP{
{"cublasSdot_v2", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS}}, {"cublasSdot_v2", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS}},
{"cublasDdot_v2", {"hipblasDdot", "rocblas_ddot", CONV_LIB_FUNC, API_BLAS}}, {"cublasDdot_v2", {"hipblasDdot", "rocblas_ddot", CONV_LIB_FUNC, API_BLAS}},
{"cublasCdotu_v2", {"hipblasCdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCdotu_v2", {"hipblasCdotu", "rocblas_cdotu", CONV_LIB_FUNC, API_BLAS}},
{"cublasCdotc_v2", {"hipblasCdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCdotc_v2", {"hipblasCdotc", "rocblas_cdotc", CONV_LIB_FUNC, API_BLAS,}},
{"cublasZdotu_v2", {"hipblasZdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdotu_v2", {"hipblasZdotu", "rocblas_zdotu", CONV_LIB_FUNC, API_BLAS}},
{"cublasZdotc_v2", {"hipblasZdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdotc_v2", {"hipblasZdotc", "rocblas_zdotc", CONV_LIB_FUNC, API_BLAS}},
// SCAL // SCAL
{"cublasScalEx", {"hipblasScalEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasScalEx", {"hipblasScalEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSscal_v2", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS}}, {"cublasSscal_v2", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasDscal_v2", {"hipblasDscal", "rocblas_dscal", CONV_LIB_FUNC, API_BLAS}}, {"cublasDscal_v2", {"hipblasDscal", "rocblas_dscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasCscal_v2", {"hipblasCscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCscal_v2", {"hipblasCscal", "rocblas_cscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsscal_v2", {"hipblasCsscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsscal_v2", {"hipblasCsscal", "rocblas_csscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasZscal_v2", {"hipblasZscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZscal_v2", {"hipblasZscal", "rocblas_zscal", CONV_LIB_FUNC, API_BLAS}},
{"cublasZdscal_v2", {"hipblasZdscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdscal_v2", {"hipblasZdscal", "rocblas_zdscal", CONV_LIB_FUNC, API_BLAS}},
// AXPY // AXPY
{"cublasAxpyEx", {"hipblasAxpyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasAxpyEx", {"hipblasAxpyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSaxpy_v2", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS}}, {"cublasSaxpy_v2", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasDaxpy_v2", {"hipblasDaxpy", "rocblas_daxpy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDaxpy_v2", {"hipblasDaxpy", "rocblas_daxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasCaxpy_v2", {"hipblasCaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCaxpy_v2", {"hipblasCaxpy", "rocblas_caxpy", CONV_LIB_FUNC, API_BLAS}},
{"cublasZaxpy_v2", {"hipblasZaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZaxpy_v2", {"hipblasZaxpy", "rocblas_zaxpy", CONV_LIB_FUNC, API_BLAS}},
// COPY // COPY
{"cublasCopyEx", {"hipblasCopyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCopyEx", {"hipblasCopyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasScopy_v2", {"hipblasScopy", "rocblas_scopy", CONV_LIB_FUNC, API_BLAS}}, {"cublasScopy_v2", {"hipblasScopy", "rocblas_scopy", CONV_LIB_FUNC, API_BLAS}},
{"cublasDcopy_v2", {"hipblasDcopy", "rocblas_dcopy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDcopy_v2", {"hipblasDcopy", "rocblas_dcopy", CONV_LIB_FUNC, API_BLAS}},
{"cublasCcopy_v2", {"hipblasCcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCcopy_v2", {"hipblasCcopy", "rocblas_ccopy", CONV_LIB_FUNC, API_BLAS}},
{"cublasZcopy_v2", {"hipblasZcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZcopy_v2", {"hipblasZcopy", "rocblas_zcopy", CONV_LIB_FUNC, API_BLAS}},
// SWAP // SWAP
{"cublasSwapEx", {"hipblasSwapEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSwapEx", {"hipblasSwapEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSswap_v2", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasSswap_v2", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasDswap_v2", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasDswap_v2", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasCswap_v2", {"hipblasCswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCswap_v2", {"hipblasCswap", "rocblas_cswap", CONV_LIB_FUNC, API_BLAS}},
{"cublasZswap_v2", {"hipblasZswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZswap_v2", {"hipblasZswap", "rocblas_zswap", CONV_LIB_FUNC, API_BLAS}},
// AMAX // AMAX
{"cublasIamaxEx", {"hipblasIamaxEx", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIamaxEx", {"hipblasIamaxEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasIsamax_v2", {"hipblasIsamax", "rocblas_isamax", CONV_LIB_FUNC, API_BLAS}}, {"cublasIsamax_v2", {"hipblasIsamax", "rocblas_isamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIdamax_v2", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}}, {"cublasIdamax_v2", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIcamax_v2", {"hipblasIcamax", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIcamax_v2", {"hipblasIcamax", "rocblas_icamax", CONV_LIB_FUNC, API_BLAS}},
{"cublasIzamax_v2", {"hipblasIzamax", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIzamax_v2", {"hipblasIzamax", "rocblas_izamax", CONV_LIB_FUNC, API_BLAS}},
// AMIN // AMIN
{"cublasIaminEx", {"hipblasIaminEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIaminEx", {"hipblasIaminEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasIsamin_v2", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIsamin_v2", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIdamin_v2", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasIdamin_v2", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIcamin_v2", {"hipblasIcamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIcamin_v2", {"hipblasIcamin", "rocblas_icamin", CONV_LIB_FUNC, API_BLAS}},
{"cublasIzamin_v2", {"hipblasIzamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasIzamin_v2", {"hipblasIzamin", "rocblas_izamin", CONV_LIB_FUNC, API_BLAS}},
// ASUM // ASUM
{"cublasAsumEx", {"hipblasAsumEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasAsumEx", {"hipblasAsumEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSasum_v2", {"hipblasSasum", "rocblas_sasum", CONV_LIB_FUNC, API_BLAS}}, {"cublasSasum_v2", {"hipblasSasum", "rocblas_sasum", CONV_LIB_FUNC, API_BLAS}},
{"cublasDasum_v2", {"hipblasDasum", "rocblas_dasum", CONV_LIB_FUNC, API_BLAS}}, {"cublasDasum_v2", {"hipblasDasum", "rocblas_dasum", CONV_LIB_FUNC, API_BLAS}},
{"cublasScasum_v2", {"hipblasScasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasScasum_v2", {"hipblasScasum", "rocblas_scasum", CONV_LIB_FUNC, API_BLAS}},
{"cublasDzasum_v2", {"hipblasDzasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDzasum_v2", {"hipblasDzasum", "rocblas_dzasum", CONV_LIB_FUNC, API_BLAS}},
// ROT // ROT
{"cublasRotEx", {"hipblasRotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasRotEx", {"hipblasRotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSrot_v2", {"hipblasSrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrot_v2", {"hipblasSrot", "rocblas_srot", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrot_v2", {"hipblasDrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrot_v2", {"hipblasDrot", "rocblas_drot", CONV_LIB_FUNC, API_BLAS}},
{"cublasCrot_v2", {"hipblasCrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCrot_v2", {"hipblasCrot", "rocblas_crot", CONV_LIB_FUNC, API_BLAS}},
{"cublasCsrot_v2", {"hipblasCsrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCsrot_v2", {"hipblasCsrot", "rocblas_csrot", CONV_LIB_FUNC, API_BLAS}},
{"cublasZrot_v2", {"hipblasZrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZrot_v2", {"hipblasZrot", "rocblas_zrot", CONV_LIB_FUNC, API_BLAS}},
{"cublasZdrot_v2", {"hipblasZdrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZdrot_v2", {"hipblasZdrot", "rocblas_zdrot", CONV_LIB_FUNC, API_BLAS}},
// ROTG // ROTG
{"cublasRotgEx", {"hipblasRotgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasRotgEx", {"hipblasRotgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSrotg_v2", {"hipblasSrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotg_v2", {"hipblasSrotg", "rocblas_srotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotg_v2", {"hipblasDrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotg_v2", {"hipblasDrotg", "rocblas_drotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasCrotg_v2", {"hipblasCrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCrotg_v2", {"hipblasCrotg", "rocblas_crotg", CONV_LIB_FUNC, API_BLAS}},
{"cublasZrotg_v2", {"hipblasZrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZrotg_v2", {"hipblasZrotg", "rocblas_zrotg", CONV_LIB_FUNC, API_BLAS}},
// ROTM // ROTM
{"cublasRotmEx", {"hipblasRotmEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasRotmEx", {"hipblasRotmEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSrotm_v2", {"hipblasSrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotm_v2", {"hipblasSrotm", "rocblas_srotm", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotm_v2", {"hipblasDrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotm_v2", {"hipblasDrotm", "rocblas_drotm", CONV_LIB_FUNC, API_BLAS}},
// ROTMG // ROTMG
{"cublasRotmgEx", {"hipblasRotmgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasRotmgEx", {"hipblasRotmgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}},
{"cublasSrotmg_v2", {"hipblasSrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSrotmg_v2", {"hipblasSrotmg", "rocblas_srotmg", CONV_LIB_FUNC, API_BLAS}},
{"cublasDrotmg_v2", {"hipblasDrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasDrotmg_v2", {"hipblasDrotmg", "rocblas_drotmg", CONV_LIB_FUNC, API_BLAS}},
}; };
@@ -143,14 +143,14 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_TYPE_NAME_MAP{
{"CUDA_C_32F", {"HIPBLAS_C_32F", "rocblas_datatype_f32_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 4 // 154 {"CUDA_C_32F", {"HIPBLAS_C_32F", "rocblas_datatype_f32_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 4 // 154
{"CUDA_R_64F", {"HIPBLAS_R_64F", "rocblas_datatype_f64_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 // 152 {"CUDA_R_64F", {"HIPBLAS_R_64F", "rocblas_datatype_f64_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 1 // 152
{"CUDA_C_64F", {"HIPBLAS_C_64F", "rocblas_datatype_f64_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 5 // 155 {"CUDA_C_64F", {"HIPBLAS_C_64F", "rocblas_datatype_f64_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 5 // 155
{"CUDA_R_8I", {"HIPBLAS_R_8I", "rocblas_datatype_i8_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 3 // 160 {"CUDA_R_8I", {"HIPBLAS_R_8I", "rocblas_datatype_i8_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 3 // 160
{"CUDA_C_8I", {"HIPBLAS_C_8I", "rocblas_datatype_i8_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 7 // 164 {"CUDA_C_8I", {"HIPBLAS_C_8I", "rocblas_datatype_i8_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 7 // 164
{"CUDA_R_8U", {"HIPBLAS_R_8U", "rocblas_datatype_u8_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 // 161 {"CUDA_R_8U", {"HIPBLAS_R_8U", "rocblas_datatype_u8_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 8 // 161
{"CUDA_C_8U", {"HIPBLAS_C_8U", "rocblas_datatype_u8_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 9 // 165 {"CUDA_C_8U", {"HIPBLAS_C_8U", "rocblas_datatype_u8_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 9 // 165
{"CUDA_R_32I", {"HIPBLAS_R_32I", "rocblas_datatype_i32_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10 // 162 {"CUDA_R_32I", {"HIPBLAS_R_32I", "rocblas_datatype_i32_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 10 // 162
{"CUDA_C_32I", {"HIPBLAS_C_32I", "rocblas_datatype_i32_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 11 // 166 {"CUDA_C_32I", {"HIPBLAS_C_32I", "rocblas_datatype_i32_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 11 // 166
{"CUDA_R_32U", {"HIPBLAS_R_32U", "rocblas_datatype_u32_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 12 // 163 {"CUDA_R_32U", {"HIPBLAS_R_32U", "rocblas_datatype_u32_r", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 12 // 163
{"CUDA_C_32U", {"HIPBLAS_C_32U", "rocblas_datatype_u32_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 13 // 167 {"CUDA_C_32U", {"HIPBLAS_C_32U", "rocblas_datatype_u32_c", CONV_NUMERIC_LITERAL, API_RUNTIME}}, // 13 // 167
{"cublasHandle_t", {"hipblasHandle_t", "rocblas_handle", CONV_TYPE, API_BLAS}}, {"cublasHandle_t", {"hipblasHandle_t", "rocblas_handle", CONV_TYPE, API_BLAS}},
// TODO: dereferencing: typedef struct cublasContext *cublasHandle_t; // TODO: dereferencing: typedef struct cublasContext *cublasHandle_t;