Starting with Intel(R) C++ Compiler 15.0 we provide a feature which enables offloading general purpose compute kernels to processor graphics. This feature enables the processor graphics silicon area for general purpose computing. The key idea is to utilize the compute power of both CPU cores and GPU execution units in tandem for better utilization of available compute power.
Target Hardware and OS requirements:
Windows* 32 and 64 bit support. Compute offload feature on Microsoft Windows 7* will only work with an active display (no locked screen). This restriction is imposed by DirectX 9 but relaxed in DirectX 11 and above (on Microsoft Windows 8*, Microsoft Windows 8.1* and Microsoft Windows 10*). Intel(R) C++ Compiler 17.0 Beta on Windows* supports 6th Generation Intel(R) Core(TM) Processors for compute offload to integrated graphics.
|Driver Version||Hardware Platforms||OS Platforms (64-bit)|
|16.3.2 (deprecated in Intel C++ Compiler 16.0 and support will be removed in Intel C++ Compiler 17.0)|
|Open Source Media Kernel Runtime||• Intel® Xeon® Processor E3-1285 v3 and E3-1285L v3 (Intel® C226 Chipset) with Intel® HD Graphics P4700|
• 6th Generation Intel(R) Core(TM) Processors with Intel(R) Iris(TM) Graphics or Intel(R) HD Graphics
• 5th Generation Intel Core™ Processors with Intel Iris™ Graphics or Intel HD Graphics (5500, 6000, 6100).
• 4th Generation Intel® Core™ Processors with Intel® Iris™ Pro Graphics, Intel® Iris™ Graphics or Intel® HD Graphics 4200+ Series
• 3rd Generation Intel® Core™ Processors with Intel® HD Graphics 4000/2500
For other Linux OS distributions please adjust and apply the instructions documented in open source installation guide. The main requirements are kernel version 3.19.2, libdrm 2.4.56, libva 0.38.0 and libpciaccess 0.13.1
|MR3.1||• Intel Atom® SoC E3900 Family, Intel® Celeron® Processor N3350, and Intel® Pentium® Processor N4200|
The driver is part of Intel® Unified 3D Library which you can download from Apollo Lake Technical Library
Host OS requirements:
Windows* 32 and 64 bit, Linux 64 bit.
Target System Environment requirements:
- Intel(R) C++ Compiler 15.0 or higher versions - You can download the compiler from Intel registration center after you register for either Intel(R) Parallel Studio 2015 or Intel(R) System Studio 2015 Beta.
- Intel(R) HD Graphics Driver - Download the right driver from http://downloadcenter.intel.com.
- Binutils package - Download and Install the binutils package from http://software.intel.com/en-us/articles/open-source-downloads. Please add the path to ld.exe to "Path" environment variable. Since the offload region to processor graphics is in ELF format, you need the binutils to build and link the heterogeneous application.
- Intel(R) C++ Compiler 15.0 or higher versions
- Intel(R) HD Graphics Driver or Open Source Media Kernel Runtime
- The login id on your Linux machine should be part of "video" group.
You can download the above mentioned tools from Intel registration center after registering for either Intel(R) Parallel Studio 2015 (or higher version) or Intel(R) System Studio 2015 (or higher version). Please refer to Driver Installation Guide on Intel Registration Center for information on the OS support for individual driver versions.
On Ubuntu 12.04, the Intel(R) HD Graphics Driver installation puts the igfxcmrt64.so file at /usr/lib/x86_64-linux-gnu and this path is not searched while the linker looks for a library during runtime (More information on this is available at https://wiki.ubuntu.com/MultiarchSpec). So make sure this directory comes part of the ld's (linker's) lookup list, please follow either one of the following approaches:
1. Add /usr/lib/x86_64-linux-gnu to LD_LIBRARY_PATH
2. Add /usr/lib/x86_64-linux-gnu path in /etc/ld.so.conf.d/x86_64-linux-gnu.conf to make sure linker looks into this directory while it searches for libraries.
The installation guide and build script for open source media kernel runtime is available for download at https://software.intel.com/articles/open-source-downloads under section "Required for use of offload with Open Source Media Kernel Runtime for Intel® HD Graphics"
Testing the Build and Target environments:
Install Intel(R) C++ Compiler 15.0 compiler or higher version and get gfx_samples.zip from Samples folder. This zip file has a bunch of code samples which demonstrates the compute offload for processor graphics. If these code snippets build and run fine, your environment is rightly setup.
Install Intel(R) C++ Compiler 15.0 compiler or higher version and get gfx_samples.tar.gz from Samples folder. This zip file has a bunch of code samples which demonstrates the compute offload for processor graphics. If these code snippets build and run fine, your environment is rightly setup.
Other relevant articles:
1. How to offload computation to Intel(R) Graphics Technology
2. Code generation options for Intel(R) Graphics Technology
3. Using Intel(R) C++ Compiler with Intel(R) Processor Graphics
4. Unlocking the compute power of Intel(R) Graphics Technology to boost the performance of a Black Scholes program
5. Compute offload to Intel(R) Graphics Technology when X server is up and running on a Linux machine
6. error : cannot open source file "windows.h" in gfx_samples.zip shipped with Intel(R) C++ Compiler 15.0 Beta Update 2 when built with VS2012 IDE
7. Avoid frequency drop in GPU cores when executing applications in Heterogeneous mode
8. Tuning tips for compute offload to Intel(R) Processor Graphics
9. Offloading Asian Options Pricing Algorithm to Intel(R) Processor Graphics
This article applies to:
Products: Intel® System Studio, Intel(R) Parallel Studio
Host OS/Platform: Windows (IA-32 or Intel® 64); Linux (Intel® 64)
Target OS/platform: Windows (IA-32 or Intel® 64); Ubuntu 12.04 (Intel® 64)