Ray Tracing on Intel Xeon Phi with Embree

Print Friendly, PDF & Email

Sponsored Post

High quality photo-realistic rendering benefits many industries. From understanding how an object may look in a realistic setting to creating special effects in movies, a goal is to produce very high quality renderings as fast a possible. To achieve this goal, optimized libraries are needed that take advantage of the underlying hardware to its fullest.

In computer graphics, ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects. Rays can be bounced off of objects, which then may intersect with additional objects. The end results is a very realistic looking scene, where accurate shadows, reflections and refractions can be visualized.

With the Intel Xeon Phi processor, a ray tracing library can take advantage of the hardware architecture, if properly developed. Experienced computer graphics developers that understand how ray tracing works, in conjunction with a deep knowledge of the Intel Xeon Phi processor hardware have created a set of ray tracing kernels that take advantage of the underlying instruction sets and the available number of computing cores.

[clickToTweet tweet=”Intel Xeon Phi processors can be used for very high quality ray tracing with @embree” quote=”Intel Xeon Phi processors can be used for very high quality ray tracing with Embree”]

From the Embree description at embree.github.io:

Embree contains algorithms optimized for incoherent workloads (e.g. Monte Carlo ray tracing algorithms) and coherent workloads (e.g. primary visibility and hard shadow rays). For standard CPUs, the single-ray traversal kernels in Embree provide the best performance for incoherent workloads and are very easy to integrate into existing rendering applications. For AVX-512 enabled machines, a renderer written in ISPC using the default hybrid ray/packet traversal algorithms have shown to perform best, but requires writing the renderer in ISPC. In general for coherent workloads, ISPC outperforms the single ray mode on each platform. Embree also supports dynamic scenes by implementing high performance two-level spatial index structure construction algorithms.”

Using a highly tuned ray tracing library such as Embree, it is very useful to look at the performance when creating a complex scene. Although various parameters to control what the scene will look like are available, comparing different hardware implementations and their costs can give developers and eventually end user customers the information needed to choose the right solution for their budget and performance needs.

At a high end resolution of 3840 x 1620 would require about 8.3 million rays to be traced.  Using models of varying complexity, measurements using Embree on an Intel Xeon Platinum 8180 have shown that for a fairly complex scene consisting of over 10 million triangles, that up to 250 million rays can be computed per second. The same model shows that about  175 million rays can be computed per second on an Intel Xeon Phi processor. The resulting images are very realistic and can be used in a wide range of industries.

By using libraries that are highly tuned for the hardware that the application is executing on, developers can focus on their modeling and creative talents. Using a single binary across a range of hardware optimizes the developers efforts and can deliver amazing results.

Get a free download of Intel Parallel Studio XE 2018