1*fe7bd34bSMichael Kruse #include <stdio.h> 2*fe7bd34bSMichael Kruse 3*fe7bd34bSMichael Kruse #define N 1536 4*fe7bd34bSMichael Kruse float A[N][N]; 5*fe7bd34bSMichael Kruse float B[N][N]; 6*fe7bd34bSMichael Kruse float C[N][N]; 7*fe7bd34bSMichael Kruse init_array()8*fe7bd34bSMichael Krusevoid init_array() 9*fe7bd34bSMichael Kruse { 10*fe7bd34bSMichael Kruse int i, j; 11*fe7bd34bSMichael Kruse 12*fe7bd34bSMichael Kruse for (i = 0; i < N; i++) { 13*fe7bd34bSMichael Kruse for (j = 0; j < N; j++) { 14*fe7bd34bSMichael Kruse A[i][j] = (1+(i*j)%1024)/2.0; 15*fe7bd34bSMichael Kruse B[i][j] = (1+(i*j)%1024)/2.0; 16*fe7bd34bSMichael Kruse } 17*fe7bd34bSMichael Kruse } 18*fe7bd34bSMichael Kruse } 19*fe7bd34bSMichael Kruse print_array()20*fe7bd34bSMichael Krusevoid print_array() 21*fe7bd34bSMichael Kruse { 22*fe7bd34bSMichael Kruse int i, j; 23*fe7bd34bSMichael Kruse 24*fe7bd34bSMichael Kruse for (i = 0; i < N; i++) { 25*fe7bd34bSMichael Kruse for (j = 0; j < N; j++) { 26*fe7bd34bSMichael Kruse fprintf(stdout, "%lf ", C[i][j]); 27*fe7bd34bSMichael Kruse if (j%80 == 79) fprintf(stdout, "\n"); 28*fe7bd34bSMichael Kruse } 29*fe7bd34bSMichael Kruse fprintf(stdout, "\n"); 30*fe7bd34bSMichael Kruse } 31*fe7bd34bSMichael Kruse } 32*fe7bd34bSMichael Kruse main()33*fe7bd34bSMichael Kruseint main() 34*fe7bd34bSMichael Kruse { 35*fe7bd34bSMichael Kruse int i, j, k; 36*fe7bd34bSMichael Kruse double t_start, t_end; 37*fe7bd34bSMichael Kruse 38*fe7bd34bSMichael Kruse init_array(); 39*fe7bd34bSMichael Kruse 40*fe7bd34bSMichael Kruse for (i = 0; i < N; i++) { 41*fe7bd34bSMichael Kruse for (j = 0; j < N; j++) { 42*fe7bd34bSMichael Kruse C[i][j] = 0; 43*fe7bd34bSMichael Kruse for (k = 0; k < N; k++) 44*fe7bd34bSMichael Kruse C[i][j] = C[i][j] + A[i][k] * B[k][j]; 45*fe7bd34bSMichael Kruse } 46*fe7bd34bSMichael Kruse } 47*fe7bd34bSMichael Kruse 48*fe7bd34bSMichael Kruse #ifdef TEST 49*fe7bd34bSMichael Kruse print_array(); 50*fe7bd34bSMichael Kruse #endif 51*fe7bd34bSMichael Kruse return 0; 52*fe7bd34bSMichael Kruse } 53