2009-09-02 16 views
5

AppleはSnow LeopardでGrand Central Dispatch(スレッドプール)を導入しましたが、クロスプラットフォームでありLeopardで動作するOpenMPよりも、なぜそれを使用する必要があるのでしょうか。彼らは使いやすく、機能も似ています。だから、どんなアイデア?OpenMPでGrand Central Dispatchを使用するのはなぜですか?

答えて

7

GCDは、問題に投げ込む適切なレベルのリソースの実行時評価ではるかに優れています.OpenMPは、環境変数などの情報に基づいて一連の並列タスクを呼び出すスレッドの数を決定します。 GCDは、現在のシステム負荷と使用可能なコア数を調べ、適切な数のスレッドを実行できるようにします。リソースの使用状況がリアルタイムで変化するため、スケールアップとバックが可能です。つまり、GCDプログラムは一般的なケースでより良い結果を得るはずです。もちろん、コードを実行するための専用ボックスのクラスタを購入した場合は、コードと競合するその他のものがほとんどないため、これは間違いです。

0

パフォーマンスとOSレベルの統合?

2

GCDがオープンソース化されたので、両方のツールを並べて、最後に誰が生きているかを確認してください。

関連する問題