Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cat mm_int_blas.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <cblas.h>
- #define N 1200
- void fill_matrices(double first[][N], double second[][N], double result[][N])
- {
- srand(time(NULL)); // randomize seed
- for (int i = 0; i < N; i++){
- for (int j = 0; j < N; j++){
- first[i][j] = rand() % 10;
- second[i][j] = rand() % 10;
- result[i][j] = 0;
- }
- }
- }
- int main()
- {
- static double first[N][N], second[N][N], result[N][N];
- fill_matrices(first, second, result);
- cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
- return 0;
- }
- $ gcc -O3 -c mm_int_blas.c -o mm_int_blas.o
- mm_int_blas.c: In function ‘main’:
- mm_int_blas.c:22:72: warning: passing argument 8 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
- 22 | cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
- | ^~~~~
- | |
- | double (*)[1200]
- In file included from mm_int_blas.c:4:
- /usr/include/x86_64-linux-gnu/cblas.h:270:56: note: expected ‘const double *’ but argument is of type ‘double (*)[1200]’
- 270 | OPENBLAS_CONST double alpha, OPENBLAS_CONST double *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST double *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST double beta, double *C, OPENBLAS_CONST blasint ldc);
- | ^
- mm_int_blas.c:22:82: warning: passing argument 10 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
- 22 | cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
- | ^~~~~~
- | |
- | double (*)[1200]
- In file included from mm_int_blas.c:4:
- /usr/include/x86_64-linux-gnu/cblas.h:270:110: note: expected ‘const double *’ but argument is of type ‘double (*)[1200]’
- 270 | OPENBLAS_CONST double alpha, OPENBLAS_CONST double *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST double *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST double beta, double *C, OPENBLAS_CONST blasint ldc);
- | ^
- mm_int_blas.c:22:98: warning: passing argument 13 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
- 22 | cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
- | ^~~~~~
- | |
- | double (*)[1200]
- In file included from mm_int_blas.c:4:
- /usr/include/x86_64-linux-gnu/cblas.h:270:177: note: expected ‘double *’ but argument is of type ‘double (*)[1200]’
- 270 | ST double alpha, OPENBLAS_CONST double *A, OPENBLAS_CONST blasint lda, OPENBLAS_CONST double *B, OPENBLAS_CONST blasint ldb, OPENBLAS_CONST double beta, double *C, OPENBLAS_CONST blasint ldc);
- | ~~~~~~~~^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement