C# を使用してデータベースを作成しています。問題は、400 万近くのデータポイントがあり、データベースを完成させるのにかなりの時間がかかることです (おそらく数か月)。コードはこんな感じ。
int[,,,] Result1=new int[10,10,10,10];
int[,,,] Result2=new int[10,10,10,10];
int[,,,] Result3=new int[10,10,10,10];
int[,,,] Result4=new int[10,10,10,10];
for (int i=0;i<10;i++)
{
for (int j=0;j<10;j++)
{
for (int k=0;k<10;k++)
{
for (int l=0;l<10;l++)
{
Result1[i,j,k,l]=myFunction1(i,j,k,l);
Result2[i,j,k,l]=myFunction2(i,j,k,l);
Result3[i,j,k,l]=myFunction3(i,j,k,l);
Result4[i,j,k,l]=myFunction4(i,j,k,l);
}
}
}
}
Result 配列のすべての要素は、互いに完全に独立しています。私のPCには8つのコアがあり、myFunctionメソッドごとにスレッドを作成しましたが、それでも多くの場合があるため、全体のプロセスには多くの時間がかかります. これをCPUではなくGPUで実行する方法があるかどうか疑問に思っています。私は以前にそれをしたことがなく、どのように機能するかわかりません。誰かがこれについて私を助けてくれれば幸いです。