インテル® インテグレーテッド・パフォーマンス・プリミティブ (インテル® IPP) 関数はスレッドセーフです。 つまり、アプリケーションをスレッド化し、別のスレッドが同じインテル® IPP 関数を呼び出しても、同期の問題なくその関数を呼び出すことができます。インテル® スレッディング・ビルディング・ブロック (インテル® TBB) とインテル® Cilk™ Plus は、マルチコア・アーキテクチャーの利点を活用できる 2 つのスレッド化手法です。
ライフゲーム・アプリケーションをシリアルに実行するには、IPPTBBLife.cpp ファイルの 行 5 あたりにある #define USE_TBB 文をコメントアウトします。 以下のようになります。
Windows のタスク マネージャを起動し、[パフォーマンス] タブをクリックします。 [CPU 使用率] セクションに注目します。これには、アプリケーションを実行し、イメージを表示するための CPU サイクルが含まれます。ライフゲーム・アプリケーションのみ (表示に費やされるサイクルはなし) の CPU 使用率を取得するには、Life.vb の行 68 あたりの PictureBox1.Refresh() への呼び出しをコメントアウトします。
アプリケーションを実行して、[CPU 使用率] のパーセントをメモしておきます。
インテル® TBB は複数のプロセッサーに処理を分割しているので、[CPU 使用率] のパーセントは、シリアルよりマルチコアシステムのほうが大幅に高いでしょう。より高い [CPU 使用率] のパーセントは、より多くの処理が行われていることを示します。つまり、より良いアプリケーション・パフォーマンスという意味です。
インテル® Cilk™ Plus を使用して、ライフゲーム ・アプリケーションをどのようにスレッド化できるか、次の手順を行って確認してみましょう。
Life.vb の行 51 あたりにある IPPCilkLife 関数のコメントを外します。
IPPTBBLife と SerialLife 関数をコメントアウトします。
IPPClkLife.cpp の行5 あたりにある #define USE_CILK 文をコメントアウトします。これにより、ライフゲーム・アプリケーションはシリアルに実行されます。
Windows のタスク マネージャを起動し、[パフォーマンス] タブをクリックします。そして、アプリケーションを実行して [CPU 使用率] のパーセントをメモしておきます。
IPPTBBLife.cpp の行5 あたりにある #define USE_CILK 文のコメントを外します。 これは、インテル® Cilk™ Plus を使用してライフゲーム・アプリケーションをスレッド化します。
アプリケーションを実行して、[CPU 使用率] のパーセントをメモしておきます。
インテル® Cilk™ Plus は複数のプロセッサーに処理を分割しているので、[CPU 使用率] のパーセントは、シリアルよりマルチコアシステムのほうが大幅に高いでしょう。 より高い [CPU 使用率] のパーセントは、より多くの処理が行われていることを示します。つまり、より良いアプリケーション・パフォーマンスという意味です。
© 2010 Intel Corporation. 無断での引用、転載を禁じます。