このチュートリアルは、Tachyon サンプル・アプリケーションを使用します。Tachyon は、データファイルのオブジェクトをレンダリングするレイ・トレーシング・アプリケーションです。アプリケーションは、入力ファイルとして balls.dat を使用します。 データファイルは、/tachyon/dat/ ディレクトリーにあります。
オリジナルの Tachyon は、関数 pthread_create() (ソースファイル: /tachyon/src/Windows/pthread.cpp) で明示的なスレッド (1 つはレンダリング用、もう 1 つは演算用) により並列処理されたアプリケーションでした。 このチュートリアルでは、OpenMP*、インテル® スレッディング・ビルディング・ブロック (インテル® TBB)、およびインテル® Cilk™ Plus により演算スレッドに並列化を実装します。並列化は関数 draw_task() にのみ実装します。この関数は、ソースファイル build_serial.cpp に含まれています。
このチュートリアルでは、インテル® C++ コンパイラーを使用し、同じ関数の異なる並列実装バージョンをビルドします。 アプリケーションを実行すると、オブジェクトをレンダリングするのに必要な実行時間がウィンドウタイトルに表示されます。この時間により、最初のステップで確立されるシリアル実装のベースラインと比較して、並列実装で得られる速度向上が示されます。