diff --git a/bin/hipify-perl b/bin/hipify-perl index d838678fdf..31a0d0063c 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -407,8 +407,33 @@ sub simpleSubstitutions { $ft{'complex'} += s/\bmake_cuComplex\b/make_hipComplex/g; $ft{'complex'} += s/\bmake_cuDoubleComplex\b/make_hipDoubleComplex/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_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_v2\b/hipblasDasum/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/\bcublasDnrm2\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_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_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/\bcublasGetMatrix\b/hipblasGetMatrix/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/\bcublasGetVector\b/hipblasGetVector/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_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_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_v2\b/hipblasSasum/g; $ft{'library'} += s/\bcublasSaxpy\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_v2\b/hipblasScopy/g; $ft{'library'} += s/\bcublasSdot\b/hipblasSdot/g; @@ -466,15 +527,56 @@ sub simpleSubstitutions { $ft{'library'} += s/\bcublasSgemmStridedBatched\b/hipblasSgemmStridedBatched/g; $ft{'library'} += s/\bcublasSgemm_v2\b/hipblasSgemm/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/\bcublasSger\b/hipblasSger/g; $ft{'library'} += s/\bcublasSger_v2\b/hipblasSger/g; $ft{'library'} += s/\bcublasSnrm2\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_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_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/\bcudnnActivationBackward\b/hipdnnActivationBackward/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/\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_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_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_MAPPED\b/hipErrorAlreadyMapped/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_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_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_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/\bCUDNN_16BIT_INDICES\b/HIPDNN_16BIT_INDICES/g; $ft{'numeric_literal'} += s/\bCUDNN_32BIT_INDICES\b/HIPDNN_32BIT_INDICES/g; diff --git a/docs/markdown/CUBLAS_API_supported_by_HIP.md b/docs/markdown/CUBLAS_API_supported_by_HIP.md index 56fc2a89ac..3aac9f126e 100644 --- a/docs/markdown/CUBLAS_API_supported_by_HIP.md +++ b/docs/markdown/CUBLAS_API_supported_by_HIP.md @@ -137,128 +137,131 @@ |`cublasSnrm2_v2` |`hipblasSnrm2` | |`cublasDnrm2` |`hipblasDnrm2` | |`cublasDnrm2_v2` |`hipblasDnrm2` | -|`cublasScnrm2` | | -|`cublasScnrm2_v2` | | -|`cublasDznrm2` | | -|`cublasDznrm2_v2` | | +|`cublasScnrm2` |`hipblasScnrm2` | +|`cublasScnrm2_v2` |`hipblasScnrm2` | +|`cublasDznrm2` |`hipblasDznrm2` | +|`cublasDznrm2_v2` |`hipblasDznrm2` | |`cublasDotEx` | | 8.0 | |`cublasDotcEx` | | 8.0 | |`cublasSdot` |`hipblasSdot` | |`cublasSdot_v2` |`hipblasSdot` | |`cublasDdot` |`hipblasDdot` | |`cublasDdot_v2` |`hipblasDdot` | -|`cublasCdotu` | | -|`cublasCdotu_v2` | | -|`cublasCdotc` | | -|`cublasCdotc_v2` | | -|`cublasZdotu` | | -|`cublasZdotu_v2` | | -|`cublasZdotc` | | -|`cublasZdotc_v2` | | +|`cublasCdotu` |`hipblasCdotu` | +|`cublasCdotu_v2` |`hipblasCdotu` | +|`cublasCdotc` |`hipblasCdotc` | +|`cublasCdotc_v2` |`hipblasCdotc` | +|`cublasZdotu` |`hipblasZdotu` | +|`cublasZdotu_v2` |`hipblasZdotu` | +|`cublasZdotc` |`hipblasZdotc` | +|`cublasZdotc_v2` |`hipblasZdotc` | |`cublasScalEx` | | 8.0 | |`cublasSscal` |`hipblasSscal` | |`cublasSscal_v2` |`hipblasSscal` | |`cublasDscal` |`hipblasDscal` | |`cublasDscal_v2` |`hipblasDscal` | -|`cublasCscal` | | -|`cublasCscal_v2` | | -|`cublasCsscal` | | -|`cublasCsscal_v2` | | -|`cublasZscal` | | -|`cublasZscal_v2` | | -|`cublasZdscal` | | -|`cublasZdscal_v2` | | +|`cublasCscal` |`hipblasCscal` | +|`cublasCscal_v2` |`hipblasCscal` | +|`cublasCsscal` |`hipblasCsscal` | +|`cublasCsscal_v2` |`hipblasCsscal` | +|`cublasZscal` |`hipblasZscal` | +|`cublasZscal_v2` |`hipblasZscal` | +|`cublasZdscal` |`hipblasZdscal` | +|`cublasZdscal_v2` |`hipblasZdscal` | |`cublasAxpyEx` | | 8.0 | |`cublasSaxpy` |`hipblasSaxpy` | |`cublasSaxpy_v2` |`hipblasSaxpy` | |`cublasDaxpy` |`hipblasDaxpy` | |`cublasDaxpy_v2` |`hipblasDaxpy` | -|`cublasCaxpy` | | -|`cublasCaxpy_v2` | | -|`cublasZaxpy` | | -|`cublasZaxpy_v2` | | +|`cublasCaxpy` |`hipblasCaxpy` | +|`cublasCaxpy_v2` |`hipblasCaxpy` | +|`cublasZaxpy` |`hipblasZaxpy` | +|`cublasZaxpy_v2` |`hipblasZaxpy` | |`cublasScopy` |`hipblasScopy` | |`cublasScopy_v2` |`hipblasScopy` | |`cublasDcopy` |`hipblasDcopy` | |`cublasDcopy_v2` |`hipblasDcopy` | -|`cublasCcopy` | | +|`cublasCcopy` |`hipblasCcopy` | |`cublasCopyEx` | | 10.1 | -|`cublasCcopy_v2` | | -|`cublasZcopy` | | -|`cublasZcopy_v2` | | -|`cublasSswap` | | -|`cublasSswap_v2` | | -|`cublasDswap` | | -|`cublasDswap_v2` | | -|`cublasCswap` | | -|`cublasCswap_v2` | | -|`cublasZswap` | | -|`cublasZswap_v2` | | +|`cublasCcopy_v2` |`hipblasCcopy` | +|`cublasZcopy` |`hipblasZcopy` | +|`cublasZcopy_v2` |`hipblasZcopy` | +|`cublasSswap` |`hipblasSswap` | +|`cublasSswap_v2` |`hipblasSswap` | +|`cublasDswap` |`hipblasDswap` | +|`cublasDswap_v2` |`hipblasDswap` | +|`cublasCswap` |`hipblasCswap` | +|`cublasCswap_v2` |`hipblasCswap` | +|`cublasZswap` |`hipblasZswap` | +|`cublasZswap_v2` |`hipblasZswap` | |`cublasIamaxEx` | | 10.1 | |`cublasIsamax` |`hipblasIsamax` | |`cublasIsamax_v2` |`hipblasIsamax` | |`cublasIdamax` |`hipblasIdamax` | |`cublasIdamax_v2` |`hipblasIdamax` | -|`cublasIcamax` | | -|`cublasIcamax_v2` | | -|`cublasIzamax` | | -|`cublasIzamax_v2` | | +|`cublasIcamax` |`hipblasIcamax` | +|`cublasIcamax_v2` |`hipblasIcamax` | +|`cublasIzamax` |`hipblasIzamax` | +|`cublasIzamax_v2` |`hipblasIzamax` | |`cublasIaminEx` | | 10.1 | -|`cublasIsamin` | | -|`cublasIsamin_v2` | | -|`cublasIdamin` | | -|`cublasIdamin_v2` | | -|`cublasIcamin` | | -|`cublasIcamin_v2` | | -|`cublasIzamin` | | -|`cublasIzamin_v2` | | +|`cublasIsamin` |`hipblasIsamin` | +|`cublasIsamin_v2` |`hipblasIsamin` | +|`cublasIdamin` |`hipblasIdamin` | +|`cublasIdamin_v2` |`hipblasIdamin` | +|`cublasIcamin` |`hipblasIcamin` | +|`cublasIcamin_v2` |`hipblasIcamin` | +|`cublasIzamin` |`hipblasIzamin` | +|`cublasIzamin_v2` |`hipblasIzamin` | |`cublasAsumEx` | | 10.1 | |`cublasSasum` |`hipblasSasum` | |`cublasSasum_v2` |`hipblasSasum` | |`cublasDasum` |`hipblasDasum` | |`cublasDasum_v2` |`hipblasDasum` | -|`cublasScasum` | | -|`cublasScasum_v2` | | -|`cublasDzasum` | | -|`cublasDzasum_v2` | | +|`cublasScasum` |`hipblasScasum` | +|`cublasScasum_v2` |`hipblasScasum` | +|`cublasDzasum` |`hipblasDzasum` | +|`cublasDzasum_v2` |`hipblasDzasum` | |`cublasRotEx` | | 10.1 | -|`cublasSrot` | | -|`cublasSrot_v2` | | -|`cublasDrot` | | -|`cublasDrot_v2` | | -|`cublasCrot` | | -|`cublasCrot_v2` | | -|`cublasZrot` | | -|`cublasZrot_v2` | | +|`cublasSrot` |`hipblasSrot` | +|`cublasSrot_v2` |`hipblasSrot` | +|`cublasDrot` |`hipblasDrot` | +|`cublasDrot_v2` |`hipblasDrot` | +|`cublasCrot` |`hipblasCrot` | +|`cublasCrot_v2` |`hipblasCrot` | +|`cublasCsrot` |`hipblasCsrot` | +|`cublasCsrot_v2` |`hipblasCsrot` | +|`cublasZrot` |`hipblasZrot` | +|`cublasZrot_v2` |`hipblasZrot` | |`cublasRotgEx` | | 10.1 | -|`cublasZdrot` | | -|`cublasZdrot_v2` | | -|`cublasSrotg` | | -|`cublasSrotg_v2` | | -|`cublasDrotg` | | -|`cublasDrotg_v2` | | -|`cublasCrotg` | | -|`cublasCrotg_v2` | | -|`cublasZrotg` | | -|`cublasZrotg_v2` | | +|`cublasZdrot` |`hipblasZdrot` | +|`cublasZdrot_v2` |`hipblasZdrot` | +|`cublasSrotg` |`hipblasSrotg` | +|`cublasSrotg_v2` |`hipblasSrotg` | +|`cublasDrotg` |`hipblasDrotg` | +|`cublasDrotg_v2` |`hipblasDrotg` | +|`cublasCrotg` |`hipblasCrotg` | +|`cublasCrotg_v2` |`hipblasCrotg` | +|`cublasZrotg` |`hipblasZrotg` | +|`cublasZrotg_v2` |`hipblasZrotg` | |`cublasRotmEx` | | 10.1 | -|`cublasSrotm` | | -|`cublasSrotm_v2` | | -|`cublasDrotm` | | -|`cublasDrotm_v2` | | +|`cublasSrotm` |`hipblasSrotm` | +|`cublasSrotm_v2` |`hipblasSrotm` | +|`cublasDrotm` |`hipblasDrotm` | +|`cublasDrotm_v2` |`hipblasDrotm` | |`cublasRotmgEx` | | 10.1 | -|`cublasSrotmg` | | -|`cublasSrotmg_v2` | | -|`cublasDrotmg` | | -|`cublasDrotmg_v2` | | +|`cublasSrotmg` |`hipblasSrotmg` | +|`cublasSrotmg_v2` |`hipblasSrotmg` | +|`cublasDrotmg` |`hipblasDrotmg` | +|`cublasDrotmg_v2` |`hipblasDrotmg` | |`cublasSgemv` |`hipblasSgemv` | |`cublasSgemv_v2` |`hipblasSgemv` | +|`cublasSgemvBatched` |`hipblasSgemvBatched` | |`cublasDgemv` |`hipblasDgemv` | |`cublasDgemv_v2` |`hipblasDgemv` | -|`cublasCgemv` | | -|`cublasCgemv_v2` | | -|`cublasZgemv` | | -|`cublasZgemv_v2` | | +|`cublasCgemv` |`hipblasCgemv` | +|`cublasCgemv_v2` |`hipblasCgemv` | +|`cublasZgemv` |`hipblasZgemv` | +|`cublasZgemv_v2` |`hipblasZgemv` | |`cublasSgbmv` | | |`cublasSgbmv_v2` | | |`cublasDgbmv` | | @@ -291,10 +294,10 @@ |`cublasCtpmv_v2` | | |`cublasZtpmv` | | |`cublasZtpmv_v2` | | -|`cublasStrsv` | | -|`cublasStrsv_v2` | | -|`cublasDtrsv` | | -|`cublasDtrsv_v2` | | +|`cublasStrsv` |`hipblasStrsv` | +|`cublasStrsv_v2` |`hipblasStrsv` | +|`cublasDtrsv` |`hipblasDtrsv` | +|`cublasDtrsv_v2` |`hipblasDtrsv` | |`cublasCtrsv` | | |`cublasCtrsv_v2` | | |`cublasZtrsv` | | @@ -355,10 +358,10 @@ |`cublasZgeru_v2` | | |`cublasZgerc` | | |`cublasZgerc_v2` | | -|`cublasSsyr` | | -|`cublasSsyr_v2` | | -|`cublasDsyr` | | -|`cublasDsyr_v2` | | +|`cublasSsyr` |`hipblasSsyr` | +|`cublasSsyr_v2` |`hipblasSsyr` | +|`cublasDsyr` |`hipblasDsyr` | +|`cublasDsyr_v2` |`hipblasDsyr` | |`cublasCsyr` | | |`cublasCsyr_v2` | | |`cublasZsyr` | | @@ -403,8 +406,8 @@ |`cublasCgemm_v2` | | |`cublasCgemm3m` | | 8.0 | |`cublasCgemm3mEx` | | 8.0 | -|`cublasZgemm` | | -|`cublasZgemm_v2` | | +|`cublasZgemm` |`hipblasZgemm` | +|`cublasZgemm_v2` |`hipblasZgemm` | |`cublasZgemm3m` | | 8.0 | |`cublasHgemm` |`hipblasHgemm` | 7.5 | |`cublasSgemmEx` | | 7.5 | @@ -473,20 +476,20 @@ |`cublasCtrmm_v2` | | |`cublasZtrmm` | | |`cublasZtrmm_v2` | | -|`cublasHgemmBatched` | | 9.0 | +|`cublasHgemmBatched` |`hipblasHgemmBatched` | 9.0 | |`cublasSgemmBatched` |`hipblasSgemmBatched` | |`cublasDgemmBatched` |`hipblasDgemmBatched` | -|`cublasCgemmBatched` | | +|`cublasCgemmBatched` |`hipblasCgemmBatched` | |`cublasCgemm3mBatched` | | 8.0 | -|`cublasZgemmBatched` | | +|`cublasZgemmBatched` |`hipblasZgemmBatched` | |`cublasGemmBatchedEx` | | 9.1 | |`cublasGemmStridedBatchedEx` | | 9.1 | |`cublasSgemmStridedBatched` |`hipblasSgemmStridedBatched` | 8.0 | |`cublasDgemmStridedBatched` |`hipblasDgemmStridedBatched` | 8.0 | -|`cublasCgemmStridedBatched` | | 8.0 | +|`cublasCgemmStridedBatched` |`hipblasCgemmStridedBatched` | 8.0 | |`cublasCgemm3mStridedBatched` | | 8.0 | -|`cublasZgemmStridedBatched` | | 8.0 | -|`cublasHgemmStridedBatched` | | 8.0 | +|`cublasZgemmStridedBatched` |`hipblasZgemmStridedBatched` | 8.0 | +|`cublasHgemmStridedBatched` |`hipblasHgemmStridedBatched` | 8.0 | |`cublasSgeam` |`hipblasSgeam` | |`cublasDgeam` |`hipblasDgeam` | |`cublasCgeam` | | diff --git a/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md b/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md index 49d092c218..5464f24803 100644 --- a/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md +++ b/docs/markdown/CUDA_Runtime_API_functions_supported_by_HIP.md @@ -1067,14 +1067,14 @@ | 4 |*`CUDA_C_32F`* | 8.0 |*`HIPBLAS_C_32F`* | 154 | | 1 |*`CUDA_R_64F`* | 8.0 |*`HIPBLAS_R_64F`* | 152 | | 5 |*`CUDA_C_64F`* | 8.0 |*`HIPBLAS_C_64F`* | 155 | -| 3 |*`CUDA_R_8I`* | 8.0 | | -| 7 |*`CUDA_C_8I`* | 8.0 | | -| 8 |*`CUDA_R_8U`* | 8.0 | | -| 9 |*`CUDA_C_8U`* | 8.0 | | -| 10 |*`CUDA_R_32I`* | 8.0 | | -| 11 |*`CUDA_C_32I`* | 8.0 | | -| 12 |*`CUDA_R_32U`* | 8.0 | | -| 13 |*`CUDA_C_32U`* | 8.0 | | +| 3 |*`CUDA_R_8I`* | 8.0 |*`HIPBLAS_R_8I`* | 160 | +| 7 |*`CUDA_C_8I`* | 8.0 |*`HIPBLAS_C_8I`* | 164 | +| 8 |*`CUDA_R_8U`* | 8.0 |*`HIPBLAS_R_8U`* | 161 | +| 9 |*`CUDA_C_8U`* | 8.0 |*`HIPBLAS_C_8U`* | 165 | +| 10 |*`CUDA_R_32I`* | 8.0 |*`HIPBLAS_R_32I`* | 162 | +| 11 |*`CUDA_C_32I`* | 8.0 |*`HIPBLAS_C_32I`* | 166 | +| 12 |*`CUDA_R_32U`* | 8.0 |*`HIPBLAS_R_32U`* | 163 | +| 13 |*`CUDA_C_32U`* | 8.0 |*`HIPBLAS_C_32U`* | 167 | | struct |`cudaExternalMemoryBufferDesc` | 10.0 | | | struct |`cudaExternalMemoryHandleDesc` | 10.0 | | | struct |`cudaExternalMemoryMipmappedArrayDesc` | 10.0 | | diff --git a/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp b/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp index 4efb0bcdbb..8c9d3ea662 100644 --- a/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp +++ b/hipify-clang/src/CUDA2HIP_BLAS_API_functions.cpp @@ -64,108 +64,91 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ // NRM2 {"cublasSnrm2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasDnrm2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}}, - {"cublasScnrm2", {"hipblasScnrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDznrm2", {"hipblasDznrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasScnrm2", {"hipblasScnrm2", "rocblas_scnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDznrm2", {"hipblasDznrm2", "rocblas_dznrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasNrm2Ex", {"hipblasNrm2Ex", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // DOT {"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}}, - // NOTE: there is no such a function in CUDA - {"cublasDdotBatched", {"hipblasDdotBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCdotu", {"hipblasCdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCdotc", {"hipblasCdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdotu", {"hipblasZdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdotc", {"hipblasZdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCdotu", {"hipblasCdotu", "rocblas_cdotu", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCdotc", {"hipblasCdotc", "rocblas_cdotc", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdotu", {"hipblasZdotu", "rocblas_zdotu", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdotc", {"hipblasZdotc", "rocblas_zdotc", CONV_LIB_FUNC, API_BLAS}}, // SCAL {"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}}, - // NOTE: there is no such a function in CUDA - {"cublasDscalBatched", {"hipblasDscalBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCscal", {"hipblasCscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCsscal", {"hipblasCsscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZscal", {"hipblasZscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdscal", {"hipblasZdscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCscal", {"hipblasCscal", "rocblas_cscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCsscal", {"hipblasCsscal", "rocblas_csscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZscal", {"hipblasZscal", "rocblas_zscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdscal", {"hipblasZdscal", "rocblas_zdscal", CONV_LIB_FUNC, API_BLAS}}, // AXPY {"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}}, - {"cublasCaxpy", {"hipblasCaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZaxpy", {"hipblasZaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCaxpy", {"hipblasCaxpy", "rocblas_caxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZaxpy", {"hipblasZaxpy", "rocblas_zaxpy", CONV_LIB_FUNC, API_BLAS}}, // COPY {"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}}, - // NOTE: there is no such a function in CUDA - {"cublasDcopyBatched", {"hipblasDcopyBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCcopy", {"hipblasCcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZcopy", {"hipblasZcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCcopy", {"hipblasCcopy", "rocblas_ccopy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZcopy", {"hipblasZcopy", "rocblas_zcopy", CONV_LIB_FUNC, API_BLAS}}, // SWAP - {"cublasSswap", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap", {"hipblasCswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZswap", {"hipblasZswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSswap", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDswap", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCswap", {"hipblasCswap", "rocblas_cswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZswap", {"hipblasZswap", "rocblas_zswap", CONV_LIB_FUNC, API_BLAS}}, // AMAX {"cublasIsamax", {"hipblasIsamax", "rocblas_isamax", CONV_LIB_FUNC, API_BLAS}}, {"cublasIdamax", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}}, - {"cublasIcamax", {"hipblasIcamax", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasIzamax", {"hipblasIzamax", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasIcamax", {"hipblasIcamax", "rocblas_icamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIzamax", {"hipblasIzamax", "rocblas_izamax", CONV_LIB_FUNC, API_BLAS}}, // AMIN - {"cublasIsamin", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin", {"hipblasIcamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasIzamin", {"hipblasIzamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasIsamin", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIdamin", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIcamin", {"hipblasIcamin", "rocblas_icamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIzamin", {"hipblasIzamin", "rocblas_izamin", CONV_LIB_FUNC, API_BLAS}}, // ASUM {"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}}, - // NOTE: there is no such a function in CUDA - {"cublasDasumBatched", {"hipblasDasumBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasScasum", {"hipblasScasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDzasum", {"hipblasDzasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasScasum", {"hipblasScasum", "rocblas_scasum", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDzasum", {"hipblasDzasum", "rocblas_dzasum", CONV_LIB_FUNC, API_BLAS}}, // ROT - {"cublasSrot", {"hipblasSrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrot", {"hipblasDrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCrot", {"hipblasCrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCsrot", {"hipblasCsrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZrot", {"hipblasZrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdrot", {"hipblasZdrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrot", {"hipblasSrot", "rocblas_srot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrot", {"hipblasDrot", "rocblas_drot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCrot", {"hipblasCrot", "rocblas_crot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCsrot", {"hipblasCsrot", "rocblas_csrot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZrot", {"hipblasZrot", "rocblas_zrot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdrot", {"hipblasZdrot", "rocblas_zdrot", CONV_LIB_FUNC, API_BLAS}}, // ROTG - {"cublasSrotg", {"hipblasSrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotg", {"hipblasDrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCrotg", {"hipblasCrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZrotg", {"hipblasZrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotg", {"hipblasSrotg", "rocblas_srotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotg", {"hipblasDrotg", "rocblas_drotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCrotg", {"hipblasCrotg", "rocblas_crotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZrotg", {"hipblasZrotg", "rocblas_zrotg", CONV_LIB_FUNC, API_BLAS}}, // ROTM - {"cublasSrotm", {"hipblasSrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotm", {"hipblasDrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotm", {"hipblasSrotm", "rocblas_srotm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotm", {"hipblasDrotm", "rocblas_drotm", CONV_LIB_FUNC, API_BLAS}}, // ROTMG - {"cublasSrotmg", {"hipblasSrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotmg", {"hipblasDrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotmg", {"hipblasSrotmg", "rocblas_srotmg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotmg", {"hipblasDrotmg", "rocblas_drotmg", CONV_LIB_FUNC, API_BLAS}}, // GEMV {"cublasSgemv", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}}, // 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}}, - {"cublasCgemv", {"hipblasCgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZgemv", {"hipblasZgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCgemv", {"hipblasCgemv", "rocblas_cgemv", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZgemv", {"hipblasZgemv", "rocblas_zgemv", CONV_LIB_FUNC, API_BLAS}}, // GBMV {"cublasSgbmv", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -192,8 +175,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZtpmv", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // TRSV - {"cublasStrsv", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv", {"hipblasDtrsv", "rocblas_dtrsv", 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}}, {"cublasCtrsv", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsv", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -238,8 +221,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZgerc", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // SYR/HER - {"cublasSsyr", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr", {"hipblasDsyr", "rocblas_dsyr", 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}}, {"cublasCsyr", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZsyr", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCher", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -269,23 +252,23 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ // GEMM {"cublasSgemm", {"hipblasSgemm", "rocblas_sgemm", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemm", {"hipblasDgemm", "rocblas_dgemm", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCgemm", {"hipblasCgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZgemm", {"hipblasZgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCgemm", {"hipblasCgemm", "rocblas_cgemm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZgemm", {"hipblasZgemm", "rocblas_zgemm", CONV_LIB_FUNC, API_BLAS}}, {"cublasHgemm", {"hipblasHgemm", "rocblas_hgemm", CONV_LIB_FUNC, API_BLAS}}, // BATCH GEMM - {"cublasSgemmBatched", {"hipblasSgemmBatched", "", CONV_LIB_FUNC, API_BLAS, ROC_UNSUPPORTED}}, - {"cublasDgemmBatched", {"hipblasDgemmBatched", "", CONV_LIB_FUNC, API_BLAS, ROC_UNSUPPORTED}}, - {"cublasHgemmBatched", {"hipblasHgemmBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSgemmBatched", {"hipblasSgemmBatched", "rocblas_sgemm_batched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDgemmBatched", {"hipblasDgemmBatched", "rocblas_dgemm_batched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasHgemmBatched", {"hipblasHgemmBatched", "rocblas_hgemm_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}}, - {"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}}, - {"cublasZgemmBatched", {"hipblasZgemmBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasZgemmBatched", {"hipblasZgemmBatched", "rocblas_zgemm_batched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCgemmStridedBatched", {"hipblasCgemmStridedBatched", "rocblas_cgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}}, {"cublasCgemm3mStridedBatched", {"hipblasCgemm3mStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", "rocblas_hgemm_strided_batched", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasZgemmStridedBatched", {"hipblasZgemmStridedBatched", "rocblas_zgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}}, + {"cublasHgemmStridedBatched", {"hipblasHgemmStridedBatched", "rocblas_hgemm_strided_batched", CONV_LIB_FUNC, API_BLAS}}, // SYRK {"cublasSsyrk", {"hipblasSsyrk", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -334,8 +317,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZtrsm", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // TRMM - {"cublasStrmm", {"hipblasStrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDtrmm", {"hipblasDtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasStrmm", {"hipblasStrmm", "rocblas_strmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasDtrmm", {"hipblasDtrmm", "rocblas_dtrmm", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, {"cublasCtrmm", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrmm", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -420,8 +403,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ // GEMV {"cublasSgemv_v2", {"hipblasSgemv", "rocblas_sgemv", CONV_LIB_FUNC, API_BLAS}}, {"cublasDgemv_v2", {"hipblasDgemv", "rocblas_dgemv", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCgemv_v2", {"hipblasCgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZgemv_v2", {"hipblasZgemv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCgemv_v2", {"hipblasCgemv", "rocblas_cgemv", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZgemv_v2", {"hipblasZgemv", "rocblas_zgemv", CONV_LIB_FUNC, API_BLAS}}, // GBMV {"cublasSgbmv_v2", {"hipblasSgbmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -448,8 +431,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZtpmv_v2", {"hipblasZtpmv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // TRSV - {"cublasStrsv_v2", {"hipblasStrsv", "rocblas_strsv", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrsv_v2", {"hipblasDtrsv", "rocblas_dtrsv", 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}}, {"cublasCtrsv_v2", {"hipblasCtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZtrsv_v2", {"hipblasZtrsv", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -494,8 +477,8 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZgerc_v2", {"hipblasZgerc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // SYR/HER - {"cublasSsyr_v2", {"hipblasSsyr", "rocblas_ssyr", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDsyr_v2", {"hipblasDsyr", "rocblas_dsyr", 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}}, {"cublasCsyr_v2", {"hipblasCsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasZsyr_v2", {"hipblasZsyr", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCher_v2", {"hipblasCher", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -528,7 +511,7 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasCgemm_v2", {"hipblasCgemm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasCgemm3m", {"hipblasCgemm3m", "", 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}}, //IO in FP16 / FP32, computation in float @@ -586,16 +569,16 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasZtrsm_v2", {"hipblasZtrsm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // TRMM - {"cublasStrmm_v2", {"hipblasStrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDtrmm_v2", {"hipblasDtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCtrmm_v2", {"hipblasCtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasZtrmm_v2", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasStrmm_v2", {"hipblasStrmm", "rocblas_strmm", 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, UNSUPPORTED}}, + {"cublasZtrmm_v2", {"hipblasZtrmm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, // NRM2 {"cublasSnrm2_v2", {"hipblasSnrm2", "rocblas_snrm2", CONV_LIB_FUNC, API_BLAS}}, {"cublasDnrm2_v2", {"hipblasDnrm2", "rocblas_dnrm2", CONV_LIB_FUNC, API_BLAS}}, - {"cublasScnrm2_v2", {"hipblasScnrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDznrm2_v2", {"hipblasDznrm2", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasScnrm2_v2", {"hipblasScnrm2", "rocblas_scnrm2", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDznrm2_v2", {"hipblasDznrm2", "rocblas_dznrm2", CONV_LIB_FUNC, API_BLAS}}, // DOT {"cublasDotEx", {"hipblasDotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, @@ -604,85 +587,85 @@ const std::map CUDA_BLAS_FUNCTION_MAP{ {"cublasSdot_v2", {"hipblasSdot", "rocblas_sdot", CONV_LIB_FUNC, API_BLAS}}, {"cublasDdot_v2", {"hipblasDdot", "rocblas_ddot", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCdotu_v2", {"hipblasCdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCdotc_v2", {"hipblasCdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdotu_v2", {"hipblasZdotu", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdotc_v2", {"hipblasZdotc", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCdotu_v2", {"hipblasCdotu", "rocblas_cdotu", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCdotc_v2", {"hipblasCdotc", "rocblas_cdotc", CONV_LIB_FUNC, API_BLAS,}}, + {"cublasZdotu_v2", {"hipblasZdotu", "rocblas_zdotu", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdotc_v2", {"hipblasZdotc", "rocblas_zdotc", CONV_LIB_FUNC, API_BLAS}}, // SCAL {"cublasScalEx", {"hipblasScalEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSscal_v2", {"hipblasSscal", "rocblas_sscal", CONV_LIB_FUNC, API_BLAS}}, {"cublasDscal_v2", {"hipblasDscal", "rocblas_dscal", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCscal_v2", {"hipblasCscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCsscal_v2", {"hipblasCsscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZscal_v2", {"hipblasZscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdscal_v2", {"hipblasZdscal", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCscal_v2", {"hipblasCscal", "rocblas_cscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCsscal_v2", {"hipblasCsscal", "rocblas_csscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZscal_v2", {"hipblasZscal", "rocblas_zscal", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdscal_v2", {"hipblasZdscal", "rocblas_zdscal", CONV_LIB_FUNC, API_BLAS}}, // AXPY {"cublasAxpyEx", {"hipblasAxpyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSaxpy_v2", {"hipblasSaxpy", "rocblas_saxpy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDaxpy_v2", {"hipblasDaxpy", "rocblas_daxpy", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCaxpy_v2", {"hipblasCaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZaxpy_v2", {"hipblasZaxpy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCaxpy_v2", {"hipblasCaxpy", "rocblas_caxpy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZaxpy_v2", {"hipblasZaxpy", "rocblas_zaxpy", CONV_LIB_FUNC, API_BLAS}}, // COPY {"cublasCopyEx", {"hipblasCopyEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasScopy_v2", {"hipblasScopy", "rocblas_scopy", CONV_LIB_FUNC, API_BLAS}}, {"cublasDcopy_v2", {"hipblasDcopy", "rocblas_dcopy", CONV_LIB_FUNC, API_BLAS}}, - {"cublasCcopy_v2", {"hipblasCcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZcopy_v2", {"hipblasZcopy", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasCcopy_v2", {"hipblasCcopy", "rocblas_ccopy", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZcopy_v2", {"hipblasZcopy", "rocblas_zcopy", CONV_LIB_FUNC, API_BLAS}}, // SWAP {"cublasSwapEx", {"hipblasSwapEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasSswap_v2", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasDswap_v2", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasCswap_v2", {"hipblasCswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZswap_v2", {"hipblasZswap", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSswap_v2", {"hipblasSswap", "rocblas_sswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDswap_v2", {"hipblasDswap", "rocblas_dswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCswap_v2", {"hipblasCswap", "rocblas_cswap", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZswap_v2", {"hipblasZswap", "rocblas_zswap", CONV_LIB_FUNC, API_BLAS}}, // 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}}, {"cublasIdamax_v2", {"hipblasIdamax", "rocblas_idamax", CONV_LIB_FUNC, API_BLAS}}, - {"cublasIcamax_v2", {"hipblasIcamax", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIzamax_v2", {"hipblasIzamax", "", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, + {"cublasIcamax_v2", {"hipblasIcamax", "rocblas_icamax", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIzamax_v2", {"hipblasIzamax", "rocblas_izamax", CONV_LIB_FUNC, API_BLAS}}, // AMIN {"cublasIaminEx", {"hipblasIaminEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasIsamin_v2", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIdamin_v2", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS, HIP_UNSUPPORTED}}, - {"cublasIcamin_v2", {"hipblasIcamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasIzamin_v2", {"hipblasIzamin", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasIsamin_v2", {"hipblasIsamin", "rocblas_isamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIdamin_v2", {"hipblasIdamin", "rocblas_idamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIcamin_v2", {"hipblasIcamin", "rocblas_icamin", CONV_LIB_FUNC, API_BLAS}}, + {"cublasIzamin_v2", {"hipblasIzamin", "rocblas_izamin", CONV_LIB_FUNC, API_BLAS}}, // ASUM {"cublasAsumEx", {"hipblasAsumEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, {"cublasSasum_v2", {"hipblasSasum", "rocblas_sasum", CONV_LIB_FUNC, API_BLAS}}, {"cublasDasum_v2", {"hipblasDasum", "rocblas_dasum", CONV_LIB_FUNC, API_BLAS}}, - {"cublasScasum_v2", {"hipblasScasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDzasum_v2", {"hipblasDzasum", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasScasum_v2", {"hipblasScasum", "rocblas_scasum", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDzasum_v2", {"hipblasDzasum", "rocblas_dzasum", CONV_LIB_FUNC, API_BLAS}}, // ROT {"cublasRotEx", {"hipblasRotEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasSrot_v2", {"hipblasSrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrot_v2", {"hipblasDrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCrot_v2", {"hipblasCrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCsrot_v2", {"hipblasCsrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZrot_v2", {"hipblasZrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZdrot_v2", {"hipblasZdrot", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrot_v2", {"hipblasSrot", "rocblas_srot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrot_v2", {"hipblasDrot", "rocblas_drot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCrot_v2", {"hipblasCrot", "rocblas_crot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCsrot_v2", {"hipblasCsrot", "rocblas_csrot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZrot_v2", {"hipblasZrot", "rocblas_zrot", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZdrot_v2", {"hipblasZdrot", "rocblas_zdrot", CONV_LIB_FUNC, API_BLAS}}, // ROTG {"cublasRotgEx", {"hipblasRotgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasSrotg_v2", {"hipblasSrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotg_v2", {"hipblasDrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasCrotg_v2", {"hipblasCrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasZrotg_v2", {"hipblasZrotg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotg_v2", {"hipblasSrotg", "rocblas_srotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotg_v2", {"hipblasDrotg", "rocblas_drotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasCrotg_v2", {"hipblasCrotg", "rocblas_crotg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasZrotg_v2", {"hipblasZrotg", "rocblas_zrotg", CONV_LIB_FUNC, API_BLAS}}, // ROTM - {"cublasRotmEx", {"hipblasRotmEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasSrotm_v2", {"hipblasSrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotm_v2", {"hipblasDrotm", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasRotmEx", {"hipblasRotmEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotm_v2", {"hipblasSrotm", "rocblas_srotm", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotm_v2", {"hipblasDrotm", "rocblas_drotm", CONV_LIB_FUNC, API_BLAS}}, // ROTMG {"cublasRotmgEx", {"hipblasRotmgEx", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasSrotmg_v2", {"hipblasSrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, - {"cublasDrotmg_v2", {"hipblasDrotmg", "", CONV_LIB_FUNC, API_BLAS, UNSUPPORTED}}, + {"cublasSrotmg_v2", {"hipblasSrotmg", "rocblas_srotmg", CONV_LIB_FUNC, API_BLAS}}, + {"cublasDrotmg_v2", {"hipblasDrotmg", "rocblas_drotmg", CONV_LIB_FUNC, API_BLAS}}, }; diff --git a/hipify-clang/src/CUDA2HIP_BLAS_API_types.cpp b/hipify-clang/src/CUDA2HIP_BLAS_API_types.cpp index 6785b1d41b..a747eb0040 100644 --- a/hipify-clang/src/CUDA2HIP_BLAS_API_types.cpp +++ b/hipify-clang/src/CUDA2HIP_BLAS_API_types.cpp @@ -143,14 +143,14 @@ const std::map CUDA_BLAS_TYPE_NAME_MAP{ {"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_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_C_8I", {"HIPBLAS_C_8I", "rocblas_datatype_i8_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 7 // 164 - {"CUDA_R_8U", {"HIPBLAS_R_8U", "rocblas_datatype_u8_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 8 // 161 - {"CUDA_C_8U", {"HIPBLAS_C_8U", "rocblas_datatype_u8_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 9 // 165 - {"CUDA_R_32I", {"HIPBLAS_R_32I", "rocblas_datatype_i32_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 10 // 162 - {"CUDA_C_32I", {"HIPBLAS_C_32I", "rocblas_datatype_i32_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 11 // 166 - {"CUDA_R_32U", {"HIPBLAS_R_32U", "rocblas_datatype_u32_r", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 12 // 163 - {"CUDA_C_32U", {"HIPBLAS_C_32U", "rocblas_datatype_u32_c", CONV_NUMERIC_LITERAL, API_RUNTIME, HIP_UNSUPPORTED}}, // 13 // 167 + {"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}}, // 7 // 164 + {"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}}, // 9 // 165 + {"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}}, // 11 // 166 + {"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}}, // 13 // 167 {"cublasHandle_t", {"hipblasHandle_t", "rocblas_handle", CONV_TYPE, API_BLAS}}, // TODO: dereferencing: typedef struct cublasContext *cublasHandle_t;