0

fun1() と fun2() という 2 つの関数があるとします。Intel Threading building block で両方を同時に実行したい。openmp と同様に、#pragma omp セクションを使用して、2 つの異なる関数を同時に実行できます。Intel TBB を使用して同じことを行うにはどうすればよいでしょうか?

4

1 に答える 1

0

parallel_invoke は、ほとんどの用途でこれを達成するための優れた方法であり、この目的のために TBB が提供する最高レベルの API を使用します。低レベルの API を使用して、TBB でこれを行う方法は他にもあります。これを達成するための次の低レベル API の方法は、新しい task_group を作成することです。さらに、TBB の最下位レベルの API を使用すると、任意の並列処理パターンを作成できる独自のタスク ツリーを作成できます。そこまで行く場合、必要な重要な洞察は、一度に複数のルート タスクを作成できるということです。一部のドキュメントではそれが明らかではありませんが、一度理解すれば、想像できるあらゆる並列処理パターンを作成できる可能性があります。

インテル® スレッディング・ビルディング・ブロックを使用したゲーム・アーキテクチャーの最適化の記事では、この最低レベルの API を使用して説明した目的を達成する例と、役立つと思われる他のいくつかの例を示しています。

于 2014-02-20T20:48:12.543 に答える