68 __ESBMC_assert(ldb == rows,
"Full matrix is not bein copied");
92 __ESBMC_assert(lda == cols,
"Full matrix is not bein recovered");
99 __ESBMC_assert(lda == ldb,
"Full matrix is not bein copied");
107 __ESBMC_assert(ldb == lda,
"Full matrix is not bein copied");
119 for (
int i = 0; i < n; i++)
121 int j = 1 + (i - 1) * incx;
122 x[j] = ((
float)alpha[0]) * x[j];
134 for (
int i = 0; i < n; i++)
136 int j = 1 + (i - 1) * incx;
137 x[j] = ((double)alpha[0]) * x[j];
150 for (
int i = 0; i < n; i++)
152 int k = 1 + (i - 1) * incx;
153 int j = 1 + (i - 1) * incy;
168 for (
int i = 0; i < n; i++)
170 int k = 1 + (i - 1) * incx;
171 int j = 1 + (i - 1) * incy;
188 for (
int i = 0; i < n; i++)
190 int k = 1 + (i - 1) * incx;
191 int j = 1 + (i - 1) * incy;
192 aux = y[j] * x[k] + aux;
208 for (
int i = 0; i < n; i++)
210 int k = 1 + (i - 1) * incx;
211 int j = 1 + (i - 1) * incy;
212 aux = y[j] * x[k] + aux;
226 for (
int i = 0; i < n; i++)
228 int k = 1 + (i - 1) * incx;
229 int j = 1 + (i - 1) * incy;
243 for (
int i = 0; i < n; i++)
245 int k = 1 + (i - 1) * incx;
246 int j = 1 + (i - 1) * incy;
270 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
272 for (
int contadorY = 0; contadorY < n; contadorY++)
275 for (
int contadorX = 0; contadorX < k; contadorX++)
278 (
A[contadorX + contadorZ * k] * B[contadorX * n + contadorY]) +
281 C[contadorY + contadorZ * m] =
282 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
289 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
291 for (
int contadorY = 0; contadorY < n; contadorY++)
294 for (
int contadorX = 0; contadorX < k; contadorX++)
297 (
A[contadorX + contadorZ * k] * B[contadorX + contadorY * n]) +
300 C[contadorY + contadorZ * m] =
301 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
307 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
309 for (
int contadorY = 0; contadorY < n; contadorY++)
312 for (
int contadorX = 0; contadorX < k; contadorX++)
315 (
A[contadorX * k + contadorZ] * B[contadorX * n + contadorY]) +
318 C[contadorY + contadorZ * m] =
319 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
325 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
327 for (
int contadorY = 0; contadorY < n; contadorY++)
330 for (
int contadorX = 0; contadorX < k; contadorX++)
333 (
A[contadorX * k + contadorZ] * B[contadorX + contadorY * n]) +
336 C[contadorY + contadorZ * m] =
337 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
362 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
364 for (
int contadorY = 0; contadorY < n; contadorY++)
367 for (
int contadorX = 0; contadorX < k; contadorX++)
370 (
A[contadorX + contadorZ * k] * B[contadorX * n + contadorY]) +
373 C[contadorY + contadorZ * m] =
374 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
380 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
382 for (
int contadorY = 0; contadorY < n; contadorY++)
385 for (
int contadorX = 0; contadorX < k; contadorX++)
388 (
A[contadorX + contadorZ * k] * B[contadorX + contadorY * n]) +
391 C[contadorY + contadorZ * m] =
392 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
398 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
400 for (
int contadorY = 0; contadorY < n; contadorY++)
403 for (
int contadorX = 0; contadorX < k; contadorX++)
406 (
A[contadorX * k + contadorZ] * B[contadorX * n + contadorY]) +
409 C[contadorY + contadorZ * m] =
410 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
416 for (
int contadorZ = 0; contadorZ < m; contadorZ++)
418 for (
int contadorY = 0; contadorY < n; contadorY++)
421 for (
int contadorX = 0; contadorX < k; contadorX++)
424 (
A[contadorX * k + contadorZ] * B[contadorX + contadorY * n]) +
427 C[contadorY + contadorZ * m] =
428 alpha[0] * result + beta[0] *
C[contadorY + contadorZ * m];
443 for (
int i = 0; i < n; i++)
445 int k = 1 + (i - 1) * incx;
446 int j = 1 + (i - 1) * incy;
447 y[j] = ((
float)alpha[0]) * x[k] + y[j];
461 for (
int i = 0; i < n; i++)
463 int k = 1 + (i - 1) * incx;
464 int j = 1 + (i - 1) * incy;
465 y[j] = ((double)alpha[0]) * x[k] + y[j];
cublasStatus_t cublasDcopy(cublasHandle_t handle, int n, const double *x, int incx, double *y, int incy)
Definition cublas.h:235
cublasStatus_t cublasGetVector(int n, int elemSize, const void *A, int lda, void *B, int ldb)
Definition cublas.h:105
cublasStatus_t cublasSscal(cublasHandle_t handle, int n, const float *alpha, float *x, int incx)
Definition cublas.h:112
struct cublashandle cublasHandle_t
cublasStatus_t cublasDscal(cublasHandle_t handle, int n, const double *alpha, double *x, int incx)
Definition cublas.h:127
cublasStatus_t cublasSdot(cublasHandle_t handle, int n, const float *x, int incx, const float *y, int incy, float *result)
Definition cublas.h:178
cublasStatus_t cublasSswap(cublasHandle_t handle, int n, float *x, int incx, float *y, int incy)
Definition cublas.h:142
cublasStatus_t cublasSetVector(int n, int elemSize, const void *A, int lda, void *B, int ldb)
Definition cublas.h:97
enum cublasoperation cublasOperation_t
Definition cublas.h:30
cublasStatus_t cublasSgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const float *alpha, const float *A, int lda, const float *B, int ldb, const float *beta, float *C, int ldc)
Definition cublas.h:252
cublasStatus_t cublasCreate(cublasHandle_t *handle)
Definition cublas.h:36
cublasStatus_t cublasSaxpy(cublasHandle_t handle, int n, const float *alpha, const float *x, int incx, float *y, int incy)
Definition cublas.h:434
cublasStatus_t cublasDaxpy(cublasHandle_t handle, int n, const double *alpha, const double *x, int incx, double *y, int incy)
Definition cublas.h:452
cublasStatus_t cublasDswap(cublasHandle_t handle, int n, double *x, int incx, double *y, int incy)
Definition cublas.h:160
cublasStatus_t cublasSetMatrix(int rows, int cols, int elemSize, const void *A, int lda, void *B, int ldb)
Definition cublas.h:58
cublasStatus_t cublasDgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, const double *alpha, const double *A, int lda, const double *B, int ldb, const double *beta, double *C, int ldc)
Definition cublas.h:344
enum cublasstatus custatusResult
enum cublasoperation cuoperation
cublasStatus_t cublasScopy(cublasHandle_t handle, int n, const float *x, int incx, float *y, int incy)
Definition cublas.h:218
enum cublasstatus cublasStatus_t
Definition cublas.h:18
cublasStatus_t cublasDestroy(cublasHandle_t handle)
Definition cublas.h:44
cublasStatus_t cublasDdot(cublasHandle_t handle, int n, const double *x, int incx, const double *y, int incy, double *result)
Definition cublas.h:198
cublasstatus
Definition cublas.h:5
@ CUBLAS_STATUS_NOT_SUPPORTED
Definition cublas.h:14
@ CUBLAS_STATUS_INVALID_VALUE
Definition cublas.h:9
@ CUBLAS_STATUS_EXECUTION_FAILED
Definition cublas.h:12
@ CUBLAS_STATUS_LICENSE_ERROR
Definition cublas.h:15
@ CUBLAS_STATUS_NOT_INITIALIZED
Definition cublas.h:7
@ CUBLAS_STATUS_ARCH_MISMATCH
Definition cublas.h:10
@ CUBLAS_STATUS_SUCCESS
Definition cublas.h:6
@ CUBLAS_STATUS_INTERNAL_ERROR
Definition cublas.h:13
@ CUBLAS_STATUS_MAPPING_ERROR
Definition cublas.h:11
@ CUBLAS_STATUS_ALLOC_FAILED
Definition cublas.h:8
cublasoperation
Definition cublas.h:24
@ CUBLAS_OP_N
Definition cublas.h:25
@ CUBLAS_OP_C
Definition cublas.h:27
@ CUBLAS_OP_T
Definition cublas.h:26
cublasStatus_t cublasGetMatrix(int rows, int cols, int elemSize, const void *A, int lda, void *B, int ldb)
Definition cublas.h:83
#define C
Definition exp2f.c:25
#define A
Definition logf.c:22