Running Embree on Intel® Xeon Phi™ Coprocessor

These are the steps to reproduce a visual demonstration of the Crown model.    

These steps assume the following:

  • You have an Intel® Xeon® processor-based system with OpenGL hardware graphics support and  an Intel® Xeon Phi™ Coprocessor.
  • You are running a supported operating system (see the list supported, here)
  • Have the Intel® MPSS installed
  • Have the Intel® Compiler installed on the host
  • Have verified connectivity to the coprocessor (e.g. can connect to it via ssh without issue)
  • Have downloaded the pre-built version of the ISPC binaries (this is also called out in the Embree README, just reiterating here for clarity)


  1. Download the latest version of Embree from 
  2. Download Embree sample renderer and Crown model from
  3. Read the installation instructions including the README.txt.   There are several libraries required for Embree installation.
  4. Once compiled and installed , Run Embree on the host  with the following command:  ./render –device singleray –c crown/crown.ecs –size 1024 1024 –spp 4 –depth 5
  5. Provided the CPU (host) version works, you should be able to run the following on the Intel Xeon Phi Coprocessor:   ./render –device ispc_knc –c crown/crown.ecs –size 1024 1024 –spp 4 –depth 5


  • It is best to set the recursion depth to 5 (as done above), as this gives much better performance on the coprocessor. Experiment with the number of samples per pixel (-spp) such that the navigation speed is sufficient for your platform. 
  • Do not set the samples per pixel too low (not lower than 4), otherwise the rays per second performance drops because of display overheads.
  • Embree will automatically use multiple Intel Xeon Phi coprocessors if present in the system. But best start to get it running with only one coprocessor. The performance numbers printed will be the rays second performance on each card. Thus the printed numbers will not get higher, but the framerate will scale linearly.
  • You can go to full screen mode with the f key.
  •  If you experience failures resulting in the error "COI_MISSING_DEPENDENCY"  try setting the SINK_LD_LIBRARY_PATH environment variable to include paths to all of the standard and Embree libraries on the host, prior to invocation





For more complete information about compiler optimizations, see our Optimization Notice.