Get Started with Intel® SDK for OpenCL™ Applications 2017 for Linux* OS

Published: 08/17/2017  

Last Updated: 09/04/2018

By Michael R Carroll, Jeffrey McAllister

20180904 Note: Intel® SDK for OpenCL™ Applications 2019 Beta assumes a different system setup for Intel® Graphics Technology development. The 2019 SDK expects usage of the new Intel® Graphics Compute Runtime for OpenCL™ Driver (NEO implementation). The 2019 SDK is not compatible with the SRB5.0 OpenCL™ implementation. Please see the main Intel® SDK for OpenCL™ Applications Getting Started portal for more information on the 2019 SDK as it becomes available.

 

This article is a guide to get started using Intel® SDK for OpenCL™ Applications 2017 for Linux* OS with the SRB5 driver package. The SRB5.0 OpenCL™ implementation enables GEN9 Intel® Graphics Technology hardware acceleration, debug, and analysis features including Intel® VTune™ Amplifier support. To use Intel® SDK for OpenCL™ Applications 2017 with the drivers:

  1. Install an OpenCL™ driver.
  2. Install the Intel® SDK for OpenCL™ Applications 2017.
  3. Set up Eclipse*.

For more detail on SRB5.0 see the legacy deployment page for Intel® Runtimes enabling OpenCL™ Applications. Note neither SRB5.0 nor any derivatives are under active development. SRB5.0 will is not supported on 7th or 8th generation Intel® Core™ processors.

Step 1: Install a driver

This script shows the steps needed to install the SRB5 driver package in Ubuntu* 14.04, Ubuntu* 16.04, CentOS* 7.2, and CentOS* 7.3. The script automates downloading the driver package, installing prerequisites and user-mode components, patching the 4.7 kernel, and building it.

After reviewing the script and making any necessary edits for the specific development system, execute with root priveliges:

$ mv install_OCL_driver.sh_.txt install_OCL_driver.sh
$ chmod 755 install_OCL_driver.sh
$ sudo su
$ ./install_OCL_driver.sh install

Experimental: this version of the script has an option to skip the kernel patch/rebuild step. For newer kernels, such as the 4.8 default kernel for Ubuntu* 16.04, nearly all of OpenCL™ passes basic smoke tests. 

You can check your progress with the System Analyzer Utility.  If successful, you should see smoke test results looking like this at the bottom of the the system analyzer output:

--------------------------
Component Smoke Tests:
--------------------------
 [ OK ] OpenCL check:platform:Intel(R) OpenCL GPU OK CPU OK

 

Experimental installation without kernel patch or rebuild:

If using Ubuntu* 16.04 with the default 4.8 kernel you may be able to skip the kernel patch and rebuild steps.  This configuration works fairly well but several features (i.e. OpenCL™ 2.x device-side enqueue and shared virtual memory, VTune* GPU support) require patches.  Install without patches has been "smoke test" validated to check that it is viable to suggest for experimental use only, but it is not fully supported or certified.   

Step 2: Install the Intel® SDK for OpenCL™ Applications

This script shows install steps for prerequisites required for Intel® SDK for OpenCL™ Applications install on Ubuntu* OS. It was last checked with Ubuntu* OS 16.04.4 (linux 4.13.0-36-generic).

Summary of script operations:

  • Install oracle-java8-installer
  • Install mono
  • Install the appropriate libicu version (for Intel® Code Builder for OpenCL™ API plugin support)
  • Install dkms and lsb-core for driver support
  • Note: Update tools need to go out to the web. If your system requires a proxy for the web, make sure your environment variables are visible as root user.

To use the script, run the following commands:

$ mv install_SDK_prereq_ubuntu.sh_.txt install_SDK_prereq_ubuntu.sh
$ sudo su
$ ./install_SDK_prereq_ubuntu.sh

After prerequisites setup, execute the Intel® SDK for OpenCL™ Applications standalone version installer. 

Here is a kernel to test the Intel® SDK for OpenCL™ Applications installation:

__kernel void simpleAdd( 
                       __global int *pA,                       
                       __global int *pB,                       
                       __global int *pC)                       
{                                                               
    const int id = get_global_id(0);                                  
    pC[id] = pA[id] + pB[id];                                  
}                               

Check that the command line compiler ioc64 is installed and functioning. Note: /opt/intel/opencl/SDK/bin is the default path to the SDK's executable tools. Replace this path with the path used on the development system.:

$ /opt/intel/opencl/SDK/bin/ioc64 -input=simpleAdd.cl -asm

Expected output:

No command specified, using 'build' as default
OpenCL Intel(R) Graphics device was found!
Device name: Intel(R) HD Graphics
Device version: OpenCL 2.0 
Device vendor: Intel(R) Corporation
Device profile: FULL_PROFILE
fcl build 1 succeeded.
bcl build succeeded.

simpleAdd info:
	Maximum work-group size: 256
	Compiler work-group size: (0, 0, 0)
	Local memory size: 0
	Preferred multiple of work-group size: 32
	Minimum amount of private memory: 0

Build succeeded!

 

Step 3: Set up Eclipse*

Intel® SDK for OpenCL™ Applications works with Eclipse* MarsNeon, and Oxygen.

After installing, copy the CodeBuilder*.jar file from the SDK eclipse-plug-in folder to the Eclipse* dropins folder:

$ cd eclipse/dropins
$ find /opt/intel -name 'CodeBuilder*.jar' -exec cp {} . \;

Start Eclipse*. Intel® Code Builder for OpenCL API options should be available in Tools > Intel Code Builder for OpenCL API.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.