14 double *_C4
, *_sum
, *_A
;
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
);
31 _A
[i
*N
*N
+j
*N
+k
]= A
[i
][j
][k
];
37 IF_TIME(t_start
= rtclock());
40 for (t
=0; t
<1000; t
++) {
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 cblas_dgemm(CblasRowMajor
,CblasNoTrans
,CblasNoTrans
,
53 N
*N
,N
,N
,1,_A
,LDA
,_C4
,LDB
,1,_sum
,LDC
);
55 for( r
= 0; r
<N
; r
++) {
56 for( q
= 0; q
<N
; q
++) {
57 for( p
= 0; p
< N
; p
++) {
58 A
[r
][q
][p
] = _sum
[N
*N
*r
+N
*q
+p
];
68 IF_TIME(t_end
= rtclock());
69 IF_TIME(fprintf(stderr
, "%0.6lfs\n", t_end
- t_start
));