私は古いOpenMPの演習を少し練習しましたが、特にonのための解決策を見つけるのは難しいです。OpenMP依存グラフ
目標は、依存関係グラフに対応する最も単純なOpenMPコードを書くことです。
グラフがここに表示されている:http://imgur.com/a/8qkYb
最初のものは単純です。
これは、次のコードに対応:
#pragma omp parallel
{
#pragma omp simple
{
#pragma omp task
{
A1();
A2();
}
#pragma omp task
{
B1();
B2();
}
#pragma omp task
{
C1();
C2();
}
}
}
2つ目は、まだ簡単です。依存関係の数が、すべての関数呼び出し間で等しくないので、私にはかなりを盗聴されて
#pragma omp parallel
{
#pragma omp simple
{
#pragma omp task
{
A1();
}
#pragma omp task
{
B1();
}
#pragma omp task
{
C1();
}
#pragma omp barrier
A2();
B2();
C2();
}
}
そして今、最後の1を付属しています... 。私はあなたが待っていなければならないタスクを明示的に述べるべきだと思ったが、OpenMPのドキュメントで探しているものが見つからない。
誰かがこの質問の説明をしていれば、私は今一ヶ月以上それを考えていたので、とても感謝しています。