Skip to content

Commit

Permalink
[HIPIFY][BLAS][6.2.0] cuBLAS support - Step 4 - 64-bit functions
Browse files Browse the repository at this point in the history
+ Updated synthetic tests, the regenerated `hipify-perl`, and `BLAS` `CUDA2HIP` documentation
  • Loading branch information
emankov committed Jun 25, 2024
1 parent 06d011b commit 4f2a0bc
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 16 deletions.
8 changes: 4 additions & 4 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -3809,6 +3809,7 @@ sub simpleSubstitutions {
subst("cublasCgemv", "hipblasCgemv_v2", "library");
subst("cublasCgemvBatched", "hipblasCgemvBatched_v2", "library");
subst("cublasCgemvStridedBatched", "hipblasCgemvStridedBatched_v2", "library");
subst("cublasCgemvStridedBatched_64", "hipblasCgemvStridedBatched_v2_64", "library");
subst("cublasCgemv_v2", "hipblasCgemv_v2", "library");
subst("cublasCgeqrfBatched", "hipblasCgeqrfBatched_v2", "library");
subst("cublasCgerc", "hipblasCgerc_v2", "library");
Expand Down Expand Up @@ -3923,6 +3924,7 @@ sub simpleSubstitutions {
subst("cublasDgemv", "hipblasDgemv", "library");
subst("cublasDgemvBatched", "hipblasDgemvBatched", "library");
subst("cublasDgemvStridedBatched", "hipblasDgemvStridedBatched", "library");
subst("cublasDgemvStridedBatched_64", "hipblasDgemvStridedBatched_64", "library");
subst("cublasDgemv_v2", "hipblasDgemv", "library");
subst("cublasDgeqrfBatched", "hipblasDgeqrfBatched", "library");
subst("cublasDger", "hipblasDger", "library");
Expand Down Expand Up @@ -4120,6 +4122,7 @@ sub simpleSubstitutions {
subst("cublasSgemv", "hipblasSgemv", "library");
subst("cublasSgemvBatched", "hipblasSgemvBatched", "library");
subst("cublasSgemvStridedBatched", "hipblasSgemvStridedBatched", "library");
subst("cublasSgemvStridedBatched_64", "hipblasSgemvStridedBatched_64", "library");
subst("cublasSgemv_v2", "hipblasSgemv", "library");
subst("cublasSgeqrfBatched", "hipblasSgeqrfBatched", "library");
subst("cublasSger", "hipblasSger", "library");
Expand Down Expand Up @@ -4225,6 +4228,7 @@ sub simpleSubstitutions {
subst("cublasZgemv", "hipblasZgemv_v2", "library");
subst("cublasZgemvBatched", "hipblasZgemvBatched_v2", "library");
subst("cublasZgemvStridedBatched", "hipblasZgemvStridedBatched_v2", "library");
subst("cublasZgemvStridedBatched_64", "hipblasZgemvStridedBatched_v2_64", "library");
subst("cublasZgemv_v2", "hipblasZgemv_v2", "library");
subst("cublasZgeqrfBatched", "hipblasZgeqrfBatched_v2", "library");
subst("cublasZgerc", "hipblasZgerc_v2", "library");
Expand Down Expand Up @@ -11378,7 +11382,6 @@ sub warnHipOnlyUnsupportedFunctions {
"cublasZgeru_64",
"cublasZgerc_v2_64",
"cublasZgerc_64",
"cublasZgemvStridedBatched_64",
"cublasZgemm_v2_64",
"cublasZgemm_64",
"cublasZgemmStridedBatched_64",
Expand Down Expand Up @@ -11443,7 +11446,6 @@ sub warnHipOnlyUnsupportedFunctions {
"cublasShutdown",
"cublasSger_v2_64",
"cublasSger_64",
"cublasSgemvStridedBatched_64",
"cublasSgemm_v2_64",
"cublasSgemm_64",
"cublasSgemmStridedBatched_64",
Expand Down Expand Up @@ -11587,7 +11589,6 @@ sub warnHipOnlyUnsupportedFunctions {
"cublasDmatinvBatched",
"cublasDger_v2_64",
"cublasDger_64",
"cublasDgemvStridedBatched_64",
"cublasDgemm_v2_64",
"cublasDgemm_64",
"cublasDgemmStridedBatched_64",
Expand Down Expand Up @@ -11665,7 +11666,6 @@ sub warnHipOnlyUnsupportedFunctions {
"cublasCgeru_64",
"cublasCgerc_v2_64",
"cublasCgerc_64",
"cublasCgemvStridedBatched_64",
"cublasCgemm_v2_64",
"cublasCgemm_64",
"cublasCgemmStridedBatched_64",
Expand Down
8 changes: 4 additions & 4 deletions docs/tables/CUBLAS_API_supported_by_HIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -1034,7 +1034,7 @@
|`cublasCgemvBatched`|11.6| | | |`hipblasCgemvBatched_v2`|6.0.0| | | | |
|`cublasCgemvBatched_64`|12.0| | | |`hipblasCgemvBatched_v2_64`|6.2.0| | | |6.2.0|
|`cublasCgemvStridedBatched`|11.6| | | |`hipblasCgemvStridedBatched_v2`|6.0.0| | | | |
|`cublasCgemvStridedBatched_64`|12.0| | | | | | | | | |
|`cublasCgemvStridedBatched_64`|12.0| | | |`hipblasCgemvStridedBatched_v2_64`|6.2.0| | | |6.2.0|
|`cublasChemm`| | | | |`hipblasChemm_v2`|6.0.0| | | | |
|`cublasChemm_64`|12.0| | | | | | | | | |
|`cublasChemm_v2`| | | | |`hipblasChemm_v2`|6.0.0| | | | |
Expand Down Expand Up @@ -1084,7 +1084,7 @@
|`cublasDgemvBatched`|11.6| | | |`hipblasDgemvBatched`|3.0.0| | | | |
|`cublasDgemvBatched_64`|12.0| | | |`hipblasDgemvBatched_64`|6.2.0| | | |6.2.0|
|`cublasDgemvStridedBatched`|11.6| | | |`hipblasDgemvStridedBatched`|3.0.0| | | | |
|`cublasDgemvStridedBatched_64`|12.0| | | | | | | | | |
|`cublasDgemvStridedBatched_64`|12.0| | | |`hipblasDgemvStridedBatched_64`|6.2.0| | | |6.2.0|
|`cublasDsymm`| | | | |`hipblasDsymm`|3.6.0| | | | |
|`cublasDsymm_64`|12.0| | | | | | | | | |
|`cublasDsymm_v2`| | | | |`hipblasDsymm`|3.6.0| | | | |
Expand Down Expand Up @@ -1136,7 +1136,7 @@
|`cublasSgemvBatched`|11.6| | | |`hipblasSgemvBatched`|1.6.0| | | | |
|`cublasSgemvBatched_64`|12.0| | | |`hipblasSgemvBatched_64`|6.2.0| | | |6.2.0|
|`cublasSgemvStridedBatched`|11.6| | | |`hipblasSgemvStridedBatched`|3.0.0| | | | |
|`cublasSgemvStridedBatched_64`|12.0| | | | | | | | | |
|`cublasSgemvStridedBatched_64`|12.0| | | |`hipblasSgemvStridedBatched_64`|6.2.0| | | |6.2.0|
|`cublasSsymm`| | | | |`hipblasSsymm`|3.6.0| | | | |
|`cublasSsymm_64`|12.0| | | | | | | | | |
|`cublasSsymm_v2`| | | | |`hipblasSsymm`|3.6.0| | | | |
Expand Down Expand Up @@ -1180,7 +1180,7 @@
|`cublasZgemvBatched`|11.6| | | |`hipblasZgemvBatched_v2`|6.0.0| | | | |
|`cublasZgemvBatched_64`|12.0| | | |`hipblasZgemvBatched_v2_64`|6.2.0| | | |6.2.0|
|`cublasZgemvStridedBatched`|11.6| | | |`hipblasZgemvStridedBatched_v2`|6.0.0| | | | |
|`cublasZgemvStridedBatched_64`|12.0| | | | | | | | | |
|`cublasZgemvStridedBatched_64`|12.0| | | |`hipblasZgemvStridedBatched_v2_64`|6.2.0| | | |6.2.0|
|`cublasZhemm`| | | | |`hipblasZhemm_v2`|6.0.0| | | | |
|`cublasZhemm_64`|12.0| | | | | | | | | |
|`cublasZhemm_v2`| | | | |`hipblasZhemm_v2`|6.0.0| | | | |
Expand Down
8 changes: 4 additions & 4 deletions docs/tables/CUBLAS_API_supported_by_HIP_and_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -1034,7 +1034,7 @@
|`cublasCgemvBatched`|11.6| | | |`hipblasCgemvBatched_v2`|6.0.0| | | | |`rocblas_cgemv_batched`|3.5.0| | | | |
|`cublasCgemvBatched_64`|12.0| | | |`hipblasCgemvBatched_v2_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasCgemvStridedBatched`|11.6| | | |`hipblasCgemvStridedBatched_v2`|6.0.0| | | | |`rocblas_cgemv_strided_batched`|3.5.0| | | | |
|`cublasCgemvStridedBatched_64`|12.0| | | | | | | | | | | | | | | |
|`cublasCgemvStridedBatched_64`|12.0| | | |`hipblasCgemvStridedBatched_v2_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasChemm`| | | | |`hipblasChemm_v2`|6.0.0| | | | |`rocblas_chemm`|3.5.0| | | | |
|`cublasChemm_64`|12.0| | | | | | | | | | | | | | | |
|`cublasChemm_v2`| | | | |`hipblasChemm_v2`|6.0.0| | | | |`rocblas_chemm`|3.5.0| | | | |
Expand Down Expand Up @@ -1084,7 +1084,7 @@
|`cublasDgemvBatched`|11.6| | | |`hipblasDgemvBatched`|3.0.0| | | | | | | | | | |
|`cublasDgemvBatched_64`|12.0| | | |`hipblasDgemvBatched_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasDgemvStridedBatched`|11.6| | | |`hipblasDgemvStridedBatched`|3.0.0| | | | | | | | | | |
|`cublasDgemvStridedBatched_64`|12.0| | | | | | | | | | | | | | | |
|`cublasDgemvStridedBatched_64`|12.0| | | |`hipblasDgemvStridedBatched_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasDsymm`| | | | |`hipblasDsymm`|3.6.0| | | | |`rocblas_dsymm`|3.5.0| | | | |
|`cublasDsymm_64`|12.0| | | | | | | | | | | | | | | |
|`cublasDsymm_v2`| | | | |`hipblasDsymm`|3.6.0| | | | |`rocblas_dsymm`|3.5.0| | | | |
Expand Down Expand Up @@ -1136,7 +1136,7 @@
|`cublasSgemvBatched`|11.6| | | |`hipblasSgemvBatched`|1.6.0| | | | | | | | | | |
|`cublasSgemvBatched_64`|12.0| | | |`hipblasSgemvBatched_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasSgemvStridedBatched`|11.6| | | |`hipblasSgemvStridedBatched`|3.0.0| | | | | | | | | | |
|`cublasSgemvStridedBatched_64`|12.0| | | | | | | | | | | | | | | |
|`cublasSgemvStridedBatched_64`|12.0| | | |`hipblasSgemvStridedBatched_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasSsymm`| | | | |`hipblasSsymm`|3.6.0| | | | |`rocblas_ssymm`|3.5.0| | | | |
|`cublasSsymm_64`|12.0| | | | | | | | | | | | | | | |
|`cublasSsymm_v2`| | | | |`hipblasSsymm`|3.6.0| | | | |`rocblas_ssymm`|3.5.0| | | | |
Expand Down Expand Up @@ -1180,7 +1180,7 @@
|`cublasZgemvBatched`|11.6| | | |`hipblasZgemvBatched_v2`|6.0.0| | | | |`rocblas_zgemv_batched`|3.5.0| | | | |
|`cublasZgemvBatched_64`|12.0| | | |`hipblasZgemvBatched_v2_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasZgemvStridedBatched`|11.6| | | |`hipblasZgemvStridedBatched_v2`|6.0.0| | | | |`rocblas_zgemv_strided_batched`|3.5.0| | | | |
|`cublasZgemvStridedBatched_64`|12.0| | | | | | | | | | | | | | | |
|`cublasZgemvStridedBatched_64`|12.0| | | |`hipblasZgemvStridedBatched_v2_64`|6.2.0| | | |6.2.0| | | | | | |
|`cublasZhemm`| | | | |`hipblasZhemm_v2`|6.0.0| | | | |`rocblas_zhemm`|3.5.0| | | | |
|`cublasZhemm_64`|12.0| | | | | | | | | | | | | | | |
|`cublasZhemm_v2`| | | | |`hipblasZhemm_v2`|6.0.0| | | | |`rocblas_zhemm`|3.5.0| | | | |
Expand Down
12 changes: 8 additions & 4 deletions src/CUDA2HIP_BLAS_API_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -459,13 +459,13 @@ const std::map<llvm::StringRef, hipCounter> CUDA_BLAS_FUNCTION_MAP {
{"cublasTSSgemvBatched", {"hipblasTSSgemvBatched", "rocblas_tssgemv_batched", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, HIP_UNSUPPORTED}},
{"cublasTSSgemvBatched_64", {"hipblasTSSgemvBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasSgemvStridedBatched", {"hipblasSgemvStridedBatched", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasSgemvStridedBatched_64", {"hipblasSgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasSgemvStridedBatched_64", {"hipblasSgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasDgemvStridedBatched", {"hipblasDgemvStridedBatched", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasDgemvStridedBatched_64", {"hipblasDgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasDgemvStridedBatched_64", {"hipblasDgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasCgemvStridedBatched", {"hipblasCgemvStridedBatched_v2", "rocblas_cgemv_strided_batched", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3}},
{"cublasCgemvStridedBatched_64", {"hipblasCgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasCgemvStridedBatched_64", {"hipblasCgemvStridedBatched_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasZgemvStridedBatched", {"hipblasZgemvStridedBatched_v2", "rocblas_zgemv_strided_batched", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3}},
{"cublasZgemvStridedBatched_64", {"hipblasZgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasZgemvStridedBatched_64", {"hipblasZgemvStridedBatched_v2_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, ROC_UNSUPPORTED}},
{"cublasHSHgemvStridedBatched", {"hipblasHSHgemvStridedBatched", "rocblas_hshgemv_strided_batched", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, HIP_UNSUPPORTED}},
{"cublasHSHgemvStridedBatched_64", {"hipblasHSHgemvStridedBatched_64", "", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, UNSUPPORTED}},
{"cublasHSSgemvStridedBatched", {"hipblasHSSgemvStridedBatched", "rocblas_hssgemv_strided_batched", CONV_LIB_FUNC, API_BLAS, SEC::BLAS_LEVEL_3, HIP_UNSUPPORTED}},
Expand Down Expand Up @@ -2070,6 +2070,10 @@ const std::map<llvm::StringRef, hipAPIversions> HIP_BLAS_FUNCTION_VER_MAP {
{"hipblasDgemvStridedBatched", {HIP_3000, HIP_0, HIP_0 }},
{"hipblasSgemvBatched", {HIP_1060, HIP_0, HIP_0 }},
{"hipblasDgemvBatched", {HIP_3000, HIP_0, HIP_0 }},
{"hipblasSgemvStridedBatched_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}},
{"hipblasDgemvStridedBatched_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}},
{"hipblasCgemvStridedBatched_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}},
{"hipblasZgemvStridedBatched_v2_64", {HIP_6020, HIP_0, HIP_0, HIP_LATEST}},

{"rocblas_status_to_string", {HIP_3050, HIP_0, HIP_0 }},
{"rocblas_sscal", {HIP_1050, HIP_0, HIP_0 }},
Expand Down
20 changes: 20 additions & 0 deletions tests/unit_tests/synthetic/libraries/cublas2hipblas_v2.cu
Original file line number Diff line number Diff line change
Expand Up @@ -2313,6 +2313,26 @@ int main() {
// HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasZgemvBatched_v2_64(hipblasHandle_t handle, hipblasOperation_t trans, int64_t m, int64_t n, const hipDoubleComplex* alpha, const hipDoubleComplex* const AP[], int64_t lda, const hipDoubleComplex* const x[], int64_t incx, const hipDoubleComplex* beta, hipDoubleComplex* const y[], int64_t incy, int64_t batchCount);
// CHECK: blasStatus = hipblasZgemvBatched_v2_64(blasHandle, blasOperation, m_64, n_64, &dcomplexa, dcomplexAarray_const, lda_64, dcomplexXarray_const, incx_64, &dcomplexb, dcomplexYarray, incy_64, batchCount_64);
blasStatus = cublasZgemvBatched_64(blasHandle, blasOperation, m_64, n_64, &dcomplexa, dcomplexAarray_const, lda_64, dcomplexXarray_const, incx_64, &dcomplexb, dcomplexYarray, incy_64, batchCount_64);

// CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasSgemvStridedBatched_64(cublasHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const float* alpha, const float* A, int64_t lda, long long int strideA, const float* x, int64_t incx, long long int stridex, const float* beta, float* y, int64_t incy, long long int stridey, int64_t batchCount);
// HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasSgemvStridedBatched_64(hipblasHandle_t handle, hipblasOperation_t transA, int64_t m, int64_t n, const float* alpha, const float* AP, int64_t lda, hipblasStride strideA, const float* x, int64_t incx, hipblasStride stridex, const float* beta, float* y, int64_t incy, hipblasStride stridey, int64_t batchCount);
// CHECK: blasStatus = hipblasSgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &fa, &fA, lda, strideA, &fx, incx_64, strideX, &fb, &fy, incy_64, strideY, batchCount);
blasStatus = cublasSgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &fa, &fA, lda, strideA, &fx, incx_64, strideX, &fb, &fy, incy_64, strideY, batchCount);

// CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasDgemvStridedBatched_64(cublasHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const double* alpha, const double* A, int64_t lda, long long int strideA, const double* x, int64_t incx, long long int stridex, const double* beta, double* y, int64_t incy, long long int stridey, int64_t batchCount);
// HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasDgemvStridedBatched_64(hipblasHandle_t handle, hipblasOperation_t transA, int64_t m, int64_t n, const double* alpha, const double* AP, int64_t lda, hipblasStride strideA, const double* x, int64_t incx, hipblasStride stridex, const double* beta, double* y, int64_t incy, hipblasStride stridey, int64_t batchCount);
// CHECK: blasStatus = hipblasDgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &da, &dA, lda, strideA, &dx, incx_64, strideX, &db, &dy, incy_64, strideY, batchCount);
blasStatus = cublasDgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &da, &dA, lda, strideA, &dx, incx_64, strideX, &db, &dy, incy_64, strideY, batchCount);

// CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasCgemvStridedBatched_64(cublasHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const cuComplex* alpha, const cuComplex* A, int64_t lda, long long int strideA, const cuComplex* x, int64_t incx, long long int stridex, const cuComplex* beta, cuComplex* y, int64_t incy, long long int stridey, int64_t batchCount);
// HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasCgemvStridedBatched_v2_64(hipblasHandle_t handle, hipblasOperation_t transA, int64_t m, int64_t n,const hipComplex* alpha, const hipComplex* AP, int64_t lda,hipblasStride strideA, const hipComplex* x, int64_t incx, hipblasStride stridex, const hipComplex* beta, hipComplex* y, int64_t incy, hipblasStride stridey, int64_t batchCount);
// CHECK: blasStatus = hipblasCgemvStridedBatched_v2_64(blasHandle, blasOperation, m_64, n_64, &complexa, &complexA, lda, strideA, &complexx, incx_64, strideX, &complexb, &complexy, incy_64, strideY, batchCount);
blasStatus = cublasCgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &complexa, &complexA, lda, strideA, &complexx, incx_64, strideX, &complexb, &complexy, incy_64, strideY, batchCount);

// CUDA: CUBLASAPI cublasStatus_t CUBLASWINAPI cublasZgemvStridedBatched_64(cublasHandle_t handle, cublasOperation_t trans, int64_t m, int64_t n, const cuDoubleComplex* alpha, const cuDoubleComplex* A, int64_t lda, long long int strideA, const cuDoubleComplex* x, int64_t incx, long long int stridex, const cuDoubleComplex* beta, cuDoubleComplex* y, int64_t incy, long long int stridey, int64_t batchCount);
// HIP: HIPBLAS_EXPORT hipblasStatus_t hipblasZgemvStridedBatched_v2_64(hipblasHandle_t handle, hipblasOperation_t transA, int64_t m, int64_t n, const hipDoubleComplex* alpha, const hipDoubleComplex* AP, int64_t lda, hipblasStride strideA, const hipDoubleComplex* x, int64_t incx, hipblasStride stridex, const hipDoubleComplex* beta, hipDoubleComplex* y, int64_t incy, hipblasStride stridey, int64_t batchCount);
// CHECK: blasStatus = hipblasZgemvStridedBatched_v2_64(blasHandle, blasOperation, m_64, n_64, &dcomplexa, &dcomplexA, lda, strideA, &dcomplexx, incx_64, strideX, &dcomplexb, &dcomplexy, incy_64, strideY, batchCount);
blasStatus = cublasZgemvStridedBatched_64(blasHandle, blasOperation, m_64, n_64, &dcomplexa, &dcomplexA, lda, strideA, &dcomplexx, incx_64, strideX, &dcomplexb, &dcomplexy, incy_64, strideY, batchCount);
#endif

return 0;
Expand Down

0 comments on commit 4f2a0bc

Please sign in to comment.