私は次のようなコードを持っています:
for(i=0; i<max;i++){
for(j=0; j<max2;j++)
//stuff
}
for(i=0; i<max;i++){
for(j=0; j<max2;j++)
//other stuff
}
for(i=0; i<max;i++){
for(j=0; j<max2;j++)
//final stuff
}
OpenMPを使用してこれを並列化したい。最良の方法は何ですか?#pragma omp parallel private(i)
私は最初と#pragma omp for
すべてのj
ループの前にをやってみました。これは私が意味することです:
#pragma omp parallel private(i)
{
for(i=0; i<max;i++){
#pragma omp for
for (j=0; j<max2;j++){
//and so on and so forth
問題は、これではパフォーマンスがまったく向上しないということです。これは、3つのfor
ループが並行して実行されていないためだと思います...これらの3つを同時に実行できれば、パフォーマンスが向上すると思います。何か案は?ありがとう!