Advertisement
mahmoodn

mm-test

Mar 6th, 2022
1,341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.86 KB | None | 0 0
  1. $ cat mm_int_blas.c
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <cblas.h>
  6. #define N 1200
  7. void fill_matrices(double first[][N], double second[][N], double result[][N])
  8. {
  9.     srand(time(NULL)); // randomize seed
  10.     for (int i = 0; i < N; i++){
  11.         for (int j = 0; j < N; j++){
  12.             first[i][j] = rand() % 10;
  13.             second[i][j] = rand() % 10;
  14.             result[i][j] = 0;
  15.         }
  16.     }
  17. }
  18. int main()
  19. {
  20.     static double first[N][N], second[N][N], result[N][N];
  21.     fill_matrices(first, second, result);
  22.  
  23.     cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
  24.  
  25.     return 0;
  26. }
  27.  
  28.  
  29.  
  30. $ gcc -O3  -c mm_int_blas.c -o mm_int_blas.o
  31. mm_int_blas.c: In function ‘main’:
  32. mm_int_blas.c:22:72: warning: passing argument 8 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
  33.    22 |     cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
  34.       |                                                                        ^~~~~
  35.       |                                                                        |
  36.       |                                                                        double (*)[1200]
  37. In file included from mm_int_blas.c:4:
  38. /usr/include/x86_64-linux-gnu/cblas.h:270:56: note: expected ‘const double *’ but argument is of type ‘double (*)[1200]
  39.   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);
  40.       |                                                        ^
  41. mm_int_blas.c:22:82: warning: passing argument 10 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
  42.    22 |     cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
  43.       |                                                                                  ^~~~~~
  44.       |                                                                                  |
  45.       |                                                                                  double (*)[1200]
  46. In file included from mm_int_blas.c:4:
  47. /usr/include/x86_64-linux-gnu/cblas.h:270:110: note: expected ‘const double *’ but argument is of type ‘double (*)[1200]
  48.   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);
  49.       |                                                                                                              ^
  50. mm_int_blas.c:22:98: warning: passing argument 13 of ‘cblas_dgemm’ from incompatible pointer type [-Wincompatible-pointer-types]
  51.    22 |     cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, N,N,N, 1.0, first, N, second, N, 0.0, result, N);
  52.       |                                                                                                  ^~~~~~
  53.       |                                                                                                  |
  54.       |                                                                                                  double (*)[1200]
  55. In file included from mm_int_blas.c:4:
  56. /usr/include/x86_64-linux-gnu/cblas.h:270:177: note: expected ‘double *’ but argument is of type ‘double (*)[1200]
  57.   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);
  58.       |                                                                                                                                                          ~~~~~~~~^
  59.  
  60.  
  61.  
  62.  
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement