次のコードがあり、サイズの異なる複数の行列乗算の実行時間を計算したいと考えています。マトリックス サイズ 100 から始めて 500 まで移動しましたが、1000 にしようとすると、次のエラーが表示されます。サイズが 5000 から 10000 の行列の実行時間を計算したいのですが、誰でも私の問題を解決するのを手伝ってくれますか?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 1000
int main(void)
{
int A[SIZE][SIZE], B[SIZE][SIZE], C[SIZE][SIZE] = {0};
int i, j, k;
srand(time(NULL));
for(i = 0; i < SIZE; i++)
{
for(j = 0; j < SIZE; j++)
{
A[i][j] = rand()%100;
B[i][j] = rand()%100;
}
}
clock_t begin, end;
double time_spent;
begin = clock();
for(i = 0; i < SIZE; i++)
for(j = 0; j < SIZE; j++)
for(k = 0; k < SIZE; k++)
C[i][j] += A[i][k] * B[k][j];
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf("Elapsed time: %.2lf seconds.\n", time_spent);
return 0;
}