fix warnings
[pluto.git] / examples / doitgen / doitgen.acml.c
blobbb9021ae83105af7ca9b642126a6d0011c9e70c5
1 #include <stdio.h>
2 #include <stdlib.h>
4 #include "acml.h"
6 #include "decls.h"
7 #include "util.h"
9 double t_start, t_end;
11 main()
13 int t, p, q, r, s;
14 double *_C4, *_sum, *_A;
15 int LDA, LDB, LDC;
16 int i, j, k;
18 LDA=N;
19 LDB=N;
20 LDC=N*N;
22 init_array();
24 _A = (double *) malloc(sizeof(double)*N*N*N);
25 _C4 = (double *) malloc(sizeof(double)*N*N);
26 _sum = (double *) malloc(sizeof(double)*N*N*N);
28 for( i=0; i<N; i++){
29 for( j=0; j<N; j++){
30 for( k=0; k<N; k++){
31 _A[i*N*N+j*N+k]= A[i][j][k];
33 _C4[i*N+j]= C4[i][j];
37 IF_TIME(t_start = rtclock());
39 #ifndef TEST
40 for (t=0; t<1000; t++) {
41 #endif
43 /* pluto start (N) */
44 for( r = 0; r < N; r++) {
45 for( q = 0; q< N; q++) {
46 for( p = 0; p< N; p++) {
47 _sum[N*N*r + N*q + p] = 0.0;
52 dgemm('T','T',N*N,N,N,1,_A,LDA,_C4,LDB,1,_sum,LDC);
54 for( r = 0; r<N; r++) {
55 for( q = 0; q<N; q++) {
56 for( p = 0; p< N; p++) {
57 A[p][r][q] = _sum[N*N*r+N*q+p];
61 /* pluto end */
63 #ifndef TEST
65 #endif
67 IF_TIME(t_end = rtclock());
68 IF_TIME(fprintf(stderr, "%0.6lfs\n", t_end - t_start));
70 #ifdef TEST
71 print_array();
72 #endif
74 return 0;