diff --git a/clang/examples/DPCT/cuBLAS/cublasAsumEx.cu b/clang/examples/DPCT/cuBLAS/cublasAsumEx.cu new file mode 100644 index 000000000000..3176172ec5e6 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasAsumEx.cu @@ -0,0 +1,11 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, const void *x, cudaDataType x_type, + int incx, void *result, cudaDataType result_type, + cudaDataType execution_type) { + // Start + cublasAsumEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int*/, result /*void **/, + result_type /*cudaDataType*/, execution_type /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasAsumEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasAsumEx_64.cu new file mode 100644 index 000000000000..a49ae319ce7e --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasAsumEx_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType x_type, + int64_t incx, void *result, cudaDataType result_type, + cudaDataType execution_type) { + // Start + cublasAsumEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, result /*void **/, + result_type /*cudaDataType*/, + execution_type /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasAxpyEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasAxpyEx_64.cu new file mode 100644 index 000000000000..896c3607b5f5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasAxpyEx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *alpha, + cudaDataType alphatype, const void *x, cudaDataType xtype, + int64_t incx, void *y, cudaDataType ytype, int64_t incy, + cudaDataType computetype) { + // Start + cublasAxpyEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, + alpha /*const void **/, alphatype /*cudaDataType*/, + x /*const void **/, xtype /*cudaDataType*/, incx /*int64_t*/, + y /*void **/, ytype /*cudaDataType*/, incy /*int64_t*/, + computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgelsBatched.cu b/clang/examples/DPCT/cuBLAS/cublasCgelsBatched.cu new file mode 100644 index 000000000000..702e01a74193 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgelsBatched.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans, int m, int n, + int nrhs, cuComplex *const a_array[], int lda, + cuComplex *const c_array[], int ldc, int *info, int *dev_info_array, + int batch_size) { + // Start + cublasCgelsBatched( + handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, m /*int*/, + n /*int*/, nrhs /*int*/, a_array /*cuComplex *const []*/, lda /*int*/, + c_array /*cuComplex *const []*/, ldc /*int*/, info /*int **/, + dev_info_array /*int **/, batch_size /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx.cu b/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx.cu new file mode 100644 index 000000000000..169226da0c66 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans_a, + cublasOperation_t trans_b, int m, int n, int k, + const cuComplex *alpha, const void *a, cudaDataType a_type, int lda, + const void *b, cudaDataType b_type, int ldb, const cuComplex *beta, + void *c, cudaDataType c_type, int ldc) { + // Start + cublasCgemm3mEx(handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, + trans_b /*cublasOperation_t*/, m /*int*/, n /*int*/, + k /*int*/, alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int*/, b /*const void **/, + b_type /*cudaDataType*/, ldb /*int*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx_64.cu new file mode 100644 index 000000000000..2b52791da529 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgemm3mEx_64.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans_a, + cublasOperation_t trans_b, int64_t m, int64_t n, int64_t k, + const cuComplex *alpha, const void *a, cudaDataType a_type, + int64_t lda, const void *b, cudaDataType b_type, int64_t ldb, + const cuComplex *beta, void *c, cudaDataType c_type, int64_t ldc) { + // Start + cublasCgemm3mEx_64( + handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, + trans_b /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, + b_type /*cudaDataType*/, ldb /*int64_t*/, beta /*const cuComplex **/, + c /*void **/, c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgemm3m_64.cu b/clang/examples/DPCT/cuBLAS/cublasCgemm3m_64.cu new file mode 100644 index 000000000000..fae64caf8bfb --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgemm3m_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const cuComplex *alpha, const cuComplex *a, int64_t lda, + const cuComplex *b, int64_t ldb, const cuComplex *beta, cuComplex *c, + int64_t ldc) { + // Start + cublasCgemm3m_64( + handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuComplex **/, a /*const cuComplex **/, lda /*int64_t*/, + b /*const cuComplex **/, ldb /*int64_t*/, beta /*const cuComplex **/, + c /*cuComplex **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgemmEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCgemmEx_64.cu new file mode 100644 index 000000000000..90527bba0663 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgemmEx_64.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans_a, + cublasOperation_t trans_b, int64_t m, int64_t n, int64_t k, + const cuComplex *alpha, const void *a, cudaDataType a_type, + int64_t lda, const void *b, cudaDataType b_type, int64_t ldb, + const cuComplex *beta, void *c, cudaDataType c_type, int64_t ldc) { + // Start + cublasCgemmEx_64(handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, + trans_b /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const cuComplex **/, + a /*const void **/, a_type /*cudaDataType*/, lda /*int64_t*/, + b /*const void **/, b_type /*cudaDataType*/, ldb /*int64_t*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgerc_64.cu b/clang/examples/DPCT/cuBLAS/cublasCgerc_64.cu new file mode 100644 index 000000000000..935d26bde066 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgerc_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, const cuComplex *alpha, + const cuComplex *x, int64_t incx, const cuComplex *y, int64_t incy, + cuComplex *a, int64_t lda) { + // Start + cublasCgerc_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuComplex **/, x /*const cuComplex **/, + incx /*int64_t*/, y /*const cuComplex **/, incy /*int64_t*/, + a /*cuComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCgeru_64.cu b/clang/examples/DPCT/cuBLAS/cublasCgeru_64.cu new file mode 100644 index 000000000000..c6c537471f3e --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCgeru_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, const cuComplex *alpha, + const cuComplex *x, int64_t incx, const cuComplex *y, int64_t incy, + cuComplex *a, int64_t lda) { + // Start + cublasCgeru_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuComplex **/, x /*const cuComplex **/, + incx /*int64_t*/, y /*const cuComplex **/, incy /*int64_t*/, + a /*cuComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasChbmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasChbmv_64.cu new file mode 100644 index 000000000000..7ea698df2acc --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasChbmv_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + int64_t k, const cuComplex *alpha, const cuComplex *a, int64_t lda, + const cuComplex *x, int64_t incx, const cuComplex *beta, cuComplex *y, + int64_t incy) { + // Start + cublasChbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, k /*int64_t*/, alpha /*const cuComplex **/, + a /*const cuComplex **/, lda /*int64_t*/, + x /*const cuComplex **/, incx /*int64_t*/, + beta /*const cuComplex **/, y /*cuComplex **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasChemv_64.cu b/clang/examples/DPCT/cuBLAS/cublasChemv_64.cu new file mode 100644 index 000000000000..0395cfd6ad1d --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasChemv_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *a, int64_t lda, + const cuComplex *x, int64_t incx, const cuComplex *beta, cuComplex *y, + int64_t incy) { + // Start + cublasChemv_64( + handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, a /*const cuComplex **/, + lda /*int64_t*/, x /*const cuComplex **/, incx /*int64_t*/, + beta /*const cuComplex **/, y /*cuComplex **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCher2_64.cu b/clang/examples/DPCT/cuBLAS/cublasCher2_64.cu new file mode 100644 index 000000000000..ee40dc0c563c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCher2_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *x, int64_t incx, + const cuComplex *y, int64_t incy, cuComplex *a, int64_t lda) { + // Start + cublasCher2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, + x /*const cuComplex **/, incx /*int64_t*/, + y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/, + lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCher_64.cu b/clang/examples/DPCT/cuBLAS/cublasCher_64.cu new file mode 100644 index 000000000000..368f9f7c39fe --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCher_64.cu @@ -0,0 +1,11 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const cuComplex *x, int64_t incx, cuComplex *a, + int64_t lda) { + // Start + cublasCher_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const cuComplex **/, + incx /*int64_t*/, a /*cuComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCherk3mEx.cu b/clang/examples/DPCT/cuBLAS/cublasCherk3mEx.cu new file mode 100644 index 000000000000..66814427c81f --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCherk3mEx.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int n, int k, const float *alpha, const void *a, cudaDataType a_type, + int lda, const float *beta, void *c, cudaDataType c_type, int ldc) { + // Start + cublasCherk3mEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int*/, k /*int*/, + alpha /*const float **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int*/, beta /*const float **/, + c /*void **/, c_type /*cudaDataType*/, ldc /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCherk3mEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCherk3mEx_64.cu new file mode 100644 index 000000000000..0fb62a602ad6 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCherk3mEx_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int64_t n, int64_t k, const float *alpha, const void *a, + cudaDataType a_type, int64_t lda, const float *beta, void *c, + cudaDataType c_type, int64_t ldc) { + // Start + cublasCherk3mEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const float **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int64_t*/, + beta /*const float **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCherkEx.cu b/clang/examples/DPCT/cuBLAS/cublasCherkEx.cu new file mode 100644 index 000000000000..387c1c3bf249 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCherkEx.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int n, int k, const float *alpha, const void *a, cudaDataType a_type, + int lda, const float *beta, void *c, cudaDataType c_type, int ldc) { + // Start + cublasCherkEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int*/, k /*int*/, + alpha /*const float **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int*/, beta /*const float **/, + c /*void **/, c_type /*cudaDataType*/, ldc /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCherkEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCherkEx_64.cu new file mode 100644 index 000000000000..973bf00668ae --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCherkEx_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int64_t n, int64_t k, const float *alpha, const void *a, + cudaDataType a_type, int64_t lda, const float *beta, void *c, + cudaDataType c_type, int64_t ldc) { + // Start + cublasCherkEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const float **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int64_t*/, + beta /*const float **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCherkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCherkx_64.cu new file mode 100644 index 000000000000..68232d84f316 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCherkx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, const cuComplex *alpha, + const cuComplex *a, int64_t lda, const cuComplex *b, int64_t ldb, + const float *beta, cuComplex *c, int64_t ldc) { + // Start + cublasCherkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuComplex **/, a /*const cuComplex **/, + lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, + beta /*const float **/, c /*cuComplex **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasChpmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasChpmv_64.cu new file mode 100644 index 000000000000..351d0295e886 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasChpmv_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *a, const cuComplex *x, + int64_t incx, const cuComplex *beta, cuComplex *y, int64_t incy) { + // Start + cublasChpmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, + a /*const cuComplex **/, x /*const cuComplex **/, + incx /*int64_t*/, beta /*const cuComplex **/, + y /*cuComplex **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasChpr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasChpr2_64.cu new file mode 100644 index 000000000000..2d97ac459c92 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasChpr2_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *x, int64_t incx, + const cuComplex *y, int64_t incy, cuComplex *a) { + // Start + cublasChpr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, + x /*const cuComplex **/, incx /*int64_t*/, + y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasChpr_64.cu b/clang/examples/DPCT/cuBLAS/cublasChpr_64.cu new file mode 100644 index 000000000000..c813af44766e --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasChpr_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const cuComplex *x, int64_t incx, cuComplex *a) { + // Start + cublasChpr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const cuComplex **/, + incx /*int64_t*/, a /*cuComplex **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCopyEx.cu b/clang/examples/DPCT/cuBLAS/cublasCopyEx.cu new file mode 100644 index 000000000000..9dc3a69a8bc5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCopyEx.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, const void *x, cudaDataType x_type, + int incx, void *y, cudaDataType y_type, int incy) { + // Start + cublasCopyEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCopyEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCopyEx_64.cu new file mode 100644 index 000000000000..8867b85b56df --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCopyEx_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType x_type, + int64_t incx, void *y, cudaDataType y_type, int64_t incy) { + // Start + cublasCopyEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsymv_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsymv_64.cu new file mode 100644 index 000000000000..ebf112847694 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsymv_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *a, int64_t lda, + const cuComplex *x, int64_t incx, const cuComplex *beta, cuComplex *y, + int64_t incy) { + // Start + cublasCsymv_64( + handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, a /*const cuComplex **/, + lda /*int64_t*/, x /*const cuComplex **/, incx /*int64_t*/, + beta /*const cuComplex **/, y /*cuComplex **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsyr2_64.cu new file mode 100644 index 000000000000..e40fa272fa4e --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyr2_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *x, int64_t incx, + const cuComplex *y, int64_t incy, cuComplex *a, int64_t lda) { + // Start + cublasCsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, + x /*const cuComplex **/, incx /*int64_t*/, + y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/, + lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyr_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsyr_64.cu new file mode 100644 index 000000000000..8f9d851a6ac5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyr_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuComplex *alpha, const cuComplex *x, int64_t incx, + cuComplex *a, int64_t lda) { + // Start + cublasCsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuComplex **/, + x /*const cuComplex **/, incx /*int64_t*/, a /*cuComplex **/, + lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx.cu b/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx.cu new file mode 100644 index 000000000000..7152fce276ca --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int n, int k, const cuComplex *alpha, const void *a, + cudaDataType a_type, int lda, const cuComplex *beta, void *c, + cudaDataType c_type, int ldc) { + // Start + cublasCsyrk3mEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int*/, k /*int*/, + alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx_64.cu new file mode 100644 index 000000000000..ab5b6aa5152a --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyrk3mEx_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int64_t n, int64_t k, const cuComplex *alpha, const void *a, + cudaDataType a_type, int64_t lda, const cuComplex *beta, void *c, + cudaDataType c_type, int64_t ldc) { + // Start + cublasCsyrk3mEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int64_t*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyrkEx.cu b/clang/examples/DPCT/cuBLAS/cublasCsyrkEx.cu new file mode 100644 index 000000000000..4ae1d6aa8ee8 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyrkEx.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int n, int k, const cuComplex *alpha, const void *a, + cudaDataType a_type, int lda, const cuComplex *beta, void *c, + cudaDataType c_type, int ldc) { + // Start + cublasCsyrkEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int*/, k /*int*/, + alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyrkEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsyrkEx_64.cu new file mode 100644 index 000000000000..dfba1830acb7 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyrkEx_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, + int64_t n, int64_t k, const cuComplex *alpha, const void *a, + cudaDataType a_type, int64_t lda, const cuComplex *beta, void *c, + cudaDataType c_type, int64_t ldc) { + // Start + cublasCsyrkEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuComplex **/, a /*const void **/, + a_type /*cudaDataType*/, lda /*int64_t*/, + beta /*const cuComplex **/, c /*void **/, + c_type /*cudaDataType*/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCsyrkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasCsyrkx_64.cu new file mode 100644 index 000000000000..ab8faafbcfc8 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCsyrkx_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, const cuComplex *alpha, + const cuComplex *a, int64_t lda, const cuComplex *b, int64_t ldb, + const cuComplex *beta, cuComplex *c, int64_t ldc) { + // Start + cublasCsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuComplex **/, a /*const cuComplex **/, + lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, + beta /*const cuComplex **/, c /*cuComplex **/, + ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCtbsv_64.cu b/clang/examples/DPCT/cuBLAS/cublasCtbsv_64.cu new file mode 100644 index 000000000000..8956f4bbab28 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCtbsv_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, cublasDiagType_t unit_nonunit, int64_t n, + int64_t k, const cuComplex *a, int64_t lda, cuComplex *x, + int64_t incx) { + // Start + cublasCtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, + n /*int64_t*/, k /*int64_t*/, a /*const cuComplex **/, + lda /*int64_t*/, x /*cuComplex **/, incx /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasCtrmm_64.cu b/clang/examples/DPCT/cuBLAS/cublasCtrmm_64.cu new file mode 100644 index 000000000000..c2d798f69ee0 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasCtrmm_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasSideMode_t left_right, + cublasFillMode_t upper_lower, cublasOperation_t transa, + cublasDiagType_t unit_diag, int64_t m, int64_t n, + const cuComplex *alpha, const cuComplex *a, int64_t lda, + const cuComplex *b, int64_t ldb, cuComplex *c, int64_t ldc) { + // Start + cublasCtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, + upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, + unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuComplex **/, a /*const cuComplex **/, + lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, + c /*cuComplex **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDgelsBatched.cu b/clang/examples/DPCT/cuBLAS/cublasDgelsBatched.cu new file mode 100644 index 000000000000..fc2d489b0a38 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDgelsBatched.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans, int m, int n, + int nrhs, double *const a_array[], int lda, double *const c_array[], + int ldc, int *info, int *dev_info_array, int batch_size) { + // Start + cublasDgelsBatched(handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, + m /*int*/, n /*int*/, nrhs /*int*/, + a_array /*double *const []*/, lda /*int*/, + c_array /*double *const []*/, ldc /*int*/, info /*int **/, + dev_info_array /*int **/, batch_size /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDger_64.cu b/clang/examples/DPCT/cuBLAS/cublasDger_64.cu new file mode 100644 index 000000000000..1ed1b38d286c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDger_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, const double *alpha, + const double *x, int64_t incx, const double *y, int64_t incy, + double *a, int64_t lda) { + // Start + cublasDger_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const double **/, x /*const double **/, + incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, + a /*double **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDotEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasDotEx_64.cu new file mode 100644 index 000000000000..463ab7394bcb --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDotEx_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType xtype, + int64_t incx, const void *y, cudaDataType ytype, int64_t incy, + void *res, cudaDataType restype, cudaDataType computetype) { + // Start + cublasDotEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + xtype /*cudaDataType*/, incx /*int64_t*/, y /*const void **/, + ytype /*cudaDataType*/, incy /*int64_t*/, res /*void **/, + restype /*cudaDataType*/, computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDotcEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasDotcEx_64.cu new file mode 100644 index 000000000000..ab7999c196b8 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDotcEx_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType xtype, + int64_t incx, const void *y, cudaDataType ytype, int64_t incy, + void *res, cudaDataType restype, cudaDataType computetype) { + // Start + cublasDotcEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + xtype /*cudaDataType*/, incx /*int64_t*/, y /*const void **/, + ytype /*cudaDataType*/, incy /*int64_t*/, res /*void **/, + restype /*cudaDataType*/, computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDsbmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasDsbmv_64.cu new file mode 100644 index 000000000000..d7de927d2402 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDsbmv_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + int64_t k, const double *alpha, const double *a, int64_t lda, + const double *x, int64_t incx, const double *beta, double *y, + int64_t incy) { + // Start + cublasDsbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, k /*int64_t*/, alpha /*const double **/, + a /*const double **/, lda /*int64_t*/, x /*const double **/, + incx /*int64_t*/, beta /*const double **/, y /*double **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDspmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasDspmv_64.cu new file mode 100644 index 000000000000..b4eb6eac1343 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDspmv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *a, const double *x, int64_t incx, + const double *beta, double *y, int64_t incy) { + // Start + cublasDspmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, a /*const double **/, + x /*const double **/, incx /*int64_t*/, + beta /*const double **/, y /*double **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDspr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasDspr2_64.cu new file mode 100644 index 000000000000..86078607c8b9 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDspr2_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *x, int64_t incx, const double *y, + int64_t incy, double *a) { + // Start + cublasDspr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, x /*const double **/, + incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, + a /*double **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDspr_64.cu b/clang/examples/DPCT/cuBLAS/cublasDspr_64.cu new file mode 100644 index 000000000000..39828b9ad7d3 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDspr_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *x, int64_t incx, double *a) { + // Start + cublasDspr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, x /*const double **/, + incx /*int64_t*/, a /*double **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDsymv_64.cu b/clang/examples/DPCT/cuBLAS/cublasDsymv_64.cu new file mode 100644 index 000000000000..b5be59554f2c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDsymv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *a, int64_t lda, const double *x, + int64_t incx, const double *beta, double *y, int64_t incy) { + // Start + cublasDsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, a /*const double **/, + lda /*int64_t*/, x /*const double **/, incx /*int64_t*/, + beta /*const double **/, y /*double **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDsyr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasDsyr2_64.cu new file mode 100644 index 000000000000..6edf4428ab96 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDsyr2_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *x, int64_t incx, const double *y, + int64_t incy, double *a, int64_t lda) { + // Start + cublasDsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, x /*const double **/, + incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, + a /*double **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDsyr_64.cu b/clang/examples/DPCT/cuBLAS/cublasDsyr_64.cu new file mode 100644 index 000000000000..7a27c4d255d9 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDsyr_64.cu @@ -0,0 +1,11 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const double *x, int64_t incx, double *a, + int64_t lda) { + // Start + cublasDsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, x /*const double **/, + incx /*int64_t*/, a /*double **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDsyrkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasDsyrkx_64.cu new file mode 100644 index 000000000000..e1b79c40dd2b --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDsyrkx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, const double *alpha, + const double *a, int64_t lda, const double *b, int64_t ldb, + const double *beta, double *c, int64_t ldc) { + // Start + cublasDsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const double **/, a /*const double **/, + lda /*int64_t*/, b /*const double **/, ldb /*int64_t*/, + beta /*const double **/, c /*double **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDtbsv_64.cu b/clang/examples/DPCT/cuBLAS/cublasDtbsv_64.cu new file mode 100644 index 000000000000..6f78ab786181 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDtbsv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, cublasDiagType_t unit_nonunit, int64_t n, + int64_t k, const double *a, int64_t lda, double *x, int64_t incx) { + // Start + cublasDtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, + n /*int64_t*/, k /*int64_t*/, a /*const double **/, + lda /*int64_t*/, x /*double **/, incx /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasDtrmm_64.cu b/clang/examples/DPCT/cuBLAS/cublasDtrmm_64.cu new file mode 100644 index 000000000000..7ddbd651edaf --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasDtrmm_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasSideMode_t left_right, + cublasFillMode_t upper_lower, cublasOperation_t transa, + cublasDiagType_t unit_diag, int64_t m, int64_t n, const double *alpha, + const double *a, int64_t lda, const double *b, int64_t ldb, double *c, + int64_t ldc) { + // Start + cublasDtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, + upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, + unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const double **/, a /*const double **/, + lda /*int64_t*/, b /*const double **/, ldb /*int64_t*/, + c /*double **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasGemmBatchedEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasGemmBatchedEx_64.cu new file mode 100644 index 000000000000..fdde643b0398 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasGemmBatchedEx_64.cu @@ -0,0 +1,21 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const void *alpha, const void *const *a, cudaDataType atype, + int64_t lda, const void *const *b, cudaDataType btype, int64_t ldb, + const void *beta, void *const *c, cudaDataType ctype, int64_t ldc, + int64_t group_count, cublasComputeType_t computetype_computeType_t, + cudaDataType computetype_dataType, cublasGemmAlgo_t algo) { + // Start + cublasGemmBatchedEx_64( + handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const void **/, a /*const void *const **/, atype /*cudaDataType*/, + lda /*int64_t*/, b /*const void *const **/, btype /*cudaDataType*/, + ldb /*int64_t*/, beta /*const void **/, c /*void *const **/, + ctype /*cudaDataType*/, ldc /*int64_t*/, group_count /*int64_t*/, + computetype_computeType_t /*cublasComputeType_t*/, + algo /*cublasGemmAlgo_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasGemmEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasGemmEx_64.cu new file mode 100644 index 000000000000..6e54fbbd193a --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasGemmEx_64.cu @@ -0,0 +1,21 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const void *alpha, const void *a, cudaDataType atype, int64_t lda, + const void *b, cudaDataType btype, int64_t ldb, const void *beta, + void *c, cudaDataType ctype, int64_t ldc, + cublasComputeType_t computetype_computeType_t, + cudaDataType computetype_dataType, cublasGemmAlgo_t algo) { + // Start + cublasGemmEx_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const void **/, a /*const void **/, + atype /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, + btype /*cudaDataType*/, ldb /*int64_t*/, + beta /*const void **/, c /*void **/, ctype /*cudaDataType*/, + ldc /*int64_t*/, + computetype_computeType_t /*cublasComputeType_t*/, + algo /*cublasGemmAlgo_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasGemmStridedBatchedEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasGemmStridedBatchedEx_64.cu new file mode 100644 index 000000000000..fea0588ab16f --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasGemmStridedBatchedEx_64.cu @@ -0,0 +1,23 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const void *alpha, const void *a, cudaDataType atype, int64_t lda, + long long int stridea, const void *b, cudaDataType btype, int64_t ldb, + long long int strideb, const void *beta, void *c, cudaDataType ctype, + int64_t ldc, long long int stridec, int64_t group_count, + cublasComputeType_t computetype_computeType_t, + cudaDataType computetype_dataType, cublasGemmAlgo_t algo) { + // Start + cublasGemmStridedBatchedEx_64( + handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const void **/, a /*const void **/, atype /*cudaDataType*/, + lda /*int64_t*/, stridea /*long long int*/, b /*const void **/, + btype /*cudaDataType*/, ldb /*int64_t*/, strideb /*long long int*/, + beta /*const void **/, c /*void **/, ctype /*cudaDataType*/, + ldc /*int64_t*/, stridec /*long long int*/, group_count /*int64_t*/, + computetype_computeType_t /*cublasComputeType_t*/, + algo /*cublasGemmAlgo_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasHgemm_64.cu b/clang/examples/DPCT/cuBLAS/cublasHgemm_64.cu new file mode 100644 index 000000000000..0e818b31cdf5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasHgemm_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const __half *alpha, const __half *a, int64_t lda, const __half *b, + int64_t ldb, const __half *beta, __half *c, int64_t ldc) { + // Start + cublasHgemm_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const __half **/, a /*const __half **/, + lda /*int64_t*/, b /*const __half **/, ldb /*int64_t*/, + beta /*const __half **/, c /*__half **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasIamaxEx.cu b/clang/examples/DPCT/cuBLAS/cublasIamaxEx.cu new file mode 100644 index 000000000000..3d5911aeed45 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasIamaxEx.cu @@ -0,0 +1,9 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, const void *x, cudaDataType x_type, + int incx, int *result) { + // Start + cublasIamaxEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int*/, result /*int **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasIamaxEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasIamaxEx_64.cu new file mode 100644 index 000000000000..85c8da0ce38b --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasIamaxEx_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType x_type, + int64_t incx, int64_t *result) { + // Start + cublasIamaxEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, + result /*int64_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasIaminEx.cu b/clang/examples/DPCT/cuBLAS/cublasIaminEx.cu new file mode 100644 index 000000000000..af53b87d93e7 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasIaminEx.cu @@ -0,0 +1,9 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, const void *x, cudaDataType x_type, + int incx, int *result) { + // Start + cublasIaminEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int*/, result /*int **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasIaminEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasIaminEx_64.cu new file mode 100644 index 000000000000..09415f1c2ba3 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasIaminEx_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType x_type, + int64_t incx, int64_t *result) { + // Start + cublasIaminEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, + result /*int64_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtCreate.cu b/clang/examples/DPCT/cuBLAS/cublasLtCreate.cu new file mode 100644 index 000000000000..e7463358f2bd --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtCreate.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtHandle_t *lthandle) { + // Start + cublasLtCreate(lthandle /*cublasLtHandle_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtDestroy.cu b/clang/examples/DPCT/cuBLAS/cublasLtDestroy.cu new file mode 100644 index 000000000000..6d229febddb4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtDestroy.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtHandle_t lthandle) { + // Start + cublasLtDestroy(lthandle /*cublasLtHandle_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtGetVersion.cu b/clang/examples/DPCT/cuBLAS/cublasLtGetVersion.cu new file mode 100644 index 000000000000..7d4b2bd01cf7 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtGetVersion.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test() { + // Start + size_t ver = cublasLtGetVersion(); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmul.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmul.cu new file mode 100644 index 000000000000..cfd3f33fb4d7 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmul.cu @@ -0,0 +1,19 @@ +#include "cublasLt.h" + +void test(cublasLtHandle_t lthandle, cublasLtMatmulDesc_t mm_desc, + const void *alpha, const void *a, cublasLtMatrixLayout_t a_desc, + const void *b, cublasLtMatrixLayout_t b_desc, const void *beta, + const void *c, cublasLtMatrixLayout_t c_desc, void *d, + cublasLtMatrixLayout_t d_desc, const cublasLtMatmulAlgo_t *algo, + void *workspace, size_t workspace_size, cudaStream_t stream) { + // Start + cublasLtMatmul( + lthandle /*cublasLtHandle_t*/, mm_desc /*cublasLtMatmulDesc_t*/, + alpha /*const void **/, a /*const void **/, + a_desc /*cublasLtMatrixLayout_t*/, b /*const void **/, + b_desc /*cublasLtMatrixLayout_t*/, beta /*const void **/, + c /*const void **/, c_desc /*cublasLtMatrixLayout_t*/, d /*void **/, + d_desc /*cublasLtMatrixLayout_t*/, algo /*const cublasLtMatmulAlgo_t **/, + workspace /*void **/, workspace_size /*size_t*/, stream /*cudaStream_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulAlgoGetHeuristic.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulAlgoGetHeuristic.cu new file mode 100644 index 000000000000..0e753131c7d3 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulAlgoGetHeuristic.cu @@ -0,0 +1,18 @@ +#include "cublasLt.h" + +void test(cublasLtHandle_t lthandle, cublasLtMatmulDesc_t mm_desc, + cublasLtMatrixLayout_t a_desc, cublasLtMatrixLayout_t b_desc, + cublasLtMatrixLayout_t c_desc, cublasLtMatrixLayout_t d_desc, + cublasLtMatmulPreference_t preference, int requested_algo_count, + cublasLtMatmulHeuristicResult_t heuristic_results_array[], + int *return_algo_count) { + // Start + cublasLtMatmulAlgoGetHeuristic( + lthandle /*cublasLtHandle_t*/, mm_desc /*cublasLtMatmulDesc_t*/, + a_desc /*cublasLtMatrixLayout_t*/, b_desc /*cublasLtMatrixLayout_t*/, + c_desc /*cublasLtMatrixLayout_t*/, d_desc /*cublasLtMatrixLayout_t*/, + preference /*cublasLtMatmulPreference_t*/, requested_algo_count /*int*/, + heuristic_results_array /*cublasLtMatmulHeuristicResult_t[]*/, + return_algo_count /*int **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescCreate.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescCreate.cu new file mode 100644 index 000000000000..e9d3113dbaeb --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescCreate.cu @@ -0,0 +1,10 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulDesc_t *mm_esc, cublasComputeType_t compute_type, + cudaDataType_t scale_type) { + // Start + cublasLtMatmulDescCreate(mm_esc /*cublasLtMatmulDesc_t **/, + compute_type /*cublasComputeType_t*/, + scale_type /*cudaDataType_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescDestroy.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescDestroy.cu new file mode 100644 index 000000000000..6982b8af3f3a --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescDestroy.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulDesc_t mm_esc) { + // Start + cublasLtMatmulDescDestroy(mm_esc /*cublasLtMatmulDesc_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescGetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescGetAttribute.cu new file mode 100644 index 000000000000..afe060d06751 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescGetAttribute.cu @@ -0,0 +1,10 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulDesc_t mm_esc, cublasLtMatmulDescAttributes_t attr, + void *buf, size_t size_in_bytes, size_t *size_written) { + // Start + cublasLtMatmulDescGetAttribute( + mm_esc /*cublasLtMatmulDesc_t*/, attr /*cublasLtMatmulDescAttributes_t*/, + buf /*void **/, size_in_bytes /*size_t*/, size_written /*size_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescSetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescSetAttribute.cu new file mode 100644 index 000000000000..5a46bf0032fe --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulDescSetAttribute.cu @@ -0,0 +1,10 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulDesc_t mm_esc, cublasLtMatmulDescAttributes_t attr, + const void *buf, size_t size_in_bytes) { + // Start + cublasLtMatmulDescSetAttribute( + mm_esc /*cublasLtMatmulDesc_t*/, attr /*cublasLtMatmulDescAttributes_t*/, + buf /*const void **/, size_in_bytes /*size_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceCreate.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceCreate.cu new file mode 100644 index 000000000000..b31e237e20d4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceCreate.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulPreference_t *pref) { + // Start + cublasLtMatmulPreferenceCreate(pref /*cublasLtMatmulPreference_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceDestroy.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceDestroy.cu new file mode 100644 index 000000000000..96afcd7eb5d5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceDestroy.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulPreference_t pref) { + // Start + cublasLtMatmulPreferenceDestroy(pref /*cublasLtMatmulPreference_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceGetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceGetAttribute.cu new file mode 100644 index 000000000000..cf9b6c529727 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceGetAttribute.cu @@ -0,0 +1,12 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulPreference_t pref, + cublasLtMatmulPreferenceAttributes_t attr, void *buf, + size_t size_in_bytes, size_t *size_written) { + // Start + cublasLtMatmulPreferenceGetAttribute( + pref /*cublasLtMatmulPreference_t*/, + attr /*cublasLtMatmulPreferenceAttributes_t*/, buf /*void **/, + size_in_bytes /*size_t*/, size_written /*size_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceSetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceSetAttribute.cu new file mode 100644 index 000000000000..40486631bade --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatmulPreferenceSetAttribute.cu @@ -0,0 +1,12 @@ +#include "cublasLt.h" + +void test(cublasLtMatmulPreference_t pref, + cublasLtMatmulPreferenceAttributes_t attr, const void *buf, + size_t size_in_bytes) { + // Start + cublasLtMatmulPreferenceSetAttribute( + pref /*cublasLtMatmulPreference_t*/, + attr /*cublasLtMatmulPreferenceAttributes_t*/, buf /*const void **/, + size_in_bytes /*size_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutCreate.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutCreate.cu new file mode 100644 index 000000000000..105c315a331c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutCreate.cu @@ -0,0 +1,10 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixLayout_t *layout, cudaDataType type, uint64_t rows, + uint64_t cols, int64_t ld) { + // Start + cublasLtMatrixLayoutCreate(layout /*cublasLtMatrixLayout_t **/, + type /*cudaDataType*/, rows /*uint64_t*/, + cols /*uint64_t*/, ld /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutDestroy.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutDestroy.cu new file mode 100644 index 000000000000..ba8c0ed78a3c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutDestroy.cu @@ -0,0 +1,7 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixLayout_t layout) { + // Start + cublasLtMatrixLayoutDestroy(layout /*cublasLtMatrixLayout_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutGetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutGetAttribute.cu new file mode 100644 index 000000000000..6a6673e33690 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutGetAttribute.cu @@ -0,0 +1,11 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixLayout_t layout, cublasLtMatrixLayoutAttribute_t attr, + void *buf, size_t size_in_bytes, size_t *size_written) { + // Start + cublasLtMatrixLayoutGetAttribute(layout /*cublasLtMatrixLayout_t*/, + attr /*cublasLtMatrixLayoutAttribute_t*/, + buf /*void **/, size_in_bytes /*size_t*/, + size_written /*size_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutSetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutSetAttribute.cu new file mode 100644 index 000000000000..343e304f9e35 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixLayoutSetAttribute.cu @@ -0,0 +1,11 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixLayout_t layout, cublasLtMatrixLayoutAttribute_t attr, + const void *buf, size_t size_in_bytes) { + // Start + cublasLtMatrixLayoutSetAttribute(layout /*cublasLtMatrixLayout_t*/, + attr /*cublasLtMatrixLayoutAttribute_t*/, + buf /*const void **/, + size_in_bytes /*size_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransform.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransform.cu new file mode 100644 index 000000000000..3260dd12a112 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransform.cu @@ -0,0 +1,16 @@ +#include "cublasLt.h" + +void test(cublasLtHandle_t lthandle, cublasLtMatrixTransformDesc_t trans_desc, + const void *alpha, const void *a, cublasLtMatrixLayout_t a_desc, + const void *beta, const void *b, cublasLtMatrixLayout_t b_desc, + void *c, cublasLtMatrixLayout_t c_desc, cudaStream_t stream) { + // Start + cublasLtMatrixTransform( + lthandle /*cublasLtHandle_t*/, + trans_desc /*cublasLtMatrixTransformDesc_t*/, alpha /*const void **/, + a /*const void **/, a_desc /*cublasLtMatrixLayout_t*/, + beta /*const void **/, b /*const void **/, + b_desc /*cublasLtMatrixLayout_t*/, c /*void **/, + c_desc /*cublasLtMatrixLayout_t*/, stream /*cudaStream_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescCreate.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescCreate.cu new file mode 100644 index 000000000000..41b21509ca53 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescCreate.cu @@ -0,0 +1,9 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixTransformDesc_t *trans_desc, cudaDataType scale_type) { + // Start + cublasLtMatrixTransformDescCreate( + trans_desc /*cublasLtMatrixTransformDesc_t **/, + scale_type /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescDestroy.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescDestroy.cu new file mode 100644 index 000000000000..1a101d42cfbb --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescDestroy.cu @@ -0,0 +1,8 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixTransformDesc_t trans_desc) { + // Start + cublasLtMatrixTransformDescDestroy( + trans_desc /*cublasLtMatrixTransformDesc_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescGetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescGetAttribute.cu new file mode 100644 index 000000000000..c131658075cd --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescGetAttribute.cu @@ -0,0 +1,12 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixTransformDesc_t transformDesc, + cublasLtMatrixTransformDescAttributes_t attr, void *buf, + size_t sizeInBytes, size_t *sizeWritten) { + // Start + cublasLtMatrixTransformDescGetAttribute( + transformDesc /*cublasLtMatrixTransformDesc_t*/, + attr /*cublasLtMatrixTransformDescAttributes_t*/, buf /*void **/, + sizeInBytes /*size_t*/, sizeWritten /*size_t **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescSetAttribute.cu b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescSetAttribute.cu new file mode 100644 index 000000000000..17a92f4b5101 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasLtMatrixTransformDescSetAttribute.cu @@ -0,0 +1,12 @@ +#include "cublasLt.h" + +void test(cublasLtMatrixTransformDesc_t transformDesc, + cublasLtMatrixTransformDescAttributes_t attr, const void *buf, + size_t sizeInBytes) { + // Start + cublasLtMatrixTransformDescSetAttribute( + transformDesc /*cublasLtMatrixTransformDesc_t*/, + attr /*cublasLtMatrixTransformDescAttributes_t*/, buf /*const void **/, + sizeInBytes /*size_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasNrm2Ex_64.cu b/clang/examples/DPCT/cuBLAS/cublasNrm2Ex_64.cu new file mode 100644 index 000000000000..fad6368cced4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasNrm2Ex_64.cu @@ -0,0 +1,11 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *x, cudaDataType xtype, + int64_t incx, void *res, cudaDataType restype, + cudaDataType computetype) { + // Start + cublasNrm2Ex_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, + xtype /*cudaDataType*/, incx /*int64_t*/, res /*void **/, + restype /*cudaDataType*/, computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasRotEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasRotEx_64.cu new file mode 100644 index 000000000000..4fca11b379b2 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasRotEx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, void *x, cudaDataType xtype, + int64_t incx, void *y, cudaDataType ytype, int64_t incy, + const void *c, const void *s, cudaDataType cstype, + cudaDataType computetype) { + // Start + cublasRotEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, + xtype /*cudaDataType*/, incx /*int64_t*/, y /*void **/, + ytype /*cudaDataType*/, incy /*int64_t*/, c /*const void **/, + s /*const void **/, cstype /*cudaDataType*/, + computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasRotmEx.cu b/clang/examples/DPCT/cuBLAS/cublasRotmEx.cu new file mode 100644 index 000000000000..bf1a0feb359f --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasRotmEx.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, void *x, cudaDataType x_type, int incx, + void *y, cudaDataType y_type, int incy, const void *param, + cudaDataType param_type, cudaDataType execution_type) { + // Start + cublasRotmEx(handle /*cublasHandle_t*/, n /*int*/, x /*void **/, + x_type /*cudaDataType*/, incx /*int*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int*/, param /*const void **/, + param_type /*cudaDataType*/, execution_type /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasRotmEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasRotmEx_64.cu new file mode 100644 index 000000000000..40214c947eb2 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasRotmEx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, void *x, cudaDataType x_type, + int64_t incx, void *y, cudaDataType y_type, int64_t incy, + const void *param, cudaDataType param_type, + cudaDataType execution_type) { + // Start + cublasRotmEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int64_t*/, + param /*const void **/, param_type /*cudaDataType*/, + execution_type /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasScalEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasScalEx_64.cu new file mode 100644 index 000000000000..ea3e67d9f204 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasScalEx_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, const void *alpha, + cudaDataType alphatype, void *x, cudaDataType xtype, int64_t incx, + cudaDataType computetype) { + // Start + cublasScalEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, + alpha /*const void **/, alphatype /*cudaDataType*/, + x /*void **/, xtype /*cudaDataType*/, incx /*int64_t*/, + computetype /*cudaDataType*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSetWorkspace.cu b/clang/examples/DPCT/cuBLAS/cublasSetWorkspace.cu new file mode 100644 index 000000000000..2d5743091da9 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSetWorkspace.cu @@ -0,0 +1,8 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, void *workspace, size_t size) { + // Start + cublasSetWorkspace(handle /*cublasHandle_t*/, workspace /*void **/, + size /*size_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSgelsBatched.cu b/clang/examples/DPCT/cuBLAS/cublasSgelsBatched.cu new file mode 100644 index 000000000000..623e536bd711 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSgelsBatched.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans, int m, int n, + int nrhs, float *const a_array[], int lda, float *const c_array[], + int ldc, int *info, int *dev_info_array, int batch_size) { + // Start + cublasSgelsBatched(handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, + m /*int*/, n /*int*/, nrhs /*int*/, + a_array /*float *const []*/, lda /*int*/, + c_array /*float *const []*/, ldc /*int*/, info /*int **/, + dev_info_array /*int **/, batch_size /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSgemmEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasSgemmEx_64.cu new file mode 100644 index 000000000000..470f826faa81 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSgemmEx_64.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const float *alpha, const void *a, cudaDataType atype, int64_t lda, + const void *b, cudaDataType btype, int64_t ldb, const float *beta, + void *c, cudaDataType ctype, int64_t ldc) { + // Start + cublasSgemmEx_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const float **/, a /*const void **/, + atype /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, + btype /*cudaDataType*/, ldb /*int64_t*/, + beta /*const float **/, c /*void **/, ctype /*cudaDataType*/, + ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSger_64.cu b/clang/examples/DPCT/cuBLAS/cublasSger_64.cu new file mode 100644 index 000000000000..13f059679412 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSger_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, const float *alpha, + const float *x, int64_t incx, const float *y, int64_t incy, float *a, + int64_t lda) { + // Start + cublasSger_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const float **/, x /*const float **/, incx /*int64_t*/, + y /*const float **/, incy /*int64_t*/, a /*float **/, + lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSsbmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasSsbmv_64.cu new file mode 100644 index 000000000000..cd2235c0488f --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSsbmv_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + int64_t k, const float *alpha, const float *a, int64_t lda, + const float *x, int64_t incx, const float *beta, float *y, + int64_t incy) { + // Start + cublasSsbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, k /*int64_t*/, alpha /*const float **/, + a /*const float **/, lda /*int64_t*/, x /*const float **/, + incx /*int64_t*/, beta /*const float **/, y /*float **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSspmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasSspmv_64.cu new file mode 100644 index 000000000000..f8eda1060181 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSspmv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *a, const float *x, int64_t incx, + const float *beta, float *y, int64_t incy) { + // Start + cublasSspmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, a /*const float **/, + x /*const float **/, incx /*int64_t*/, beta /*const float **/, + y /*float **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSspr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasSspr2_64.cu new file mode 100644 index 000000000000..5dabf4c32f0c --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSspr2_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *x, int64_t incx, const float *y, + int64_t incy, float *a) { + // Start + cublasSspr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const float **/, + incx /*int64_t*/, y /*const float **/, incy /*int64_t*/, + a /*float **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSspr_64.cu b/clang/examples/DPCT/cuBLAS/cublasSspr_64.cu new file mode 100644 index 000000000000..87350efcb1dc --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSspr_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *x, int64_t incx, float *a) { + // Start + cublasSspr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const float **/, + incx /*int64_t*/, a /*float **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSsymv_64.cu b/clang/examples/DPCT/cuBLAS/cublasSsymv_64.cu new file mode 100644 index 000000000000..ff08416c4f55 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSsymv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *a, int64_t lda, const float *x, + int64_t incx, const float *beta, float *y, int64_t incy) { + // Start + cublasSsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, a /*const float **/, + lda /*int64_t*/, x /*const float **/, incx /*int64_t*/, + beta /*const float **/, y /*float **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSsyr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasSsyr2_64.cu new file mode 100644 index 000000000000..438b755b6a93 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSsyr2_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *x, int64_t incx, const float *y, + int64_t incy, float *a, int64_t lda) { + // Start + cublasSsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const float **/, + incx /*int64_t*/, y /*const float **/, incy /*int64_t*/, + a /*float **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSsyr_64.cu b/clang/examples/DPCT/cuBLAS/cublasSsyr_64.cu new file mode 100644 index 000000000000..831f50060b64 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSsyr_64.cu @@ -0,0 +1,11 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const float *alpha, const float *x, int64_t incx, float *a, + int64_t lda) { + // Start + cublasSsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const float **/, x /*const float **/, + incx /*int64_t*/, a /*float **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSsyrkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasSsyrkx_64.cu new file mode 100644 index 000000000000..3f20336941cc --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSsyrkx_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, const float *alpha, + const float *a, int64_t lda, const float *b, int64_t ldb, + const float *beta, float *c, int64_t ldc) { + // Start + cublasSsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const float **/, a /*const float **/, lda /*int64_t*/, + b /*const float **/, ldb /*int64_t*/, beta /*const float **/, + c /*float **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasStbsv_64.cu b/clang/examples/DPCT/cuBLAS/cublasStbsv_64.cu new file mode 100644 index 000000000000..7c92b44ad721 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasStbsv_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, cublasDiagType_t unit_nonunit, int64_t n, + int64_t k, const float *a, int64_t lda, float *x, int64_t incx) { + // Start + cublasStbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, + n /*int64_t*/, k /*int64_t*/, a /*const float **/, + lda /*int64_t*/, x /*float **/, incx /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasStrmm_64.cu b/clang/examples/DPCT/cuBLAS/cublasStrmm_64.cu new file mode 100644 index 000000000000..dcb675371d7e --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasStrmm_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasSideMode_t left_right, + cublasFillMode_t upper_lower, cublasOperation_t transa, + cublasDiagType_t unit_diag, int64_t m, int64_t n, const float *alpha, + const float *a, int64_t lda, const float *b, int64_t ldb, float *c, + int64_t ldc) { + // Start + cublasStrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, + upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, + unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const float **/, a /*const float **/, lda /*int64_t*/, + b /*const float **/, ldb /*int64_t*/, c /*float **/, + ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSwapEx.cu b/clang/examples/DPCT/cuBLAS/cublasSwapEx.cu new file mode 100644 index 000000000000..be5476d40cc4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSwapEx.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int n, void *x, cudaDataType x_type, int incx, + void *y, cudaDataType y_type, int incy) { + // Start + cublasSwapEx(handle /*cublasHandle_t*/, n /*int*/, x /*void **/, + x_type /*cudaDataType*/, incx /*int*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasSwapEx_64.cu b/clang/examples/DPCT/cuBLAS/cublasSwapEx_64.cu new file mode 100644 index 000000000000..afa7585f4183 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasSwapEx_64.cu @@ -0,0 +1,10 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t n, void *x, cudaDataType x_type, + int64_t incx, void *y, cudaDataType y_type, int64_t incy) { + // Start + cublasSwapEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, + x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, + y_type /*cudaDataType*/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZgelsBatched.cu b/clang/examples/DPCT/cuBLAS/cublasZgelsBatched.cu new file mode 100644 index 000000000000..07b807d50fb5 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZgelsBatched.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t trans, int m, int n, + int nrhs, cuDoubleComplex *const a_array[], int lda, + cuDoubleComplex *const c_array[], int ldc, int *info, + int *dev_info_array, int batch_size) { + // Start + cublasZgelsBatched( + handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, m /*int*/, + n /*int*/, nrhs /*int*/, a_array /*cuDoubleComplex *const []*/, + lda /*int*/, c_array /*cuDoubleComplex *const []*/, ldc /*int*/, + info /*int **/, dev_info_array /*int **/, batch_size /*int*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZgemm3m_64.cu b/clang/examples/DPCT/cuBLAS/cublasZgemm3m_64.cu new file mode 100644 index 000000000000..573d0e4981a3 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZgemm3m_64.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasOperation_t transa, + cublasOperation_t transb, int64_t m, int64_t n, int64_t k, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *b, int64_t ldb, const cuDoubleComplex *beta, + cuDoubleComplex *c, int64_t ldc) { + // Start + cublasZgemm3m_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, + transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, + k /*int64_t*/, alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + b /*const cuDoubleComplex **/, ldb /*int64_t*/, + beta /*const cuDoubleComplex **/, c /*cuDoubleComplex **/, + ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZgerc_64.cu b/clang/examples/DPCT/cuBLAS/cublasZgerc_64.cu new file mode 100644 index 000000000000..d1134d0510ce --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZgerc_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *y, int64_t incy, cuDoubleComplex *a, + int64_t lda) { + // Start + cublasZgerc_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + y /*const cuDoubleComplex **/, incy /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZgeru_64.cu b/clang/examples/DPCT/cuBLAS/cublasZgeru_64.cu new file mode 100644 index 000000000000..0eafc911d416 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZgeru_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, int64_t m, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *y, int64_t incy, cuDoubleComplex *a, + int64_t lda) { + // Start + cublasZgeru_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + y /*const cuDoubleComplex **/, incy /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZhbmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasZhbmv_64.cu new file mode 100644 index 000000000000..72f5d6de23c0 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZhbmv_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + int64_t k, const cuDoubleComplex *alpha, const cuDoubleComplex *a, + int64_t lda, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *beta, cuDoubleComplex *y, int64_t incy) { + // Start + cublasZhbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, k /*int64_t*/, + alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZhemv_64.cu b/clang/examples/DPCT/cuBLAS/cublasZhemv_64.cu new file mode 100644 index 000000000000..2913a9a5314b --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZhemv_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *x, int64_t incx, const cuDoubleComplex *beta, + cuDoubleComplex *y, int64_t incy) { + // Start + cublasZhemv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZher2_64.cu b/clang/examples/DPCT/cuBLAS/cublasZher2_64.cu new file mode 100644 index 000000000000..18fcee5fa104 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZher2_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *y, int64_t incy, cuDoubleComplex *a, + int64_t lda) { + // Start + cublasZher2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + y /*const cuDoubleComplex **/, incy /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZher_64.cu b/clang/examples/DPCT/cuBLAS/cublasZher_64.cu new file mode 100644 index 000000000000..9446adf1f385 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZher_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const cuDoubleComplex *x, int64_t incx, + cuDoubleComplex *a, int64_t lda) { + // Start + cublasZher_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZherkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasZherkx_64.cu new file mode 100644 index 000000000000..1ad3076a9aa4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZherkx_64.cu @@ -0,0 +1,16 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *b, int64_t ldb, const double *beta, + cuDoubleComplex *c, int64_t ldc) { + // Start + cublasZherkx_64( + handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuDoubleComplex **/, a /*const cuDoubleComplex **/, + lda /*int64_t*/, b /*const cuDoubleComplex **/, ldb /*int64_t*/, + beta /*const double **/, c /*cuDoubleComplex **/, ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZhpmv_64.cu b/clang/examples/DPCT/cuBLAS/cublasZhpmv_64.cu new file mode 100644 index 000000000000..eeea1c76407a --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZhpmv_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, + const cuDoubleComplex *x, int64_t incx, const cuDoubleComplex *beta, + cuDoubleComplex *y, int64_t incy) { + // Start + cublasZhpmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, x /*const cuDoubleComplex **/, + incx /*int64_t*/, beta /*const cuDoubleComplex **/, + y /*cuDoubleComplex **/, incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZhpr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasZhpr2_64.cu new file mode 100644 index 000000000000..16b0a0c3d2ee --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZhpr2_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *y, int64_t incy, cuDoubleComplex *a) { + // Start + cublasZhpr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + y /*const cuDoubleComplex **/, incy /*int64_t*/, + a /*cuDoubleComplex **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZhpr_64.cu b/clang/examples/DPCT/cuBLAS/cublasZhpr_64.cu new file mode 100644 index 000000000000..109a43582901 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZhpr_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const double *alpha, const cuDoubleComplex *x, int64_t incx, + cuDoubleComplex *a) { + // Start + cublasZhpr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const double **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + a /*cuDoubleComplex **/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZsymv_64.cu b/clang/examples/DPCT/cuBLAS/cublasZsymv_64.cu new file mode 100644 index 000000000000..0669f7448786 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZsymv_64.cu @@ -0,0 +1,15 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *x, int64_t incx, const cuDoubleComplex *beta, + cuDoubleComplex *y, int64_t incy) { + // Start + cublasZsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, + incy /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZsyr2_64.cu b/clang/examples/DPCT/cuBLAS/cublasZsyr2_64.cu new file mode 100644 index 000000000000..8d2c16d885f7 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZsyr2_64.cu @@ -0,0 +1,14 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + const cuDoubleComplex *y, int64_t incy, cuDoubleComplex *a, + int64_t lda) { + // Start + cublasZsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + y /*const cuDoubleComplex **/, incy /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZsyr_64.cu b/clang/examples/DPCT/cuBLAS/cublasZsyr_64.cu new file mode 100644 index 000000000000..454ec8c2cfc4 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZsyr_64.cu @@ -0,0 +1,12 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *x, int64_t incx, + cuDoubleComplex *a, int64_t lda) { + // Start + cublasZsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + n /*int64_t*/, alpha /*const cuDoubleComplex **/, + x /*const cuDoubleComplex **/, incx /*int64_t*/, + a /*cuDoubleComplex **/, lda /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZsyrkx_64.cu b/clang/examples/DPCT/cuBLAS/cublasZsyrkx_64.cu new file mode 100644 index 000000000000..2fd0d2ea5899 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZsyrkx_64.cu @@ -0,0 +1,17 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, int64_t n, int64_t k, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *b, int64_t ldb, const cuDoubleComplex *beta, + cuDoubleComplex *c, int64_t ldc) { + // Start + cublasZsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, + alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + b /*const cuDoubleComplex **/, ldb /*int64_t*/, + beta /*const cuDoubleComplex **/, c /*cuDoubleComplex **/, + ldc /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZtbsv_64.cu b/clang/examples/DPCT/cuBLAS/cublasZtbsv_64.cu new file mode 100644 index 000000000000..bb47fc109385 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZtbsv_64.cu @@ -0,0 +1,13 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasFillMode_t upper_lower, + cublasOperation_t trans, cublasDiagType_t unit_nonunit, int64_t n, + int64_t k, const cuDoubleComplex *a, int64_t lda, cuDoubleComplex *x, + int64_t incx) { + // Start + cublasZtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, + trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, + n /*int64_t*/, k /*int64_t*/, a /*const cuDoubleComplex **/, + lda /*int64_t*/, x /*cuDoubleComplex **/, incx /*int64_t*/); + // End +} diff --git a/clang/examples/DPCT/cuBLAS/cublasZtrmm_64.cu b/clang/examples/DPCT/cuBLAS/cublasZtrmm_64.cu new file mode 100644 index 000000000000..8d1573a24ed1 --- /dev/null +++ b/clang/examples/DPCT/cuBLAS/cublasZtrmm_64.cu @@ -0,0 +1,18 @@ +#include "cublas_v2.h" + +void test(cublasHandle_t handle, cublasSideMode_t left_right, + cublasFillMode_t upper_lower, cublasOperation_t transa, + cublasDiagType_t unit_diag, int64_t m, int64_t n, + const cuDoubleComplex *alpha, const cuDoubleComplex *a, int64_t lda, + const cuDoubleComplex *b, int64_t ldb, cuDoubleComplex *c, + int64_t ldc) { + // Start + cublasZtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, + upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, + unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, + alpha /*const cuDoubleComplex **/, + a /*const cuDoubleComplex **/, lda /*int64_t*/, + b /*const cuDoubleComplex **/, ldb /*int64_t*/, + c /*cuDoubleComplex **/, ldc /*int64_t*/); + // End +} diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_10_1.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_10_1.cu index 9591816f9b9d..495b06a537d8 100644 --- a/clang/test/dpct/query_api_mapping/cuBLAS/blas_10_1.cu +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_10_1.cu @@ -10,3 +10,144 @@ // cublasRotEx-NEXT: computetype /*cudaDataType*/); // cublasRotEx-NEXT: Is migrated to: // cublasRotEx-NEXT: dpct::blas::rot(handle, n, x, xtype, incx, y, ytype, incy, c, s, cstype); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasAsumEx | FileCheck %s -check-prefix=cublasAsumEx +// cublasAsumEx: CUDA API: +// cublasAsumEx-NEXT: cublasAsumEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, +// cublasAsumEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, result /*void **/, +// cublasAsumEx-NEXT: result_type /*cudaDataType*/, execution_type /*cudaDataType*/); +// cublasAsumEx-NEXT: Is migrated to: +// cublasAsumEx-NEXT: dpct::blas::asum(handle, n, x, x_type, incx, result, result_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgelsBatched | FileCheck %s -check-prefix=cublasCgelsBatched +// cublasCgelsBatched: CUDA API: +// cublasCgelsBatched-NEXT: cublasCgelsBatched( +// cublasCgelsBatched-NEXT: handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, m /*int*/, +// cublasCgelsBatched-NEXT: n /*int*/, nrhs /*int*/, a_array /*cuComplex *const []*/, lda /*int*/, +// cublasCgelsBatched-NEXT: c_array /*cuComplex *const []*/, ldc /*int*/, info /*int **/, +// cublasCgelsBatched-NEXT: dev_info_array /*int **/, batch_size /*int*/); +// cublasCgelsBatched-NEXT: Is migrated to: +// cublasCgelsBatched-NEXT: dpct::blas::gels_batch_wrapper(handle, trans, m, n, nrhs, a_array, lda, c_array, ldc, info, dev_info_array, batch_size); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDgelsBatched | FileCheck %s -check-prefix=cublasDgelsBatched +// cublasDgelsBatched: CUDA API: +// cublasDgelsBatched-NEXT: cublasDgelsBatched(handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, +// cublasDgelsBatched-NEXT: m /*int*/, n /*int*/, nrhs /*int*/, +// cublasDgelsBatched-NEXT: a_array /*double *const []*/, lda /*int*/, +// cublasDgelsBatched-NEXT: c_array /*double *const []*/, ldc /*int*/, info /*int **/, +// cublasDgelsBatched-NEXT: dev_info_array /*int **/, batch_size /*int*/); +// cublasDgelsBatched-NEXT: Is migrated to: +// cublasDgelsBatched-NEXT: dpct::blas::gels_batch_wrapper(handle, trans, m, n, nrhs, a_array, lda, c_array, ldc, info, dev_info_array, batch_size); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSgelsBatched | FileCheck %s -check-prefix=cublasSgelsBatched +// cublasSgelsBatched: CUDA API: +// cublasSgelsBatched-NEXT: cublasSgelsBatched(handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, +// cublasSgelsBatched-NEXT: m /*int*/, n /*int*/, nrhs /*int*/, +// cublasSgelsBatched-NEXT: a_array /*float *const []*/, lda /*int*/, +// cublasSgelsBatched-NEXT: c_array /*float *const []*/, ldc /*int*/, info /*int **/, +// cublasSgelsBatched-NEXT: dev_info_array /*int **/, batch_size /*int*/); +// cublasSgelsBatched-NEXT: Is migrated to: +// cublasSgelsBatched-NEXT: dpct::blas::gels_batch_wrapper(handle, trans, m, n, nrhs, a_array, lda, c_array, ldc, info, dev_info_array, batch_size); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZgelsBatched | FileCheck %s -check-prefix=cublasZgelsBatched +// cublasZgelsBatched: CUDA API: +// cublasZgelsBatched-NEXT: cublasZgelsBatched( +// cublasZgelsBatched-NEXT: handle /*cublasHandle_t*/, trans /*cublasOperation_t*/, m /*int*/, +// cublasZgelsBatched-NEXT: n /*int*/, nrhs /*int*/, a_array /*cuDoubleComplex *const []*/, +// cublasZgelsBatched-NEXT: lda /*int*/, c_array /*cuDoubleComplex *const []*/, ldc /*int*/, +// cublasZgelsBatched-NEXT: info /*int **/, dev_info_array /*int **/, batch_size /*int*/); +// cublasZgelsBatched-NEXT: Is migrated to: +// cublasZgelsBatched-NEXT: dpct::blas::gels_batch_wrapper(handle, trans, m, n, nrhs, a_array, lda, c_array, ldc, info, dev_info_array, batch_size); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgemm3mEx | FileCheck %s -check-prefix=cublasCgemm3mEx +// cublasCgemm3mEx: CUDA API: +// cublasCgemm3mEx-NEXT: cublasCgemm3mEx(handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, +// cublasCgemm3mEx-NEXT: trans_b /*cublasOperation_t*/, m /*int*/, n /*int*/, +// cublasCgemm3mEx-NEXT: k /*int*/, alpha /*const cuComplex **/, a /*const void **/, +// cublasCgemm3mEx-NEXT: a_type /*cudaDataType*/, lda /*int*/, b /*const void **/, +// cublasCgemm3mEx-NEXT: b_type /*cudaDataType*/, ldb /*int*/, +// cublasCgemm3mEx-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCgemm3mEx-NEXT: c_type /*cudaDataType*/, ldc /*int*/); +// cublasCgemm3mEx-NEXT: Is migrated to: +// cublasCgemm3mEx-NEXT: dpct::blas::gemm(handle, trans_a, trans_b, m, n, k, alpha, a, a_type, lda, b, b_type, ldb, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCherk3mEx | FileCheck %s -check-prefix=cublasCherk3mEx +// cublasCherk3mEx: CUDA API: +// cublasCherk3mEx-NEXT: cublasCherk3mEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCherk3mEx-NEXT: trans /*cublasOperation_t*/, n /*int*/, k /*int*/, +// cublasCherk3mEx-NEXT: alpha /*const float **/, a /*const void **/, +// cublasCherk3mEx-NEXT: a_type /*cudaDataType*/, lda /*int*/, beta /*const float **/, +// cublasCherk3mEx-NEXT: c /*void **/, c_type /*cudaDataType*/, ldc /*int*/); +// cublasCherk3mEx-NEXT: Is migrated to: +// cublasCherk3mEx-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCherkEx | FileCheck %s -check-prefix=cublasCherkEx +// cublasCherkEx: CUDA API: +// cublasCherkEx-NEXT: cublasCherkEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCherkEx-NEXT: trans /*cublasOperation_t*/, n /*int*/, k /*int*/, +// cublasCherkEx-NEXT: alpha /*const float **/, a /*const void **/, +// cublasCherkEx-NEXT: a_type /*cudaDataType*/, lda /*int*/, beta /*const float **/, +// cublasCherkEx-NEXT: c /*void **/, c_type /*cudaDataType*/, ldc /*int*/); +// cublasCherkEx-NEXT: Is migrated to: +// cublasCherkEx-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCopyEx | FileCheck %s -check-prefix=cublasCopyEx +// cublasCopyEx: CUDA API: +// cublasCopyEx-NEXT: cublasCopyEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, +// cublasCopyEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, y /*void **/, +// cublasCopyEx-NEXT: y_type /*cudaDataType*/, incy /*int*/); +// cublasCopyEx-NEXT: Is migrated to: +// cublasCopyEx-NEXT: dpct::blas::copy(handle, n, x, x_type, incx, y, y_type, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyrk3mEx | FileCheck %s -check-prefix=cublasCsyrk3mEx +// cublasCsyrk3mEx: CUDA API: +// cublasCsyrk3mEx-NEXT: cublasCsyrk3mEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCsyrk3mEx-NEXT: trans /*cublasOperation_t*/, n /*int*/, k /*int*/, +// cublasCsyrk3mEx-NEXT: alpha /*const cuComplex **/, a /*const void **/, +// cublasCsyrk3mEx-NEXT: a_type /*cudaDataType*/, lda /*int*/, +// cublasCsyrk3mEx-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCsyrk3mEx-NEXT: c_type /*cudaDataType*/, ldc /*int*/); +// cublasCsyrk3mEx-NEXT: Is migrated to: +// cublasCsyrk3mEx-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyrkEx | FileCheck %s -check-prefix=cublasCsyrkEx +// cublasCsyrkEx: CUDA API: +// cublasCsyrkEx-NEXT: cublasCsyrkEx(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCsyrkEx-NEXT: trans /*cublasOperation_t*/, n /*int*/, k /*int*/, +// cublasCsyrkEx-NEXT: alpha /*const cuComplex **/, a /*const void **/, +// cublasCsyrkEx-NEXT: a_type /*cudaDataType*/, lda /*int*/, +// cublasCsyrkEx-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCsyrkEx-NEXT: c_type /*cudaDataType*/, ldc /*int*/); +// cublasCsyrkEx-NEXT: Is migrated to: +// cublasCsyrkEx-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasIamaxEx | FileCheck %s -check-prefix=cublasIamaxEx +// cublasIamaxEx: CUDA API: +// cublasIamaxEx-NEXT: cublasIamaxEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, +// cublasIamaxEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, result /*int **/); +// cublasIamaxEx-NEXT: Is migrated to: +// cublasIamaxEx-NEXT: dpct::blas::iamax(handle, n, x, x_type, incx, result); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasIaminEx | FileCheck %s -check-prefix=cublasIaminEx +// cublasIaminEx: CUDA API: +// cublasIaminEx-NEXT: cublasIaminEx(handle /*cublasHandle_t*/, n /*int*/, x /*const void **/, +// cublasIaminEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, result /*int **/); +// cublasIaminEx-NEXT: Is migrated to: +// cublasIaminEx-NEXT: dpct::blas::iamin(handle, n, x, x_type, incx, result); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasRotmEx | FileCheck %s -check-prefix=cublasRotmEx +// cublasRotmEx: CUDA API: +// cublasRotmEx-NEXT: cublasRotmEx(handle /*cublasHandle_t*/, n /*int*/, x /*void **/, +// cublasRotmEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, y /*void **/, +// cublasRotmEx-NEXT: y_type /*cudaDataType*/, incy /*int*/, param /*const void **/, +// cublasRotmEx-NEXT: param_type /*cudaDataType*/, execution_type /*cudaDataType*/); +// cublasRotmEx-NEXT: Is migrated to: +// cublasRotmEx-NEXT: dpct::blas::rotm(handle, n, x, x_type, incx, y, y_type, incy, param, param_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSwapEx | FileCheck %s -check-prefix=cublasSwapEx +// cublasSwapEx: CUDA API: +// cublasSwapEx-NEXT: cublasSwapEx(handle /*cublasHandle_t*/, n /*int*/, x /*void **/, +// cublasSwapEx-NEXT: x_type /*cudaDataType*/, incx /*int*/, y /*void **/, +// cublasSwapEx-NEXT: y_type /*cudaDataType*/, incy /*int*/); +// cublasSwapEx-NEXT: Is migrated to: +// cublasSwapEx-NEXT: dpct::blas::swap(handle, n, x, x_type, incx, y, y_type, incy); diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_11_1.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_11_1.cu new file mode 100644 index 000000000000..08b03c794f05 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_11_1.cu @@ -0,0 +1,8 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSetWorkspace | FileCheck %s -check-prefix=cublasSetWorkspace +// cublasSetWorkspace: CUDA API: +// cublasSetWorkspace-NEXT: cublasSetWorkspace(handle /*cublasHandle_t*/, workspace /*void **/, +// cublasSetWorkspace-NEXT: size /*size_t*/); +// cublasSetWorkspace-NEXT: The API is Removed. diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part10.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part10.cu new file mode 100644 index 000000000000..617c9a55f507 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part10.cu @@ -0,0 +1,190 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSsbmv_64 | FileCheck %s -check-prefix=cublasSsbmv_64 +// cublasSsbmv_64: CUDA API: +// cublasSsbmv_64-NEXT: cublasSsbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSsbmv_64-NEXT: n /*int64_t*/, k /*int64_t*/, alpha /*const float **/, +// cublasSsbmv_64-NEXT: a /*const float **/, lda /*int64_t*/, x /*const float **/, +// cublasSsbmv_64-NEXT: incx /*int64_t*/, beta /*const float **/, y /*float **/, +// cublasSsbmv_64-NEXT: incy /*int64_t*/); +// cublasSsbmv_64-NEXT: Is migrated to: +// cublasSsbmv_64-NEXT: oneapi::mkl::blas::column_major::sbmv(handle->get_queue(), upper_lower, n, k, dpct::get_value(alpha, handle->get_queue()), a, lda, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDspmv_64 | FileCheck %s -check-prefix=cublasDspmv_64 +// cublasDspmv_64: CUDA API: +// cublasDspmv_64-NEXT: cublasDspmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDspmv_64-NEXT: n /*int64_t*/, alpha /*const double **/, a /*const double **/, +// cublasDspmv_64-NEXT: x /*const double **/, incx /*int64_t*/, +// cublasDspmv_64-NEXT: beta /*const double **/, y /*double **/, incy /*int64_t*/); +// cublasDspmv_64-NEXT: Is migrated to: +// cublasDspmv_64-NEXT: oneapi::mkl::blas::column_major::spmv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), a, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSspmv_64 | FileCheck %s -check-prefix=cublasSspmv_64 +// cublasSspmv_64: CUDA API: +// cublasSspmv_64-NEXT: cublasSspmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSspmv_64-NEXT: n /*int64_t*/, alpha /*const float **/, a /*const float **/, +// cublasSspmv_64-NEXT: x /*const float **/, incx /*int64_t*/, beta /*const float **/, +// cublasSspmv_64-NEXT: y /*float **/, incy /*int64_t*/); +// cublasSspmv_64-NEXT: Is migrated to: +// cublasSspmv_64-NEXT: oneapi::mkl::blas::column_major::spmv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), a, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDspr2_64 | FileCheck %s -check-prefix=cublasDspr2_64 +// cublasDspr2_64: CUDA API: +// cublasDspr2_64-NEXT: cublasDspr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDspr2_64-NEXT: n /*int64_t*/, alpha /*const double **/, x /*const double **/, +// cublasDspr2_64-NEXT: incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, +// cublasDspr2_64-NEXT: a /*double **/); +// cublasDspr2_64-NEXT: Is migrated to: +// cublasDspr2_64-NEXT: oneapi::mkl::blas::column_major::spr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSspr2_64 | FileCheck %s -check-prefix=cublasSspr2_64 +// cublasSspr2_64: CUDA API: +// cublasSspr2_64-NEXT: cublasSspr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSspr2_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const float **/, +// cublasSspr2_64-NEXT: incx /*int64_t*/, y /*const float **/, incy /*int64_t*/, +// cublasSspr2_64-NEXT: a /*float **/); +// cublasSspr2_64-NEXT: Is migrated to: +// cublasSspr2_64-NEXT: oneapi::mkl::blas::column_major::spr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDspr_64 | FileCheck %s -check-prefix=cublasDspr_64 +// cublasDspr_64: CUDA API: +// cublasDspr_64-NEXT: cublasDspr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDspr_64-NEXT: n /*int64_t*/, alpha /*const double **/, x /*const double **/, +// cublasDspr_64-NEXT: incx /*int64_t*/, a /*double **/); +// cublasDspr_64-NEXT: Is migrated to: +// cublasDspr_64-NEXT: oneapi::mkl::blas::column_major::spr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSspr_64 | FileCheck %s -check-prefix=cublasSspr_64 +// cublasSspr_64: CUDA API: +// cublasSspr_64-NEXT: cublasSspr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSspr_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const float **/, +// cublasSspr_64-NEXT: incx /*int64_t*/, a /*float **/); +// cublasSspr_64-NEXT: Is migrated to: +// cublasSspr_64-NEXT: oneapi::mkl::blas::column_major::spr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasGemmBatchedEx_64 | FileCheck %s -check-prefix=cublasGemmBatchedEx_64 +// cublasGemmBatchedEx_64: CUDA API: +// cublasGemmBatchedEx_64-NEXT: cublasGemmBatchedEx_64( +// cublasGemmBatchedEx_64-NEXT: handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasGemmBatchedEx_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasGemmBatchedEx_64-NEXT: alpha /*const void **/, a /*const void *const **/, atype /*cudaDataType*/, +// cublasGemmBatchedEx_64-NEXT: lda /*int64_t*/, b /*const void *const **/, btype /*cudaDataType*/, +// cublasGemmBatchedEx_64-NEXT: ldb /*int64_t*/, beta /*const void **/, c /*void *const **/, +// cublasGemmBatchedEx_64-NEXT: ctype /*cudaDataType*/, ldc /*int64_t*/, group_count /*int64_t*/, +// cublasGemmBatchedEx_64-NEXT: computetype_computeType_t /*cublasComputeType_t*/, +// cublasGemmBatchedEx_64-NEXT: algo /*cublasGemmAlgo_t*/); +// cublasGemmBatchedEx_64-NEXT: Is migrated to: +// cublasGemmBatchedEx_64-NEXT: dpct::blas::gemm_batch(handle, transa, transb, m, n, k, alpha, const_cast(a), atype, lda, const_cast(b), btype, ldb, beta, const_cast(c), ctype, ldc, group_count, computetype_computeType_t); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasGemmEx_64 | FileCheck %s -check-prefix=cublasGemmEx_64 +// cublasGemmEx_64: CUDA API: +// cublasGemmEx_64-NEXT: cublasGemmEx_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasGemmEx_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasGemmEx_64-NEXT: k /*int64_t*/, alpha /*const void **/, a /*const void **/, +// cublasGemmEx_64-NEXT: atype /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, +// cublasGemmEx_64-NEXT: btype /*cudaDataType*/, ldb /*int64_t*/, +// cublasGemmEx_64-NEXT: beta /*const void **/, c /*void **/, ctype /*cudaDataType*/, +// cublasGemmEx_64-NEXT: ldc /*int64_t*/, +// cublasGemmEx_64-NEXT: computetype_computeType_t /*cublasComputeType_t*/, +// cublasGemmEx_64-NEXT: algo /*cublasGemmAlgo_t*/); +// cublasGemmEx_64-NEXT: Is migrated to: +// cublasGemmEx_64-NEXT: dpct::blas::gemm(handle, transa, transb, m, n, k, alpha, a, atype, lda, b, btype, ldb, beta, c, ctype, ldc, computetype_computeType_t); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasGemmStridedBatchedEx_64 | FileCheck %s -check-prefix=cublasGemmStridedBatchedEx_64 +// cublasGemmStridedBatchedEx_64: CUDA API: +// cublasGemmStridedBatchedEx_64-NEXT: cublasGemmStridedBatchedEx_64( +// cublasGemmStridedBatchedEx_64-NEXT: handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasGemmStridedBatchedEx_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasGemmStridedBatchedEx_64-NEXT: alpha /*const void **/, a /*const void **/, atype /*cudaDataType*/, +// cublasGemmStridedBatchedEx_64-NEXT: lda /*int64_t*/, stridea /*long long int*/, b /*const void **/, +// cublasGemmStridedBatchedEx_64-NEXT: btype /*cudaDataType*/, ldb /*int64_t*/, strideb /*long long int*/, +// cublasGemmStridedBatchedEx_64-NEXT: beta /*const void **/, c /*void **/, ctype /*cudaDataType*/, +// cublasGemmStridedBatchedEx_64-NEXT: ldc /*int64_t*/, stridec /*long long int*/, group_count /*int64_t*/, +// cublasGemmStridedBatchedEx_64-NEXT: computetype_computeType_t /*cublasComputeType_t*/, +// cublasGemmStridedBatchedEx_64-NEXT: algo /*cublasGemmAlgo_t*/); +// cublasGemmStridedBatchedEx_64-NEXT: Is migrated to: +// cublasGemmStridedBatchedEx_64-NEXT: dpct::blas::gemm_batch(handle, transa, transb, m, n, k, alpha, a, atype, lda, stridea, b, btype, ldb, strideb, beta, c, ctype, ldc, stridec, group_count, computetype_computeType_t); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasHgemm_64 | FileCheck %s -check-prefix=cublasHgemm_64 +// cublasHgemm_64: CUDA API: +// cublasHgemm_64-NEXT: cublasHgemm_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasHgemm_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasHgemm_64-NEXT: k /*int64_t*/, alpha /*const __half **/, a /*const __half **/, +// cublasHgemm_64-NEXT: lda /*int64_t*/, b /*const __half **/, ldb /*int64_t*/, +// cublasHgemm_64-NEXT: beta /*const __half **/, c /*__half **/, ldc /*int64_t*/); +// cublasHgemm_64-NEXT: Is migrated to: +// cublasHgemm_64-NEXT: oneapi::mkl::blas::column_major::gemm(handle->get_queue(), transa, transb, m, n, k, dpct::get_value(alpha, handle->get_queue()), a, lda, b, ldb, dpct::get_value(beta, handle->get_queue()), c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasIamaxEx_64 | FileCheck %s -check-prefix=cublasIamaxEx_64 +// cublasIamaxEx_64: CUDA API: +// cublasIamaxEx_64-NEXT: cublasIamaxEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasIamaxEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, +// cublasIamaxEx_64-NEXT: result /*int64_t **/); +// cublasIamaxEx_64-NEXT: Is migrated to: +// cublasIamaxEx_64-NEXT: dpct::blas::iamax(handle, n, x, x_type, incx, result); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasIaminEx_64 | FileCheck %s -check-prefix=cublasIaminEx_64 +// cublasIaminEx_64: CUDA API: +// cublasIaminEx_64-NEXT: cublasIaminEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasIaminEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, +// cublasIaminEx_64-NEXT: result /*int64_t **/); +// cublasIaminEx_64-NEXT: Is migrated to: +// cublasIaminEx_64-NEXT: dpct::blas::iamin(handle, n, x, x_type, incx, result); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasNrm2Ex_64 | FileCheck %s -check-prefix=cublasNrm2Ex_64 +// cublasNrm2Ex_64: CUDA API: +// cublasNrm2Ex_64-NEXT: cublasNrm2Ex_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasNrm2Ex_64-NEXT: xtype /*cudaDataType*/, incx /*int64_t*/, res /*void **/, +// cublasNrm2Ex_64-NEXT: restype /*cudaDataType*/, computetype /*cudaDataType*/); +// cublasNrm2Ex_64-NEXT: Is migrated to: +// cublasNrm2Ex_64-NEXT: dpct::blas::nrm2(handle, n, x, xtype, incx, res, restype); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasRotEx_64 | FileCheck %s -check-prefix=cublasRotEx_64 +// cublasRotEx_64: CUDA API: +// cublasRotEx_64-NEXT: cublasRotEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, +// cublasRotEx_64-NEXT: xtype /*cudaDataType*/, incx /*int64_t*/, y /*void **/, +// cublasRotEx_64-NEXT: ytype /*cudaDataType*/, incy /*int64_t*/, c /*const void **/, +// cublasRotEx_64-NEXT: s /*const void **/, cstype /*cudaDataType*/, +// cublasRotEx_64-NEXT: computetype /*cudaDataType*/); +// cublasRotEx_64-NEXT: Is migrated to: +// cublasRotEx_64-NEXT: dpct::blas::rot(handle, n, x, xtype, incx, y, ytype, incy, c, s, cstype); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasRotmEx_64 | FileCheck %s -check-prefix=cublasRotmEx_64 +// cublasRotmEx_64: CUDA API: +// cublasRotmEx_64-NEXT: cublasRotmEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, +// cublasRotmEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, +// cublasRotmEx_64-NEXT: y_type /*cudaDataType*/, incy /*int64_t*/, +// cublasRotmEx_64-NEXT: param /*const void **/, param_type /*cudaDataType*/, +// cublasRotmEx_64-NEXT: execution_type /*cudaDataType*/); +// cublasRotmEx_64-NEXT: Is migrated to: +// cublasRotmEx_64-NEXT: dpct::blas::rotm(handle, n, x, x_type, incx, y, y_type, incy, param, param_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasScalEx_64 | FileCheck %s -check-prefix=cublasScalEx_64 +// cublasScalEx_64: CUDA API: +// cublasScalEx_64-NEXT: cublasScalEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, +// cublasScalEx_64-NEXT: alpha /*const void **/, alphatype /*cudaDataType*/, +// cublasScalEx_64-NEXT: x /*void **/, xtype /*cudaDataType*/, incx /*int64_t*/, +// cublasScalEx_64-NEXT: computetype /*cudaDataType*/); +// cublasScalEx_64-NEXT: Is migrated to: +// cublasScalEx_64-NEXT: dpct::blas::scal(handle, n, alpha, alphatype, x, xtype, incx); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSgemmEx_64 | FileCheck %s -check-prefix=cublasSgemmEx_64 +// cublasSgemmEx_64: CUDA API: +// cublasSgemmEx_64-NEXT: cublasSgemmEx_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasSgemmEx_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasSgemmEx_64-NEXT: k /*int64_t*/, alpha /*const float **/, a /*const void **/, +// cublasSgemmEx_64-NEXT: atype /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, +// cublasSgemmEx_64-NEXT: btype /*cudaDataType*/, ldb /*int64_t*/, +// cublasSgemmEx_64-NEXT: beta /*const float **/, c /*void **/, ctype /*cudaDataType*/, +// cublasSgemmEx_64-NEXT: ldc /*int64_t*/); +// cublasSgemmEx_64-NEXT: Is migrated to: +// cublasSgemmEx_64-NEXT: dpct::blas::gemm(handle, transa, transb, m, n, k, alpha, a, atype, lda, b, btype, ldb, beta, c, ctype, ldc, dpct::library_data_t::real_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSwapEx_64 | FileCheck %s -check-prefix=cublasSwapEx_64 +// cublasSwapEx_64: CUDA API: +// cublasSwapEx_64-NEXT: cublasSwapEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*void **/, +// cublasSwapEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, +// cublasSwapEx_64-NEXT: y_type /*cudaDataType*/, incy /*int64_t*/); +// cublasSwapEx_64-NEXT: Is migrated to: +// cublasSwapEx_64-NEXT: dpct::blas::swap(handle, n, x, x_type, incx, y, y_type, incy); diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part7.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part7.cu new file mode 100644 index 000000000000..9e9f28ec4f42 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part7.cu @@ -0,0 +1,209 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgemm3mEx_64 | FileCheck %s -check-prefix=cublasCgemm3mEx_64 +// cublasCgemm3mEx_64: CUDA API: +// cublasCgemm3mEx_64-NEXT: cublasCgemm3mEx_64( +// cublasCgemm3mEx_64-NEXT: handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, +// cublasCgemm3mEx_64-NEXT: trans_b /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasCgemm3mEx_64-NEXT: k /*int64_t*/, alpha /*const cuComplex **/, a /*const void **/, +// cublasCgemm3mEx_64-NEXT: a_type /*cudaDataType*/, lda /*int64_t*/, b /*const void **/, +// cublasCgemm3mEx_64-NEXT: b_type /*cudaDataType*/, ldb /*int64_t*/, beta /*const cuComplex **/, +// cublasCgemm3mEx_64-NEXT: c /*void **/, c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCgemm3mEx_64-NEXT: Is migrated to: +// cublasCgemm3mEx_64-NEXT: dpct::blas::gemm(handle, trans_a, trans_b, m, n, k, alpha, a, a_type, lda, b, b_type, ldb, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgemmEx_64 | FileCheck %s -check-prefix=cublasCgemmEx_64 +// cublasCgemmEx_64: CUDA API: +// cublasCgemmEx_64-NEXT: cublasCgemmEx_64(handle /*cublasHandle_t*/, trans_a /*cublasOperation_t*/, +// cublasCgemmEx_64-NEXT: trans_b /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasCgemmEx_64-NEXT: k /*int64_t*/, alpha /*const cuComplex **/, +// cublasCgemmEx_64-NEXT: a /*const void **/, a_type /*cudaDataType*/, lda /*int64_t*/, +// cublasCgemmEx_64-NEXT: b /*const void **/, b_type /*cudaDataType*/, ldb /*int64_t*/, +// cublasCgemmEx_64-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCgemmEx_64-NEXT: c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCgemmEx_64-NEXT: Is migrated to: +// cublasCgemmEx_64-NEXT: dpct::blas::gemm(handle, trans_a, trans_b, m, n, k, alpha, a, a_type, lda, b, b_type, ldb, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgerc_64 | FileCheck %s -check-prefix=cublasCgerc_64 +// cublasCgerc_64: CUDA API: +// cublasCgerc_64-NEXT: cublasCgerc_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasCgerc_64-NEXT: alpha /*const cuComplex **/, x /*const cuComplex **/, +// cublasCgerc_64-NEXT: incx /*int64_t*/, y /*const cuComplex **/, incy /*int64_t*/, +// cublasCgerc_64-NEXT: a /*cuComplex **/, lda /*int64_t*/); +// cublasCgerc_64-NEXT: Is migrated to: +// cublasCgerc_64-NEXT: oneapi::mkl::blas::column_major::gerc(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZgerc_64 | FileCheck %s -check-prefix=cublasZgerc_64 +// cublasZgerc_64: CUDA API: +// cublasZgerc_64-NEXT: cublasZgerc_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasZgerc_64-NEXT: alpha /*const cuDoubleComplex **/, +// cublasZgerc_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZgerc_64-NEXT: y /*const cuDoubleComplex **/, incy /*int64_t*/, +// cublasZgerc_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZgerc_64-NEXT: Is migrated to: +// cublasZgerc_64-NEXT: oneapi::mkl::blas::column_major::gerc(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgeru_64 | FileCheck %s -check-prefix=cublasCgeru_64 +// cublasCgeru_64: CUDA API: +// cublasCgeru_64-NEXT: cublasCgeru_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasCgeru_64-NEXT: alpha /*const cuComplex **/, x /*const cuComplex **/, +// cublasCgeru_64-NEXT: incx /*int64_t*/, y /*const cuComplex **/, incy /*int64_t*/, +// cublasCgeru_64-NEXT: a /*cuComplex **/, lda /*int64_t*/); +// cublasCgeru_64-NEXT: Is migrated to: +// cublasCgeru_64-NEXT: oneapi::mkl::blas::column_major::geru(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZgeru_64 | FileCheck %s -check-prefix=cublasZgeru_64 +// cublasZgeru_64: CUDA API: +// cublasZgeru_64-NEXT: cublasZgeru_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasZgeru_64-NEXT: alpha /*const cuDoubleComplex **/, +// cublasZgeru_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZgeru_64-NEXT: y /*const cuDoubleComplex **/, incy /*int64_t*/, +// cublasZgeru_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZgeru_64-NEXT: Is migrated to: +// cublasZgeru_64-NEXT: oneapi::mkl::blas::column_major::geru(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasChbmv_64 | FileCheck %s -check-prefix=cublasChbmv_64 +// cublasChbmv_64: CUDA API: +// cublasChbmv_64-NEXT: cublasChbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasChbmv_64-NEXT: n /*int64_t*/, k /*int64_t*/, alpha /*const cuComplex **/, +// cublasChbmv_64-NEXT: a /*const cuComplex **/, lda /*int64_t*/, +// cublasChbmv_64-NEXT: x /*const cuComplex **/, incx /*int64_t*/, +// cublasChbmv_64-NEXT: beta /*const cuComplex **/, y /*cuComplex **/, +// cublasChbmv_64-NEXT: incy /*int64_t*/); +// cublasChbmv_64-NEXT: Is migrated to: +// cublasChbmv_64-NEXT: oneapi::mkl::blas::column_major::hbmv(handle->get_queue(), upper_lower, n, k, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZhbmv_64 | FileCheck %s -check-prefix=cublasZhbmv_64 +// cublasZhbmv_64: CUDA API: +// cublasZhbmv_64-NEXT: cublasZhbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZhbmv_64-NEXT: n /*int64_t*/, k /*int64_t*/, +// cublasZhbmv_64-NEXT: alpha /*const cuDoubleComplex **/, +// cublasZhbmv_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZhbmv_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZhbmv_64-NEXT: beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, +// cublasZhbmv_64-NEXT: incy /*int64_t*/); +// cublasZhbmv_64-NEXT: Is migrated to: +// cublasZhbmv_64-NEXT: oneapi::mkl::blas::column_major::hbmv(handle->get_queue(), upper_lower, n, k, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasChemv_64 | FileCheck %s -check-prefix=cublasChemv_64 +// cublasChemv_64: CUDA API: +// cublasChemv_64-NEXT: cublasChemv_64( +// cublasChemv_64-NEXT: handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasChemv_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, a /*const cuComplex **/, +// cublasChemv_64-NEXT: lda /*int64_t*/, x /*const cuComplex **/, incx /*int64_t*/, +// cublasChemv_64-NEXT: beta /*const cuComplex **/, y /*cuComplex **/, incy /*int64_t*/); +// cublasChemv_64-NEXT: Is migrated to: +// cublasChemv_64-NEXT: oneapi::mkl::blas::column_major::hemv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZhemv_64 | FileCheck %s -check-prefix=cublasZhemv_64 +// cublasZhemv_64: CUDA API: +// cublasZhemv_64-NEXT: cublasZhemv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZhemv_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZhemv_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZhemv_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZhemv_64-NEXT: beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, +// cublasZhemv_64-NEXT: incy /*int64_t*/); +// cublasZhemv_64-NEXT: Is migrated to: +// cublasZhemv_64-NEXT: oneapi::mkl::blas::column_major::hemv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCher2_64 | FileCheck %s -check-prefix=cublasCher2_64 +// cublasCher2_64: CUDA API: +// cublasCher2_64-NEXT: cublasCher2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCher2_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, +// cublasCher2_64-NEXT: x /*const cuComplex **/, incx /*int64_t*/, +// cublasCher2_64-NEXT: y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/, +// cublasCher2_64-NEXT: lda /*int64_t*/); +// cublasCher2_64-NEXT: Is migrated to: +// cublasCher2_64-NEXT: oneapi::mkl::blas::column_major::her2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZher2_64 | FileCheck %s -check-prefix=cublasZher2_64 +// cublasZher2_64: CUDA API: +// cublasZher2_64-NEXT: cublasZher2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZher2_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZher2_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZher2_64-NEXT: y /*const cuDoubleComplex **/, incy /*int64_t*/, +// cublasZher2_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZher2_64-NEXT: Is migrated to: +// cublasZher2_64-NEXT: oneapi::mkl::blas::column_major::her2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCher_64 | FileCheck %s -check-prefix=cublasCher_64 +// cublasCher_64: CUDA API: +// cublasCher_64-NEXT: cublasCher_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCher_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const cuComplex **/, +// cublasCher_64-NEXT: incx /*int64_t*/, a /*cuComplex **/, lda /*int64_t*/); +// cublasCher_64-NEXT: Is migrated to: +// cublasCher_64-NEXT: oneapi::mkl::blas::column_major::her(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZher_64 | FileCheck %s -check-prefix=cublasZher_64 +// cublasZher_64: CUDA API: +// cublasZher_64-NEXT: cublasZher_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZher_64-NEXT: n /*int64_t*/, alpha /*const double **/, +// cublasZher_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZher_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZher_64-NEXT: Is migrated to: +// cublasZher_64-NEXT: oneapi::mkl::blas::column_major::her(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCgemm3m_64 | FileCheck %s -check-prefix=cublasCgemm3m_64 +// cublasCgemm3m_64: CUDA API: +// cublasCgemm3m_64-NEXT: cublasCgemm3m_64( +// cublasCgemm3m_64-NEXT: handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasCgemm3m_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCgemm3m_64-NEXT: alpha /*const cuComplex **/, a /*const cuComplex **/, lda /*int64_t*/, +// cublasCgemm3m_64-NEXT: b /*const cuComplex **/, ldb /*int64_t*/, beta /*const cuComplex **/, +// cublasCgemm3m_64-NEXT: c /*cuComplex **/, ldc /*int64_t*/); +// cublasCgemm3m_64-NEXT: Is migrated to: +// cublasCgemm3m_64-NEXT: oneapi::mkl::blas::column_major::gemm(handle->get_queue(), transa, transb, m, n, k, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)b, ldb, dpct::get_value(beta, handle->get_queue()), (std::complex*)c, ldc, oneapi::mkl::blas::compute_mode::complex_3m); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZgemm3m_64 | FileCheck %s -check-prefix=cublasZgemm3m_64 +// cublasZgemm3m_64: CUDA API: +// cublasZgemm3m_64-NEXT: cublasZgemm3m_64(handle /*cublasHandle_t*/, transa /*cublasOperation_t*/, +// cublasZgemm3m_64-NEXT: transb /*cublasOperation_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasZgemm3m_64-NEXT: k /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZgemm3m_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZgemm3m_64-NEXT: b /*const cuDoubleComplex **/, ldb /*int64_t*/, +// cublasZgemm3m_64-NEXT: beta /*const cuDoubleComplex **/, c /*cuDoubleComplex **/, +// cublasZgemm3m_64-NEXT: ldc /*int64_t*/); +// cublasZgemm3m_64-NEXT: Is migrated to: +// cublasZgemm3m_64-NEXT: oneapi::mkl::blas::column_major::gemm(handle->get_queue(), transa, transb, m, n, k, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)b, ldb, dpct::get_value(beta, handle->get_queue()), (std::complex*)c, ldc, oneapi::mkl::blas::compute_mode::complex_3m); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasAsumEx_64 | FileCheck %s -check-prefix=cublasAsumEx_64 +// cublasAsumEx_64: CUDA API: +// cublasAsumEx_64-NEXT: cublasAsumEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasAsumEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, result /*void **/, +// cublasAsumEx_64-NEXT: result_type /*cudaDataType*/, +// cublasAsumEx_64-NEXT: execution_type /*cudaDataType*/); +// cublasAsumEx_64-NEXT: Is migrated to: +// cublasAsumEx_64-NEXT: dpct::blas::asum(handle, n, x, x_type, incx, result, result_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasAxpyEx_64 | FileCheck %s -check-prefix=cublasAxpyEx_64 +// cublasAxpyEx_64: CUDA API: +// cublasAxpyEx_64-NEXT: cublasAxpyEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, +// cublasAxpyEx_64-NEXT: alpha /*const void **/, alphatype /*cudaDataType*/, +// cublasAxpyEx_64-NEXT: x /*const void **/, xtype /*cudaDataType*/, incx /*int64_t*/, +// cublasAxpyEx_64-NEXT: y /*void **/, ytype /*cudaDataType*/, incy /*int64_t*/, +// cublasAxpyEx_64-NEXT: computetype /*cudaDataType*/); +// cublasAxpyEx_64-NEXT: Is migrated to: +// cublasAxpyEx_64-NEXT: dpct::blas::axpy(handle, n, alpha, alphatype, x, xtype, incx, y, ytype, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCherk3mEx_64 | FileCheck %s -check-prefix=cublasCherk3mEx_64 +// cublasCherk3mEx_64: CUDA API: +// cublasCherk3mEx_64-NEXT: cublasCherk3mEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCherk3mEx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCherk3mEx_64-NEXT: alpha /*const float **/, a /*const void **/, +// cublasCherk3mEx_64-NEXT: a_type /*cudaDataType*/, lda /*int64_t*/, +// cublasCherk3mEx_64-NEXT: beta /*const float **/, c /*void **/, +// cublasCherk3mEx_64-NEXT: c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCherk3mEx_64-NEXT: Is migrated to: +// cublasCherk3mEx_64-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCherkEx_64 | FileCheck %s -check-prefix=cublasCherkEx_64 +// cublasCherkEx_64: CUDA API: +// cublasCherkEx_64-NEXT: cublasCherkEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCherkEx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCherkEx_64-NEXT: alpha /*const float **/, a /*const void **/, +// cublasCherkEx_64-NEXT: a_type /*cudaDataType*/, lda /*int64_t*/, +// cublasCherkEx_64-NEXT: beta /*const float **/, c /*void **/, +// cublasCherkEx_64-NEXT: c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCherkEx_64-NEXT: Is migrated to: +// cublasCherkEx_64-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part8.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part8.cu new file mode 100644 index 000000000000..ef49a3d140d0 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part8.cu @@ -0,0 +1,189 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCherkx_64 | FileCheck %s -check-prefix=cublasCherkx_64 +// cublasCherkx_64: CUDA API: +// cublasCherkx_64-NEXT: cublasCherkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCherkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCherkx_64-NEXT: alpha /*const cuComplex **/, a /*const cuComplex **/, +// cublasCherkx_64-NEXT: lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, +// cublasCherkx_64-NEXT: beta /*const float **/, c /*cuComplex **/, ldc /*int64_t*/); +// cublasCherkx_64-NEXT: Is migrated to: +// cublasCherkx_64-NEXT: dpct::blas::herk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZherkx_64 | FileCheck %s -check-prefix=cublasZherkx_64 +// cublasZherkx_64: CUDA API: +// cublasZherkx_64-NEXT: cublasZherkx_64( +// cublasZherkx_64-NEXT: handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZherkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasZherkx_64-NEXT: alpha /*const cuDoubleComplex **/, a /*const cuDoubleComplex **/, +// cublasZherkx_64-NEXT: lda /*int64_t*/, b /*const cuDoubleComplex **/, ldb /*int64_t*/, +// cublasZherkx_64-NEXT: beta /*const double **/, c /*cuDoubleComplex **/, ldc /*int64_t*/); +// cublasZherkx_64-NEXT: Is migrated to: +// cublasZherkx_64-NEXT: dpct::blas::herk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasChpmv_64 | FileCheck %s -check-prefix=cublasChpmv_64 +// cublasChpmv_64: CUDA API: +// cublasChpmv_64-NEXT: cublasChpmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasChpmv_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, +// cublasChpmv_64-NEXT: a /*const cuComplex **/, x /*const cuComplex **/, +// cublasChpmv_64-NEXT: incx /*int64_t*/, beta /*const cuComplex **/, +// cublasChpmv_64-NEXT: y /*cuComplex **/, incy /*int64_t*/); +// cublasChpmv_64-NEXT: Is migrated to: +// cublasChpmv_64-NEXT: oneapi::mkl::blas::column_major::hpmv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZhpmv_64 | FileCheck %s -check-prefix=cublasZhpmv_64 +// cublasZhpmv_64: CUDA API: +// cublasZhpmv_64-NEXT: cublasZhpmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZhpmv_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZhpmv_64-NEXT: a /*const cuDoubleComplex **/, x /*const cuDoubleComplex **/, +// cublasZhpmv_64-NEXT: incx /*int64_t*/, beta /*const cuDoubleComplex **/, +// cublasZhpmv_64-NEXT: y /*cuDoubleComplex **/, incy /*int64_t*/); +// cublasZhpmv_64-NEXT: Is migrated to: +// cublasZhpmv_64-NEXT: oneapi::mkl::blas::column_major::hpmv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasChpr2_64 | FileCheck %s -check-prefix=cublasChpr2_64 +// cublasChpr2_64: CUDA API: +// cublasChpr2_64-NEXT: cublasChpr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasChpr2_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, +// cublasChpr2_64-NEXT: x /*const cuComplex **/, incx /*int64_t*/, +// cublasChpr2_64-NEXT: y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/); +// cublasChpr2_64-NEXT: Is migrated to: +// cublasChpr2_64-NEXT: oneapi::mkl::blas::column_major::hpr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZhpr2_64 | FileCheck %s -check-prefix=cublasZhpr2_64 +// cublasZhpr2_64: CUDA API: +// cublasZhpr2_64-NEXT: cublasZhpr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZhpr2_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZhpr2_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZhpr2_64-NEXT: y /*const cuDoubleComplex **/, incy /*int64_t*/, +// cublasZhpr2_64-NEXT: a /*cuDoubleComplex **/); +// cublasZhpr2_64-NEXT: Is migrated to: +// cublasZhpr2_64-NEXT: oneapi::mkl::blas::column_major::hpr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasChpr_64 | FileCheck %s -check-prefix=cublasChpr_64 +// cublasChpr_64: CUDA API: +// cublasChpr_64-NEXT: cublasChpr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasChpr_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const cuComplex **/, +// cublasChpr_64-NEXT: incx /*int64_t*/, a /*cuComplex **/); +// cublasChpr_64-NEXT: Is migrated to: +// cublasChpr_64-NEXT: oneapi::mkl::blas::column_major::hpr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZhpr_64 | FileCheck %s -check-prefix=cublasZhpr_64 +// cublasZhpr_64: CUDA API: +// cublasZhpr_64-NEXT: cublasZhpr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZhpr_64-NEXT: n /*int64_t*/, alpha /*const double **/, +// cublasZhpr_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZhpr_64-NEXT: a /*cuDoubleComplex **/); +// cublasZhpr_64-NEXT: Is migrated to: +// cublasZhpr_64-NEXT: oneapi::mkl::blas::column_major::hpr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCopyEx_64 | FileCheck %s -check-prefix=cublasCopyEx_64 +// cublasCopyEx_64: CUDA API: +// cublasCopyEx_64-NEXT: cublasCopyEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasCopyEx_64-NEXT: x_type /*cudaDataType*/, incx /*int64_t*/, y /*void **/, +// cublasCopyEx_64-NEXT: y_type /*cudaDataType*/, incy /*int64_t*/); +// cublasCopyEx_64-NEXT: Is migrated to: +// cublasCopyEx_64-NEXT: dpct::blas::copy(handle, n, x, x_type, incx, y, y_type, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsymv_64 | FileCheck %s -check-prefix=cublasCsymv_64 +// cublasCsymv_64: CUDA API: +// cublasCsymv_64-NEXT: cublasCsymv_64( +// cublasCsymv_64-NEXT: handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCsymv_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, a /*const cuComplex **/, +// cublasCsymv_64-NEXT: lda /*int64_t*/, x /*const cuComplex **/, incx /*int64_t*/, +// cublasCsymv_64-NEXT: beta /*const cuComplex **/, y /*cuComplex **/, incy /*int64_t*/); +// cublasCsymv_64-NEXT: Is migrated to: +// cublasCsymv_64-NEXT: oneapi::mkl::blas::column_major::symv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDsymv_64 | FileCheck %s -check-prefix=cublasDsymv_64 +// cublasDsymv_64: CUDA API: +// cublasDsymv_64-NEXT: cublasDsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDsymv_64-NEXT: n /*int64_t*/, alpha /*const double **/, a /*const double **/, +// cublasDsymv_64-NEXT: lda /*int64_t*/, x /*const double **/, incx /*int64_t*/, +// cublasDsymv_64-NEXT: beta /*const double **/, y /*double **/, incy /*int64_t*/); +// cublasDsymv_64-NEXT: Is migrated to: +// cublasDsymv_64-NEXT: oneapi::mkl::blas::column_major::symv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), a, lda, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSsymv_64 | FileCheck %s -check-prefix=cublasSsymv_64 +// cublasSsymv_64: CUDA API: +// cublasSsymv_64-NEXT: cublasSsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSsymv_64-NEXT: n /*int64_t*/, alpha /*const float **/, a /*const float **/, +// cublasSsymv_64-NEXT: lda /*int64_t*/, x /*const float **/, incx /*int64_t*/, +// cublasSsymv_64-NEXT: beta /*const float **/, y /*float **/, incy /*int64_t*/); +// cublasSsymv_64-NEXT: Is migrated to: +// cublasSsymv_64-NEXT: oneapi::mkl::blas::column_major::symv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), a, lda, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZsymv_64 | FileCheck %s -check-prefix=cublasZsymv_64 +// cublasZsymv_64: CUDA API: +// cublasZsymv_64-NEXT: cublasZsymv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZsymv_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZsymv_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZsymv_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZsymv_64-NEXT: beta /*const cuDoubleComplex **/, y /*cuDoubleComplex **/, +// cublasZsymv_64-NEXT: incy /*int64_t*/); +// cublasZsymv_64-NEXT: Is migrated to: +// cublasZsymv_64-NEXT: oneapi::mkl::blas::column_major::symv(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)a, lda, (std::complex*)x, incx, dpct::get_value(beta, handle->get_queue()), (std::complex*)y, incy); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyr2_64 | FileCheck %s -check-prefix=cublasCsyr2_64 +// cublasCsyr2_64: CUDA API: +// cublasCsyr2_64-NEXT: cublasCsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCsyr2_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, +// cublasCsyr2_64-NEXT: x /*const cuComplex **/, incx /*int64_t*/, +// cublasCsyr2_64-NEXT: y /*const cuComplex **/, incy /*int64_t*/, a /*cuComplex **/, +// cublasCsyr2_64-NEXT: lda /*int64_t*/); +// cublasCsyr2_64-NEXT: Is migrated to: +// cublasCsyr2_64-NEXT: oneapi::mkl::blas::column_major::syr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDsyr2_64 | FileCheck %s -check-prefix=cublasDsyr2_64 +// cublasDsyr2_64: CUDA API: +// cublasDsyr2_64-NEXT: cublasDsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDsyr2_64-NEXT: n /*int64_t*/, alpha /*const double **/, x /*const double **/, +// cublasDsyr2_64-NEXT: incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, +// cublasDsyr2_64-NEXT: a /*double **/, lda /*int64_t*/); +// cublasDsyr2_64-NEXT: Is migrated to: +// cublasDsyr2_64-NEXT: oneapi::mkl::blas::column_major::syr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSsyr2_64 | FileCheck %s -check-prefix=cublasSsyr2_64 +// cublasSsyr2_64: CUDA API: +// cublasSsyr2_64-NEXT: cublasSsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSsyr2_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const float **/, +// cublasSsyr2_64-NEXT: incx /*int64_t*/, y /*const float **/, incy /*int64_t*/, +// cublasSsyr2_64-NEXT: a /*float **/, lda /*int64_t*/); +// cublasSsyr2_64-NEXT: Is migrated to: +// cublasSsyr2_64-NEXT: oneapi::mkl::blas::column_major::syr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZsyr2_64 | FileCheck %s -check-prefix=cublasZsyr2_64 +// cublasZsyr2_64: CUDA API: +// cublasZsyr2_64-NEXT: cublasZsyr2_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZsyr2_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZsyr2_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZsyr2_64-NEXT: y /*const cuDoubleComplex **/, incy /*int64_t*/, +// cublasZsyr2_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZsyr2_64-NEXT: Is migrated to: +// cublasZsyr2_64-NEXT: oneapi::mkl::blas::column_major::syr2(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)y, incy, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyr_64 | FileCheck %s -check-prefix=cublasCsyr_64 +// cublasCsyr_64: CUDA API: +// cublasCsyr_64-NEXT: cublasCsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCsyr_64-NEXT: n /*int64_t*/, alpha /*const cuComplex **/, +// cublasCsyr_64-NEXT: x /*const cuComplex **/, incx /*int64_t*/, a /*cuComplex **/, +// cublasCsyr_64-NEXT: lda /*int64_t*/); +// cublasCsyr_64-NEXT: Is migrated to: +// cublasCsyr_64-NEXT: oneapi::mkl::blas::column_major::syr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDsyr_64 | FileCheck %s -check-prefix=cublasDsyr_64 +// cublasDsyr_64: CUDA API: +// cublasDsyr_64-NEXT: cublasDsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDsyr_64-NEXT: n /*int64_t*/, alpha /*const double **/, x /*const double **/, +// cublasDsyr_64-NEXT: incx /*int64_t*/, a /*double **/, lda /*int64_t*/); +// cublasDsyr_64-NEXT: Is migrated to: +// cublasDsyr_64-NEXT: oneapi::mkl::blas::column_major::syr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSsyr_64 | FileCheck %s -check-prefix=cublasSsyr_64 +// cublasSsyr_64: CUDA API: +// cublasSsyr_64-NEXT: cublasSsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSsyr_64-NEXT: n /*int64_t*/, alpha /*const float **/, x /*const float **/, +// cublasSsyr_64-NEXT: incx /*int64_t*/, a /*float **/, lda /*int64_t*/); +// cublasSsyr_64-NEXT: Is migrated to: +// cublasSsyr_64-NEXT: oneapi::mkl::blas::column_major::syr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), x, incx, a, lda); diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part9.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part9.cu new file mode 100644 index 000000000000..4f4a38062bd7 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_64bit_version_part9.cu @@ -0,0 +1,203 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2, cuda-11.0, cuda-11.1, cuda-11.2, cuda-11.3, cuda-11.4, cuda-11.5, cuda-11.6, cuda-11.7, cuda-11.8 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, v11.6, v11.7, v11.8 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZsyr_64 | FileCheck %s -check-prefix=cublasZsyr_64 +// cublasZsyr_64: CUDA API: +// cublasZsyr_64-NEXT: cublasZsyr_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZsyr_64-NEXT: n /*int64_t*/, alpha /*const cuDoubleComplex **/, +// cublasZsyr_64-NEXT: x /*const cuDoubleComplex **/, incx /*int64_t*/, +// cublasZsyr_64-NEXT: a /*cuDoubleComplex **/, lda /*int64_t*/); +// cublasZsyr_64-NEXT: Is migrated to: +// cublasZsyr_64-NEXT: oneapi::mkl::blas::column_major::syr(handle->get_queue(), upper_lower, n, dpct::get_value(alpha, handle->get_queue()), (std::complex*)x, incx, (std::complex*)a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyrk3mEx_64 | FileCheck %s -check-prefix=cublasCsyrk3mEx_64 +// cublasCsyrk3mEx_64: CUDA API: +// cublasCsyrk3mEx_64-NEXT: cublasCsyrk3mEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCsyrk3mEx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCsyrk3mEx_64-NEXT: alpha /*const cuComplex **/, a /*const void **/, +// cublasCsyrk3mEx_64-NEXT: a_type /*cudaDataType*/, lda /*int64_t*/, +// cublasCsyrk3mEx_64-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCsyrk3mEx_64-NEXT: c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCsyrk3mEx_64-NEXT: Is migrated to: +// cublasCsyrk3mEx_64-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyrkEx_64 | FileCheck %s -check-prefix=cublasCsyrkEx_64 +// cublasCsyrkEx_64: CUDA API: +// cublasCsyrkEx_64-NEXT: cublasCsyrkEx_64(handle /*cublasHandle_t*/, uplo /*cublasFillMode_t*/, +// cublasCsyrkEx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCsyrkEx_64-NEXT: alpha /*const cuComplex **/, a /*const void **/, +// cublasCsyrkEx_64-NEXT: a_type /*cudaDataType*/, lda /*int64_t*/, +// cublasCsyrkEx_64-NEXT: beta /*const cuComplex **/, c /*void **/, +// cublasCsyrkEx_64-NEXT: c_type /*cudaDataType*/, ldc /*int64_t*/); +// cublasCsyrkEx_64-NEXT: Is migrated to: +// cublasCsyrkEx_64-NEXT: dpct::blas::syherk(handle, uplo, trans, n, k, alpha, a, a_type, lda, beta, c, c_type, ldc, dpct::library_data_t::complex_float); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCsyrkx_64 | FileCheck %s -check-prefix=cublasCsyrkx_64 +// cublasCsyrkx_64: CUDA API: +// cublasCsyrkx_64-NEXT: cublasCsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCsyrkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasCsyrkx_64-NEXT: alpha /*const cuComplex **/, a /*const cuComplex **/, +// cublasCsyrkx_64-NEXT: lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, +// cublasCsyrkx_64-NEXT: beta /*const cuComplex **/, c /*cuComplex **/, +// cublasCsyrkx_64-NEXT: ldc /*int64_t*/); +// cublasCsyrkx_64-NEXT: Is migrated to: +// cublasCsyrkx_64-NEXT: dpct::blas::syrk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDsyrkx_64 | FileCheck %s -check-prefix=cublasDsyrkx_64 +// cublasDsyrkx_64: CUDA API: +// cublasDsyrkx_64-NEXT: cublasDsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDsyrkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasDsyrkx_64-NEXT: alpha /*const double **/, a /*const double **/, +// cublasDsyrkx_64-NEXT: lda /*int64_t*/, b /*const double **/, ldb /*int64_t*/, +// cublasDsyrkx_64-NEXT: beta /*const double **/, c /*double **/, ldc /*int64_t*/); +// cublasDsyrkx_64-NEXT: Is migrated to: +// cublasDsyrkx_64-NEXT: dpct::blas::syrk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSsyrkx_64 | FileCheck %s -check-prefix=cublasSsyrkx_64 +// cublasSsyrkx_64: CUDA API: +// cublasSsyrkx_64-NEXT: cublasSsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasSsyrkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasSsyrkx_64-NEXT: alpha /*const float **/, a /*const float **/, lda /*int64_t*/, +// cublasSsyrkx_64-NEXT: b /*const float **/, ldb /*int64_t*/, beta /*const float **/, +// cublasSsyrkx_64-NEXT: c /*float **/, ldc /*int64_t*/); +// cublasSsyrkx_64-NEXT: Is migrated to: +// cublasSsyrkx_64-NEXT: dpct::blas::syrk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZsyrkx_64 | FileCheck %s -check-prefix=cublasZsyrkx_64 +// cublasZsyrkx_64: CUDA API: +// cublasZsyrkx_64-NEXT: cublasZsyrkx_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZsyrkx_64-NEXT: trans /*cublasOperation_t*/, n /*int64_t*/, k /*int64_t*/, +// cublasZsyrkx_64-NEXT: alpha /*const cuDoubleComplex **/, +// cublasZsyrkx_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZsyrkx_64-NEXT: b /*const cuDoubleComplex **/, ldb /*int64_t*/, +// cublasZsyrkx_64-NEXT: beta /*const cuDoubleComplex **/, c /*cuDoubleComplex **/, +// cublasZsyrkx_64-NEXT: ldc /*int64_t*/); +// cublasZsyrkx_64-NEXT: Is migrated to: +// cublasZsyrkx_64-NEXT: dpct::blas::syrk(handle, upper_lower, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCtbsv_64 | FileCheck %s -check-prefix=cublasCtbsv_64 +// cublasCtbsv_64: CUDA API: +// cublasCtbsv_64-NEXT: cublasCtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasCtbsv_64-NEXT: trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, +// cublasCtbsv_64-NEXT: n /*int64_t*/, k /*int64_t*/, a /*const cuComplex **/, +// cublasCtbsv_64-NEXT: lda /*int64_t*/, x /*cuComplex **/, incx /*int64_t*/); +// cublasCtbsv_64-NEXT: Is migrated to: +// cublasCtbsv_64-NEXT: oneapi::mkl::blas::column_major::tbsv(handle->get_queue(), upper_lower, trans, unit_nonunit, n, k, (std::complex*)a, lda, (std::complex*)x, incx); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDtbsv_64 | FileCheck %s -check-prefix=cublasDtbsv_64 +// cublasDtbsv_64: CUDA API: +// cublasDtbsv_64-NEXT: cublasDtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDtbsv_64-NEXT: trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, +// cublasDtbsv_64-NEXT: n /*int64_t*/, k /*int64_t*/, a /*const double **/, +// cublasDtbsv_64-NEXT: lda /*int64_t*/, x /*double **/, incx /*int64_t*/); +// cublasDtbsv_64-NEXT: Is migrated to: +// cublasDtbsv_64-NEXT: oneapi::mkl::blas::column_major::tbsv(handle->get_queue(), upper_lower, trans, unit_nonunit, n, k, a, lda, x, incx); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasStbsv_64 | FileCheck %s -check-prefix=cublasStbsv_64 +// cublasStbsv_64: CUDA API: +// cublasStbsv_64-NEXT: cublasStbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasStbsv_64-NEXT: trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, +// cublasStbsv_64-NEXT: n /*int64_t*/, k /*int64_t*/, a /*const float **/, +// cublasStbsv_64-NEXT: lda /*int64_t*/, x /*float **/, incx /*int64_t*/); +// cublasStbsv_64-NEXT: Is migrated to: +// cublasStbsv_64-NEXT: oneapi::mkl::blas::column_major::tbsv(handle->get_queue(), upper_lower, trans, unit_nonunit, n, k, a, lda, x, incx); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZtbsv_64 | FileCheck %s -check-prefix=cublasZtbsv_64 +// cublasZtbsv_64: CUDA API: +// cublasZtbsv_64-NEXT: cublasZtbsv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasZtbsv_64-NEXT: trans /*cublasOperation_t*/, unit_nonunit /*cublasDiagType_t*/, +// cublasZtbsv_64-NEXT: n /*int64_t*/, k /*int64_t*/, a /*const cuDoubleComplex **/, +// cublasZtbsv_64-NEXT: lda /*int64_t*/, x /*cuDoubleComplex **/, incx /*int64_t*/); +// cublasZtbsv_64-NEXT: Is migrated to: +// cublasZtbsv_64-NEXT: oneapi::mkl::blas::column_major::tbsv(handle->get_queue(), upper_lower, trans, unit_nonunit, n, k, (std::complex*)a, lda, (std::complex*)x, incx); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasCtrmm_64 | FileCheck %s -check-prefix=cublasCtrmm_64 +// cublasCtrmm_64: CUDA API: +// cublasCtrmm_64-NEXT: cublasCtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, +// cublasCtrmm_64-NEXT: upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, +// cublasCtrmm_64-NEXT: unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasCtrmm_64-NEXT: alpha /*const cuComplex **/, a /*const cuComplex **/, +// cublasCtrmm_64-NEXT: lda /*int64_t*/, b /*const cuComplex **/, ldb /*int64_t*/, +// cublasCtrmm_64-NEXT: c /*cuComplex **/, ldc /*int64_t*/); +// cublasCtrmm_64-NEXT: Is migrated to: +// cublasCtrmm_64-NEXT: dpct::blas::trmm(handle, left_right, upper_lower, transa, unit_diag, m, n, alpha, a, lda, b, ldb, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDtrmm_64 | FileCheck %s -check-prefix=cublasDtrmm_64 +// cublasDtrmm_64: CUDA API: +// cublasDtrmm_64-NEXT: cublasDtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, +// cublasDtrmm_64-NEXT: upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, +// cublasDtrmm_64-NEXT: unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasDtrmm_64-NEXT: alpha /*const double **/, a /*const double **/, +// cublasDtrmm_64-NEXT: lda /*int64_t*/, b /*const double **/, ldb /*int64_t*/, +// cublasDtrmm_64-NEXT: c /*double **/, ldc /*int64_t*/); +// cublasDtrmm_64-NEXT: Is migrated to: +// cublasDtrmm_64-NEXT: dpct::blas::trmm(handle, left_right, upper_lower, transa, unit_diag, m, n, alpha, a, lda, b, ldb, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasStrmm_64 | FileCheck %s -check-prefix=cublasStrmm_64 +// cublasStrmm_64: CUDA API: +// cublasStrmm_64-NEXT: cublasStrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, +// cublasStrmm_64-NEXT: upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, +// cublasStrmm_64-NEXT: unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasStrmm_64-NEXT: alpha /*const float **/, a /*const float **/, lda /*int64_t*/, +// cublasStrmm_64-NEXT: b /*const float **/, ldb /*int64_t*/, c /*float **/, +// cublasStrmm_64-NEXT: ldc /*int64_t*/); +// cublasStrmm_64-NEXT: Is migrated to: +// cublasStrmm_64-NEXT: dpct::blas::trmm(handle, left_right, upper_lower, transa, unit_diag, m, n, alpha, a, lda, b, ldb, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasZtrmm_64 | FileCheck %s -check-prefix=cublasZtrmm_64 +// cublasZtrmm_64: CUDA API: +// cublasZtrmm_64-NEXT: cublasZtrmm_64(handle /*cublasHandle_t*/, left_right /*cublasSideMode_t*/, +// cublasZtrmm_64-NEXT: upper_lower /*cublasFillMode_t*/, transa /*cublasOperation_t*/, +// cublasZtrmm_64-NEXT: unit_diag /*cublasDiagType_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasZtrmm_64-NEXT: alpha /*const cuDoubleComplex **/, +// cublasZtrmm_64-NEXT: a /*const cuDoubleComplex **/, lda /*int64_t*/, +// cublasZtrmm_64-NEXT: b /*const cuDoubleComplex **/, ldb /*int64_t*/, +// cublasZtrmm_64-NEXT: c /*cuDoubleComplex **/, ldc /*int64_t*/); +// cublasZtrmm_64-NEXT: Is migrated to: +// cublasZtrmm_64-NEXT: dpct::blas::trmm(handle, left_right, upper_lower, transa, unit_diag, m, n, alpha, a, lda, b, ldb, c, ldc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDger_64 | FileCheck %s -check-prefix=cublasDger_64 +// cublasDger_64: CUDA API: +// cublasDger_64-NEXT: cublasDger_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasDger_64-NEXT: alpha /*const double **/, x /*const double **/, +// cublasDger_64-NEXT: incx /*int64_t*/, y /*const double **/, incy /*int64_t*/, +// cublasDger_64-NEXT: a /*double **/, lda /*int64_t*/); +// cublasDger_64-NEXT: Is migrated to: +// cublasDger_64-NEXT: oneapi::mkl::blas::column_major::ger(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasSger_64 | FileCheck %s -check-prefix=cublasSger_64 +// cublasSger_64: CUDA API: +// cublasSger_64-NEXT: cublasSger_64(handle /*cublasHandle_t*/, m /*int64_t*/, n /*int64_t*/, +// cublasSger_64-NEXT: alpha /*const float **/, x /*const float **/, incx /*int64_t*/, +// cublasSger_64-NEXT: y /*const float **/, incy /*int64_t*/, a /*float **/, +// cublasSger_64-NEXT: lda /*int64_t*/); +// cublasSger_64-NEXT: Is migrated to: +// cublasSger_64-NEXT: oneapi::mkl::blas::column_major::ger(handle->get_queue(), m, n, dpct::get_value(alpha, handle->get_queue()), x, incx, y, incy, a, lda); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDotcEx_64 | FileCheck %s -check-prefix=cublasDotcEx_64 +// cublasDotcEx_64: CUDA API: +// cublasDotcEx_64-NEXT: cublasDotcEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasDotcEx_64-NEXT: xtype /*cudaDataType*/, incx /*int64_t*/, y /*const void **/, +// cublasDotcEx_64-NEXT: ytype /*cudaDataType*/, incy /*int64_t*/, res /*void **/, +// cublasDotcEx_64-NEXT: restype /*cudaDataType*/, computetype /*cudaDataType*/); +// cublasDotcEx_64-NEXT: Is migrated to: +// cublasDotcEx_64-NEXT: dpct::blas::dotc(handle, n, x, xtype, incx, y, ytype, incy, res, restype); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDotEx_64 | FileCheck %s -check-prefix=cublasDotEx_64 +// cublasDotEx_64: CUDA API: +// cublasDotEx_64-NEXT: cublasDotEx_64(handle /*cublasHandle_t*/, n /*int64_t*/, x /*const void **/, +// cublasDotEx_64-NEXT: xtype /*cudaDataType*/, incx /*int64_t*/, y /*const void **/, +// cublasDotEx_64-NEXT: ytype /*cudaDataType*/, incy /*int64_t*/, res /*void **/, +// cublasDotEx_64-NEXT: restype /*cudaDataType*/, computetype /*cudaDataType*/); +// cublasDotEx_64-NEXT: Is migrated to: +// cublasDotEx_64-NEXT: dpct::blas::dot(handle, n, x, xtype, incx, y, ytype, incy, res, restype); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasDsbmv_64 | FileCheck %s -check-prefix=cublasDsbmv_64 +// cublasDsbmv_64: CUDA API: +// cublasDsbmv_64-NEXT: cublasDsbmv_64(handle /*cublasHandle_t*/, upper_lower /*cublasFillMode_t*/, +// cublasDsbmv_64-NEXT: n /*int64_t*/, k /*int64_t*/, alpha /*const double **/, +// cublasDsbmv_64-NEXT: a /*const double **/, lda /*int64_t*/, x /*const double **/, +// cublasDsbmv_64-NEXT: incx /*int64_t*/, beta /*const double **/, y /*double **/, +// cublasDsbmv_64-NEXT: incy /*int64_t*/); +// cublasDsbmv_64-NEXT: Is migrated to: +// cublasDsbmv_64-NEXT: oneapi::mkl::blas::column_major::sbmv(handle->get_queue(), upper_lower, n, k, dpct::get_value(alpha, handle->get_queue()), a, lda, x, incx, dpct::get_value(beta, handle->get_queue()), y, incy); diff --git a/clang/test/dpct/query_api_mapping/cuBLAS/blas_lt.cu b/clang/test/dpct/query_api_mapping/cuBLAS/blas_lt.cu new file mode 100644 index 000000000000..57f175375831 --- /dev/null +++ b/clang/test/dpct/query_api_mapping/cuBLAS/blas_lt.cu @@ -0,0 +1,178 @@ +// UNSUPPORTED: cuda-8.0, cuda-9.0, cuda-9.1, cuda-9.2, cuda-10.0, cuda-10.1, cuda-10.2 +// UNSUPPORTED: v8.0, v9.0, v9.1, v9.2, v10.0, v10.1, v10.2 + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtCreate | FileCheck %s -check-prefix=cublasLtCreate +// cublasLtCreate: CUDA API: +// cublasLtCreate-NEXT: cublasLtCreate(lthandle /*cublasLtHandle_t **/); +// cublasLtCreate-NEXT: Is migrated to: +// cublasLtCreate-NEXT: *lthandle = new dpct::blas_gemm::experimental::descriptor(); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtDestroy | FileCheck %s -check-prefix=cublasLtDestroy +// cublasLtDestroy: CUDA API: +// cublasLtDestroy-NEXT: cublasLtDestroy(lthandle /*cublasLtHandle_t*/); +// cublasLtDestroy-NEXT: Is migrated to: +// cublasLtDestroy-NEXT: delete (lthandle); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtGetVersion | FileCheck %s -check-prefix=cublasLtGetVersion +// cublasLtGetVersion: CUDA API: +// cublasLtGetVersion-NEXT: size_t ver = cublasLtGetVersion(); +// cublasLtGetVersion-NEXT: Is migrated to: +// cublasLtGetVersion-NEXT: size_t ver = dpct::dnnl::get_version(); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmul | FileCheck %s -check-prefix=cublasLtMatmul +// cublasLtMatmul: CUDA API: +// cublasLtMatmul-NEXT: cublasLtMatmul( +// cublasLtMatmul-NEXT: lthandle /*cublasLtHandle_t*/, mm_desc /*cublasLtMatmulDesc_t*/, +// cublasLtMatmul-NEXT: alpha /*const void **/, a /*const void **/, +// cublasLtMatmul-NEXT: a_desc /*cublasLtMatrixLayout_t*/, b /*const void **/, +// cublasLtMatmul-NEXT: b_desc /*cublasLtMatrixLayout_t*/, beta /*const void **/, +// cublasLtMatmul-NEXT: c /*const void **/, c_desc /*cublasLtMatrixLayout_t*/, d /*void **/, +// cublasLtMatmul-NEXT: d_desc /*cublasLtMatrixLayout_t*/, algo /*const cublasLtMatmulAlgo_t **/, +// cublasLtMatmul-NEXT: workspace /*void **/, workspace_size /*size_t*/, stream /*cudaStream_t*/); +// cublasLtMatmul-NEXT: Is migrated to: +// cublasLtMatmul-NEXT: dpct::blas_gemm::experimental::matmul(lthandle, mm_desc, alpha, a, a_desc, b, b_desc, beta, c, c_desc, d, d_desc, stream); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulAlgoGetHeuristic | FileCheck %s -check-prefix=cublasLtMatmulAlgoGetHeuristic +// cublasLtMatmulAlgoGetHeuristic: CUDA API: +// cublasLtMatmulAlgoGetHeuristic-NEXT: cublasLtMatmulAlgoGetHeuristic( +// cublasLtMatmulAlgoGetHeuristic-NEXT: lthandle /*cublasLtHandle_t*/, mm_desc /*cublasLtMatmulDesc_t*/, +// cublasLtMatmulAlgoGetHeuristic-NEXT: a_desc /*cublasLtMatrixLayout_t*/, b_desc /*cublasLtMatrixLayout_t*/, +// cublasLtMatmulAlgoGetHeuristic-NEXT: c_desc /*cublasLtMatrixLayout_t*/, d_desc /*cublasLtMatrixLayout_t*/, +// cublasLtMatmulAlgoGetHeuristic-NEXT: preference /*cublasLtMatmulPreference_t*/, requested_algo_count /*int*/, +// cublasLtMatmulAlgoGetHeuristic-NEXT: heuristic_results_array /*cublasLtMatmulHeuristicResult_t[]*/, +// cublasLtMatmulAlgoGetHeuristic-NEXT: return_algo_count /*int **/); +// cublasLtMatmulAlgoGetHeuristic-NEXT: Is migrated to: +// cublasLtMatmulAlgoGetHeuristic-NEXT: *return_algo_count = 1; + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulDescCreate | FileCheck %s -check-prefix=cublasLtMatmulDescCreate +// cublasLtMatmulDescCreate: CUDA API: +// cublasLtMatmulDescCreate-NEXT: cublasLtMatmulDescCreate(mm_esc /*cublasLtMatmulDesc_t **/, +// cublasLtMatmulDescCreate-NEXT: compute_type /*cublasComputeType_t*/, +// cublasLtMatmulDescCreate-NEXT: scale_type /*cudaDataType_t*/); +// cublasLtMatmulDescCreate-NEXT: Is migrated to: +// cublasLtMatmulDescCreate-NEXT: *mm_esc = new dpct::blas_gemm::experimental::matmul_desc_t(compute_type, scale_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulDescDestroy | FileCheck %s -check-prefix=cublasLtMatmulDescDestroy +// cublasLtMatmulDescDestroy: CUDA API: +// cublasLtMatmulDescDestroy-NEXT: cublasLtMatmulDescDestroy(mm_esc /*cublasLtMatmulDesc_t*/); +// cublasLtMatmulDescDestroy-NEXT: Is migrated to: +// cublasLtMatmulDescDestroy-NEXT: delete (mm_esc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulDescGetAttribute | FileCheck %s -check-prefix=cublasLtMatmulDescGetAttribute +// cublasLtMatmulDescGetAttribute: CUDA API: +// cublasLtMatmulDescGetAttribute-NEXT: cublasLtMatmulDescGetAttribute( +// cublasLtMatmulDescGetAttribute-NEXT: mm_esc /*cublasLtMatmulDesc_t*/, attr /*cublasLtMatmulDescAttributes_t*/, +// cublasLtMatmulDescGetAttribute-NEXT: buf /*void **/, size_in_bytes /*size_t*/, size_written /*size_t **/); +// cublasLtMatmulDescGetAttribute-NEXT: Is migrated to: +// cublasLtMatmulDescGetAttribute-NEXT: mm_esc->get_attribute(attr, buf); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulDescSetAttribute | FileCheck %s -check-prefix=cublasLtMatmulDescSetAttribute +// cublasLtMatmulDescSetAttribute: CUDA API: +// cublasLtMatmulDescSetAttribute-NEXT: cublasLtMatmulDescSetAttribute( +// cublasLtMatmulDescSetAttribute-NEXT: mm_esc /*cublasLtMatmulDesc_t*/, attr /*cublasLtMatmulDescAttributes_t*/, +// cublasLtMatmulDescSetAttribute-NEXT: buf /*const void **/, size_in_bytes /*size_t*/); +// cublasLtMatmulDescSetAttribute-NEXT: Is migrated to: +// cublasLtMatmulDescSetAttribute-NEXT: mm_esc->set_attribute(attr, buf); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulPreferenceCreate | FileCheck %s -check-prefix=cublasLtMatmulPreferenceCreate +// cublasLtMatmulPreferenceCreate: CUDA API: +// cublasLtMatmulPreferenceCreate-NEXT: cublasLtMatmulPreferenceCreate(pref /*cublasLtMatmulPreference_t **/); +// cublasLtMatmulPreferenceCreate-NEXT: The API is Removed. + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulPreferenceDestroy | FileCheck %s -check-prefix=cublasLtMatmulPreferenceDestroy +// cublasLtMatmulPreferenceDestroy: CUDA API: +// cublasLtMatmulPreferenceDestroy-NEXT: cublasLtMatmulPreferenceDestroy(pref /*cublasLtMatmulPreference_t*/); +// cublasLtMatmulPreferenceDestroy-NEXT: The API is Removed. + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulPreferenceGetAttribute | FileCheck %s -check-prefix=cublasLtMatmulPreferenceGetAttribute +// cublasLtMatmulPreferenceGetAttribute: CUDA API: +// cublasLtMatmulPreferenceGetAttribute-NEXT: cublasLtMatmulPreferenceGetAttribute( +// cublasLtMatmulPreferenceGetAttribute-NEXT: pref /*cublasLtMatmulPreference_t*/, +// cublasLtMatmulPreferenceGetAttribute-NEXT: attr /*cublasLtMatmulPreferenceAttributes_t*/, buf /*void **/, +// cublasLtMatmulPreferenceGetAttribute-NEXT: size_in_bytes /*size_t*/, size_written /*size_t **/); +// cublasLtMatmulPreferenceGetAttribute-NEXT: The API is Removed. + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatmulPreferenceSetAttribute | FileCheck %s -check-prefix=cublasLtMatmulPreferenceSetAttribute +// cublasLtMatmulPreferenceSetAttribute: CUDA API: +// cublasLtMatmulPreferenceSetAttribute-NEXT: cublasLtMatmulPreferenceSetAttribute( +// cublasLtMatmulPreferenceSetAttribute-NEXT: pref /*cublasLtMatmulPreference_t*/, +// cublasLtMatmulPreferenceSetAttribute-NEXT: attr /*cublasLtMatmulPreferenceAttributes_t*/, buf /*const void **/, +// cublasLtMatmulPreferenceSetAttribute-NEXT: size_in_bytes /*size_t*/); +// cublasLtMatmulPreferenceSetAttribute-NEXT: The API is Removed. + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixLayoutCreate | FileCheck %s -check-prefix=cublasLtMatrixLayoutCreate +// cublasLtMatrixLayoutCreate: CUDA API: +// cublasLtMatrixLayoutCreate-NEXT: cublasLtMatrixLayoutCreate(layout /*cublasLtMatrixLayout_t **/, +// cublasLtMatrixLayoutCreate-NEXT: type /*cudaDataType*/, rows /*uint64_t*/, +// cublasLtMatrixLayoutCreate-NEXT: cols /*uint64_t*/, ld /*int64_t*/); +// cublasLtMatrixLayoutCreate-NEXT: Is migrated to: +// cublasLtMatrixLayoutCreate-NEXT: *layout = new dpct::blas_gemm::experimental::matrix_layout_t(type, rows, cols, ld); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixLayoutDestroy | FileCheck %s -check-prefix=cublasLtMatrixLayoutDestroy +// cublasLtMatrixLayoutDestroy: CUDA API: +// cublasLtMatrixLayoutDestroy-NEXT: cublasLtMatrixLayoutDestroy(layout /*cublasLtMatrixLayout_t*/); +// cublasLtMatrixLayoutDestroy-NEXT: Is migrated to: +// cublasLtMatrixLayoutDestroy-NEXT: delete (layout); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixLayoutGetAttribute | FileCheck %s -check-prefix=cublasLtMatrixLayoutGetAttribute +// cublasLtMatrixLayoutGetAttribute: CUDA API: +// cublasLtMatrixLayoutGetAttribute-NEXT: cublasLtMatrixLayoutGetAttribute(layout /*cublasLtMatrixLayout_t*/, +// cublasLtMatrixLayoutGetAttribute-NEXT: attr /*cublasLtMatrixLayoutAttribute_t*/, +// cublasLtMatrixLayoutGetAttribute-NEXT: buf /*void **/, size_in_bytes /*size_t*/, +// cublasLtMatrixLayoutGetAttribute-NEXT: size_written /*size_t **/); +// cublasLtMatrixLayoutGetAttribute-NEXT: Is migrated to: +// cublasLtMatrixLayoutGetAttribute-NEXT: layout->get_attribute(attr, buf); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixLayoutSetAttribute | FileCheck %s -check-prefix=cublasLtMatrixLayoutSetAttribute +// cublasLtMatrixLayoutSetAttribute: CUDA API: +// cublasLtMatrixLayoutSetAttribute-NEXT: cublasLtMatrixLayoutSetAttribute(layout /*cublasLtMatrixLayout_t*/, +// cublasLtMatrixLayoutSetAttribute-NEXT: attr /*cublasLtMatrixLayoutAttribute_t*/, +// cublasLtMatrixLayoutSetAttribute-NEXT: buf /*const void **/, +// cublasLtMatrixLayoutSetAttribute-NEXT: size_in_bytes /*size_t*/); +// cublasLtMatrixLayoutSetAttribute-NEXT: Is migrated to: +// cublasLtMatrixLayoutSetAttribute-NEXT: layout->set_attribute(attr, buf); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixTransform | FileCheck %s -check-prefix=cublasLtMatrixTransform +// cublasLtMatrixTransform: CUDA API: +// cublasLtMatrixTransform-NEXT: cublasLtMatrixTransform( +// cublasLtMatrixTransform-NEXT: lthandle /*cublasLtHandle_t*/, +// cublasLtMatrixTransform-NEXT: trans_desc /*cublasLtMatrixTransformDesc_t*/, alpha /*const void **/, +// cublasLtMatrixTransform-NEXT: a /*const void **/, a_desc /*cublasLtMatrixLayout_t*/, +// cublasLtMatrixTransform-NEXT: beta /*const void **/, b /*const void **/, +// cublasLtMatrixTransform-NEXT: b_desc /*cublasLtMatrixLayout_t*/, c /*void **/, +// cublasLtMatrixTransform-NEXT: c_desc /*cublasLtMatrixLayout_t*/, stream /*cudaStream_t*/); +// cublasLtMatrixTransform-NEXT: Is migrated to: +// cublasLtMatrixTransform-NEXT: dpct::blas_gemm::experimental::matrix_transform(trans_desc, alpha, a, a_desc, beta, b, b_desc, c, c_desc, stream); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixTransformDescCreate | FileCheck %s -check-prefix=cublasLtMatrixTransformDescCreate +// cublasLtMatrixTransformDescCreate: CUDA API: +// cublasLtMatrixTransformDescCreate-NEXT: cublasLtMatrixTransformDescCreate( +// cublasLtMatrixTransformDescCreate-NEXT: trans_desc /*cublasLtMatrixTransformDesc_t **/, +// cublasLtMatrixTransformDescCreate-NEXT: scale_type /*cudaDataType*/); +// cublasLtMatrixTransformDescCreate-NEXT: Is migrated to: +// cublasLtMatrixTransformDescCreate-NEXT: *trans_desc = new dpct::blas_gemm::experimental::transform_desc_t(scale_type); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixTransformDescDestroy | FileCheck %s -check-prefix=cublasLtMatrixTransformDescDestroy +// cublasLtMatrixTransformDescDestroy: CUDA API: +// cublasLtMatrixTransformDescDestroy-NEXT: cublasLtMatrixTransformDescDestroy( +// cublasLtMatrixTransformDescDestroy-NEXT: trans_desc /*cublasLtMatrixTransformDesc_t*/); +// cublasLtMatrixTransformDescDestroy-NEXT: Is migrated to: +// cublasLtMatrixTransformDescDestroy-NEXT: delete (trans_desc); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixTransformDescGetAttribute | FileCheck %s -check-prefix=cublasLtMatrixTransformDescGetAttribute +// cublasLtMatrixTransformDescGetAttribute: CUDA API: +// cublasLtMatrixTransformDescGetAttribute-NEXT: cublasLtMatrixTransformDescGetAttribute( +// cublasLtMatrixTransformDescGetAttribute-NEXT: transformDesc /*cublasLtMatrixTransformDesc_t*/, +// cublasLtMatrixTransformDescGetAttribute-NEXT: attr /*cublasLtMatrixTransformDescAttributes_t*/, buf /*void **/, +// cublasLtMatrixTransformDescGetAttribute-NEXT: sizeInBytes /*size_t*/, sizeWritten /*size_t **/); +// cublasLtMatrixTransformDescGetAttribute-NEXT: Is migrated to: +// cublasLtMatrixTransformDescGetAttribute-NEXT: transformDesc->get_attribute(attr, buf); + +// RUN: dpct --cuda-include-path="%cuda-path/include" --query-api-mapping=cublasLtMatrixTransformDescSetAttribute | FileCheck %s -check-prefix=cublasLtMatrixTransformDescSetAttribute +// cublasLtMatrixTransformDescSetAttribute: CUDA API: +// cublasLtMatrixTransformDescSetAttribute-NEXT: cublasLtMatrixTransformDescSetAttribute( +// cublasLtMatrixTransformDescSetAttribute-NEXT: transformDesc /*cublasLtMatrixTransformDesc_t*/, +// cublasLtMatrixTransformDescSetAttribute-NEXT: attr /*cublasLtMatrixTransformDescAttributes_t*/, buf /*const void **/, +// cublasLtMatrixTransformDescSetAttribute-NEXT: sizeInBytes /*size_t*/); +// cublasLtMatrixTransformDescSetAttribute-NEXT: Is migrated to: +// cublasLtMatrixTransformDescSetAttribute-NEXT: transformDesc->set_attribute(attr, buf); diff --git a/clang/test/dpct/query_api_mapping/test_all.cu b/clang/test/dpct/query_api_mapping/test_all.cu index 0aaeb21b4c15..fc6ad16a53f6 100644 --- a/clang/test/dpct/query_api_mapping/test_all.cu +++ b/clang/test/dpct/query_api_mapping/test_all.cu @@ -755,7 +755,10 @@ // CHECK-NEXT: cub::DeviceSelect::Flagged // CHECK-NEXT: cub::DeviceSelect::If // CHECK-NEXT: cub::DeviceSelect::Unique +// CHECK-NEXT: cublasAsumEx +// CHECK-NEXT: cublasAsumEx_64 // CHECK-NEXT: cublasAxpyEx +// CHECK-NEXT: cublasAxpyEx_64 // CHECK-NEXT: cublasCaxpy // CHECK-NEXT: cublasCaxpy_64 // CHECK-NEXT: cublasCcopy @@ -770,34 +773,55 @@ // CHECK-NEXT: cublasCgbmv_64 // CHECK-NEXT: cublasCgeam // CHECK-NEXT: cublasCgeam_64 +// CHECK-NEXT: cublasCgelsBatched // CHECK-NEXT: cublasCgemm // CHECK-NEXT: cublasCgemm3m +// CHECK-NEXT: cublasCgemm3mEx +// CHECK-NEXT: cublasCgemm3mEx_64 +// CHECK-NEXT: cublasCgemm3m_64 // CHECK-NEXT: cublasCgemmBatched // CHECK-NEXT: cublasCgemmEx +// CHECK-NEXT: cublasCgemmEx_64 // CHECK-NEXT: cublasCgemmStridedBatched // CHECK-NEXT: cublasCgemm_64 // CHECK-NEXT: cublasCgemv // CHECK-NEXT: cublasCgemv_64 // CHECK-NEXT: cublasCgeqrfBatched // CHECK-NEXT: cublasCgerc +// CHECK-NEXT: cublasCgerc_64 // CHECK-NEXT: cublasCgeru +// CHECK-NEXT: cublasCgeru_64 // CHECK-NEXT: cublasCgetrfBatched // CHECK-NEXT: cublasCgetriBatched // CHECK-NEXT: cublasCgetrsBatched // CHECK-NEXT: cublasChbmv +// CHECK-NEXT: cublasChbmv_64 // CHECK-NEXT: cublasChemm // CHECK-NEXT: cublasChemm_64 // CHECK-NEXT: cublasChemv +// CHECK-NEXT: cublasChemv_64 // CHECK-NEXT: cublasCher // CHECK-NEXT: cublasCher2 +// CHECK-NEXT: cublasCher2_64 // CHECK-NEXT: cublasCher2k // CHECK-NEXT: cublasCher2k_64 +// CHECK-NEXT: cublasCher_64 // CHECK-NEXT: cublasCherk +// CHECK-NEXT: cublasCherk3mEx +// CHECK-NEXT: cublasCherk3mEx_64 +// CHECK-NEXT: cublasCherkEx +// CHECK-NEXT: cublasCherkEx_64 // CHECK-NEXT: cublasCherk_64 // CHECK-NEXT: cublasCherkx +// CHECK-NEXT: cublasCherkx_64 // CHECK-NEXT: cublasChpmv +// CHECK-NEXT: cublasChpmv_64 // CHECK-NEXT: cublasChpr // CHECK-NEXT: cublasChpr2 +// CHECK-NEXT: cublasChpr2_64 +// CHECK-NEXT: cublasChpr_64 +// CHECK-NEXT: cublasCopyEx +// CHECK-NEXT: cublasCopyEx_64 // CHECK-NEXT: cublasCreate // CHECK-NEXT: cublasCrot // CHECK-NEXT: cublasCrot_64 @@ -813,21 +837,31 @@ // CHECK-NEXT: cublasCsymm // CHECK-NEXT: cublasCsymm_64 // CHECK-NEXT: cublasCsymv +// CHECK-NEXT: cublasCsymv_64 // CHECK-NEXT: cublasCsyr // CHECK-NEXT: cublasCsyr2 +// CHECK-NEXT: cublasCsyr2_64 // CHECK-NEXT: cublasCsyr2k // CHECK-NEXT: cublasCsyr2k_64 +// CHECK-NEXT: cublasCsyr_64 // CHECK-NEXT: cublasCsyrk +// CHECK-NEXT: cublasCsyrk3mEx +// CHECK-NEXT: cublasCsyrk3mEx_64 +// CHECK-NEXT: cublasCsyrkEx +// CHECK-NEXT: cublasCsyrkEx_64 // CHECK-NEXT: cublasCsyrk_64 // CHECK-NEXT: cublasCsyrkx +// CHECK-NEXT: cublasCsyrkx_64 // CHECK-NEXT: cublasCtbmv // CHECK-NEXT: cublasCtbmv_64 // CHECK-NEXT: cublasCtbsv +// CHECK-NEXT: cublasCtbsv_64 // CHECK-NEXT: cublasCtpmv // CHECK-NEXT: cublasCtpmv_64 // CHECK-NEXT: cublasCtpsv // CHECK-NEXT: cublasCtpsv_64 // CHECK-NEXT: cublasCtrmm +// CHECK-NEXT: cublasCtrmm_64 // CHECK-NEXT: cublasCtrmv // CHECK-NEXT: cublasCtrmv_64 // CHECK-NEXT: cublasCtrsm @@ -850,6 +884,7 @@ // CHECK-NEXT: cublasDgbmv_64 // CHECK-NEXT: cublasDgeam // CHECK-NEXT: cublasDgeam_64 +// CHECK-NEXT: cublasDgelsBatched // CHECK-NEXT: cublasDgemm // CHECK-NEXT: cublasDgemmBatched // CHECK-NEXT: cublasDgemmStridedBatched @@ -858,13 +893,16 @@ // CHECK-NEXT: cublasDgemv_64 // CHECK-NEXT: cublasDgeqrfBatched // CHECK-NEXT: cublasDger +// CHECK-NEXT: cublasDger_64 // CHECK-NEXT: cublasDgetrfBatched // CHECK-NEXT: cublasDgetriBatched // CHECK-NEXT: cublasDgetrsBatched // CHECK-NEXT: cublasDnrm2 // CHECK-NEXT: cublasDnrm2_64 // CHECK-NEXT: cublasDotEx +// CHECK-NEXT: cublasDotEx_64 // CHECK-NEXT: cublasDotcEx +// CHECK-NEXT: cublasDotcEx_64 // CHECK-NEXT: cublasDrot // CHECK-NEXT: cublasDrot_64 // CHECK-NEXT: cublasDrotg @@ -872,31 +910,41 @@ // CHECK-NEXT: cublasDrotm_64 // CHECK-NEXT: cublasDrotmg // CHECK-NEXT: cublasDsbmv +// CHECK-NEXT: cublasDsbmv_64 // CHECK-NEXT: cublasDscal // CHECK-NEXT: cublasDscal_64 // CHECK-NEXT: cublasDspmv +// CHECK-NEXT: cublasDspmv_64 // CHECK-NEXT: cublasDspr // CHECK-NEXT: cublasDspr2 +// CHECK-NEXT: cublasDspr2_64 +// CHECK-NEXT: cublasDspr_64 // CHECK-NEXT: cublasDswap // CHECK-NEXT: cublasDswap_64 // CHECK-NEXT: cublasDsymm // CHECK-NEXT: cublasDsymm_64 // CHECK-NEXT: cublasDsymv +// CHECK-NEXT: cublasDsymv_64 // CHECK-NEXT: cublasDsyr // CHECK-NEXT: cublasDsyr2 +// CHECK-NEXT: cublasDsyr2_64 // CHECK-NEXT: cublasDsyr2k // CHECK-NEXT: cublasDsyr2k_64 +// CHECK-NEXT: cublasDsyr_64 // CHECK-NEXT: cublasDsyrk // CHECK-NEXT: cublasDsyrk_64 // CHECK-NEXT: cublasDsyrkx +// CHECK-NEXT: cublasDsyrkx_64 // CHECK-NEXT: cublasDtbmv // CHECK-NEXT: cublasDtbmv_64 // CHECK-NEXT: cublasDtbsv +// CHECK-NEXT: cublasDtbsv_64 // CHECK-NEXT: cublasDtpmv // CHECK-NEXT: cublasDtpmv_64 // CHECK-NEXT: cublasDtpsv // CHECK-NEXT: cublasDtpsv_64 // CHECK-NEXT: cublasDtrmm +// CHECK-NEXT: cublasDtrmm_64 // CHECK-NEXT: cublasDtrmv // CHECK-NEXT: cublasDtrmv_64 // CHECK-NEXT: cublasDtrsm @@ -909,8 +957,11 @@ // CHECK-NEXT: cublasDznrm2 // CHECK-NEXT: cublasDznrm2_64 // CHECK-NEXT: cublasGemmBatchedEx +// CHECK-NEXT: cublasGemmBatchedEx_64 // CHECK-NEXT: cublasGemmEx +// CHECK-NEXT: cublasGemmEx_64 // CHECK-NEXT: cublasGemmStridedBatchedEx +// CHECK-NEXT: cublasGemmStridedBatchedEx_64 // CHECK-NEXT: cublasGetAtomicsMode // CHECK-NEXT: cublasGetMathMode // CHECK-NEXT: cublasGetMatrix @@ -928,6 +979,11 @@ // CHECK-NEXT: cublasHgemm // CHECK-NEXT: cublasHgemmBatched // CHECK-NEXT: cublasHgemmStridedBatched +// CHECK-NEXT: cublasHgemm_64 +// CHECK-NEXT: cublasIamaxEx +// CHECK-NEXT: cublasIamaxEx_64 +// CHECK-NEXT: cublasIaminEx +// CHECK-NEXT: cublasIaminEx_64 // CHECK-NEXT: cublasIcamax // CHECK-NEXT: cublasIcamax_64 // CHECK-NEXT: cublasIcamin @@ -944,13 +1000,40 @@ // CHECK-NEXT: cublasIzamax_64 // CHECK-NEXT: cublasIzamin // CHECK-NEXT: cublasIzamin_64 +// CHECK-NEXT: cublasLtCreate +// CHECK-NEXT: cublasLtDestroy +// CHECK-NEXT: cublasLtGetVersion +// CHECK-NEXT: cublasLtMatmul +// CHECK-NEXT: cublasLtMatmulAlgoGetHeuristic +// CHECK-NEXT: cublasLtMatmulDescCreate +// CHECK-NEXT: cublasLtMatmulDescDestroy +// CHECK-NEXT: cublasLtMatmulDescGetAttribute +// CHECK-NEXT: cublasLtMatmulDescSetAttribute +// CHECK-NEXT: cublasLtMatmulPreferenceCreate +// CHECK-NEXT: cublasLtMatmulPreferenceDestroy +// CHECK-NEXT: cublasLtMatmulPreferenceGetAttribute +// CHECK-NEXT: cublasLtMatmulPreferenceSetAttribute +// CHECK-NEXT: cublasLtMatrixLayoutCreate +// CHECK-NEXT: cublasLtMatrixLayoutDestroy +// CHECK-NEXT: cublasLtMatrixLayoutGetAttribute +// CHECK-NEXT: cublasLtMatrixLayoutSetAttribute +// CHECK-NEXT: cublasLtMatrixTransform +// CHECK-NEXT: cublasLtMatrixTransformDescCreate +// CHECK-NEXT: cublasLtMatrixTransformDescDestroy +// CHECK-NEXT: cublasLtMatrixTransformDescGetAttribute +// CHECK-NEXT: cublasLtMatrixTransformDescSetAttribute // CHECK-NEXT: cublasNrm2Ex +// CHECK-NEXT: cublasNrm2Ex_64 // CHECK-NEXT: cublasRotEx +// CHECK-NEXT: cublasRotEx_64 +// CHECK-NEXT: cublasRotmEx +// CHECK-NEXT: cublasRotmEx_64 // CHECK-NEXT: cublasSasum // CHECK-NEXT: cublasSasum_64 // CHECK-NEXT: cublasSaxpy // CHECK-NEXT: cublasSaxpy_64 // CHECK-NEXT: cublasScalEx +// CHECK-NEXT: cublasScalEx_64 // CHECK-NEXT: cublasScasum // CHECK-NEXT: cublasScasum_64 // CHECK-NEXT: cublasScnrm2 @@ -973,19 +1056,23 @@ // CHECK-NEXT: cublasSetVectorAsync // CHECK-NEXT: cublasSetVectorAsync_64 // CHECK-NEXT: cublasSetVector_64 +// CHECK-NEXT: cublasSetWorkspace // CHECK-NEXT: cublasSgbmv // CHECK-NEXT: cublasSgbmv_64 // CHECK-NEXT: cublasSgeam // CHECK-NEXT: cublasSgeam_64 +// CHECK-NEXT: cublasSgelsBatched // CHECK-NEXT: cublasSgemm // CHECK-NEXT: cublasSgemmBatched // CHECK-NEXT: cublasSgemmEx +// CHECK-NEXT: cublasSgemmEx_64 // CHECK-NEXT: cublasSgemmStridedBatched // CHECK-NEXT: cublasSgemm_64 // CHECK-NEXT: cublasSgemv // CHECK-NEXT: cublasSgemv_64 // CHECK-NEXT: cublasSgeqrfBatched // CHECK-NEXT: cublasSger +// CHECK-NEXT: cublasSger_64 // CHECK-NEXT: cublasSgetrfBatched // CHECK-NEXT: cublasSgetriBatched // CHECK-NEXT: cublasSgetrsBatched @@ -998,31 +1085,41 @@ // CHECK-NEXT: cublasSrotm_64 // CHECK-NEXT: cublasSrotmg // CHECK-NEXT: cublasSsbmv +// CHECK-NEXT: cublasSsbmv_64 // CHECK-NEXT: cublasSscal // CHECK-NEXT: cublasSscal_64 // CHECK-NEXT: cublasSspmv +// CHECK-NEXT: cublasSspmv_64 // CHECK-NEXT: cublasSspr // CHECK-NEXT: cublasSspr2 +// CHECK-NEXT: cublasSspr2_64 +// CHECK-NEXT: cublasSspr_64 // CHECK-NEXT: cublasSswap // CHECK-NEXT: cublasSswap_64 // CHECK-NEXT: cublasSsymm // CHECK-NEXT: cublasSsymm_64 // CHECK-NEXT: cublasSsymv +// CHECK-NEXT: cublasSsymv_64 // CHECK-NEXT: cublasSsyr // CHECK-NEXT: cublasSsyr2 +// CHECK-NEXT: cublasSsyr2_64 // CHECK-NEXT: cublasSsyr2k // CHECK-NEXT: cublasSsyr2k_64 +// CHECK-NEXT: cublasSsyr_64 // CHECK-NEXT: cublasSsyrk // CHECK-NEXT: cublasSsyrk_64 // CHECK-NEXT: cublasSsyrkx +// CHECK-NEXT: cublasSsyrkx_64 // CHECK-NEXT: cublasStbmv // CHECK-NEXT: cublasStbmv_64 // CHECK-NEXT: cublasStbsv +// CHECK-NEXT: cublasStbsv_64 // CHECK-NEXT: cublasStpmv // CHECK-NEXT: cublasStpmv_64 // CHECK-NEXT: cublasStpsv // CHECK-NEXT: cublasStpsv_64 // CHECK-NEXT: cublasStrmm +// CHECK-NEXT: cublasStrmm_64 // CHECK-NEXT: cublasStrmv // CHECK-NEXT: cublasStrmv_64 // CHECK-NEXT: cublasStrsm @@ -1030,6 +1127,8 @@ // CHECK-NEXT: cublasStrsm_64 // CHECK-NEXT: cublasStrsv // CHECK-NEXT: cublasStrsv_64 +// CHECK-NEXT: cublasSwapEx +// CHECK-NEXT: cublasSwapEx_64 // CHECK-NEXT: cublasZaxpy // CHECK-NEXT: cublasZaxpy_64 // CHECK-NEXT: cublasZcopy @@ -1048,8 +1147,10 @@ // CHECK-NEXT: cublasZgbmv_64 // CHECK-NEXT: cublasZgeam // CHECK-NEXT: cublasZgeam_64 +// CHECK-NEXT: cublasZgelsBatched // CHECK-NEXT: cublasZgemm // CHECK-NEXT: cublasZgemm3m +// CHECK-NEXT: cublasZgemm3m_64 // CHECK-NEXT: cublasZgemmBatched // CHECK-NEXT: cublasZgemmStridedBatched // CHECK-NEXT: cublasZgemm_64 @@ -1057,24 +1158,34 @@ // CHECK-NEXT: cublasZgemv_64 // CHECK-NEXT: cublasZgeqrfBatched // CHECK-NEXT: cublasZgerc +// CHECK-NEXT: cublasZgerc_64 // CHECK-NEXT: cublasZgeru +// CHECK-NEXT: cublasZgeru_64 // CHECK-NEXT: cublasZgetrfBatched // CHECK-NEXT: cublasZgetriBatched // CHECK-NEXT: cublasZgetrsBatched // CHECK-NEXT: cublasZhbmv +// CHECK-NEXT: cublasZhbmv_64 // CHECK-NEXT: cublasZhemm // CHECK-NEXT: cublasZhemm_64 // CHECK-NEXT: cublasZhemv +// CHECK-NEXT: cublasZhemv_64 // CHECK-NEXT: cublasZher // CHECK-NEXT: cublasZher2 +// CHECK-NEXT: cublasZher2_64 // CHECK-NEXT: cublasZher2k // CHECK-NEXT: cublasZher2k_64 +// CHECK-NEXT: cublasZher_64 // CHECK-NEXT: cublasZherk // CHECK-NEXT: cublasZherk_64 // CHECK-NEXT: cublasZherkx +// CHECK-NEXT: cublasZherkx_64 // CHECK-NEXT: cublasZhpmv +// CHECK-NEXT: cublasZhpmv_64 // CHECK-NEXT: cublasZhpr // CHECK-NEXT: cublasZhpr2 +// CHECK-NEXT: cublasZhpr2_64 +// CHECK-NEXT: cublasZhpr_64 // CHECK-NEXT: cublasZrot // CHECK-NEXT: cublasZrot_64 // CHECK-NEXT: cublasZrotg @@ -1085,21 +1196,27 @@ // CHECK-NEXT: cublasZsymm // CHECK-NEXT: cublasZsymm_64 // CHECK-NEXT: cublasZsymv +// CHECK-NEXT: cublasZsymv_64 // CHECK-NEXT: cublasZsyr // CHECK-NEXT: cublasZsyr2 +// CHECK-NEXT: cublasZsyr2_64 // CHECK-NEXT: cublasZsyr2k // CHECK-NEXT: cublasZsyr2k_64 +// CHECK-NEXT: cublasZsyr_64 // CHECK-NEXT: cublasZsyrk // CHECK-NEXT: cublasZsyrk_64 // CHECK-NEXT: cublasZsyrkx +// CHECK-NEXT: cublasZsyrkx_64 // CHECK-NEXT: cublasZtbmv // CHECK-NEXT: cublasZtbmv_64 // CHECK-NEXT: cublasZtbsv +// CHECK-NEXT: cublasZtbsv_64 // CHECK-NEXT: cublasZtpmv // CHECK-NEXT: cublasZtpmv_64 // CHECK-NEXT: cublasZtpsv // CHECK-NEXT: cublasZtpsv_64 // CHECK-NEXT: cublasZtrmm +// CHECK-NEXT: cublasZtrmm_64 // CHECK-NEXT: cublasZtrmv // CHECK-NEXT: cublasZtrmv_64 // CHECK-NEXT: cublasZtrsm