This tutorial uses the Tachyon sample application. Tachyon is a ray-tracer application, rendering objects described in data files. The application uses balls.dat as the input file. The data files are stored in the \tachyon\dat\ directory.
Originally, Tachyon was an application with parallelism implemented in function pthread_create() with explicit threads: one for the rendering, and the other for calculations. You can find the original implementation in the source file \tachyon_compiler\src\Windows\pthread.cpp.
In this tutorial, we implement parallelization on the calculation thread with OpenMP*, Intel® Threading Building Blocks (TBB), and Intel® Cilk™ Plus. Parallelization is implemented only for the draw_task() function, which you can find in the source file build_serial.cpp.
In this tutorial, you will build different parallel implementations of the same function with the Intel compiler. The sample application displays the execution time required to render the object in the window title. This time is an indication of the speedup obtained with parallel implementations compared to a baseline established with a serial implementation in the first step.
This tutorial is available in Linux*, OS* X, and Windows* versions.
Start the Linux version of this tutorial.