Intel® SDK for OpenCL* Applications 2013 Release Notes

Introduction
What's New
System Requirements
Installation Notes

Resolved Issues
Issues and Limitations
Disclaimer and Legal Information

1      Introduction

Intel® SDK for OpenCL* Applications 2013 is a comprehensive software development environment for OpenCL applications on the 3rd and the future 4th Generation Intel® Core™ processors, which support OpenCL 1.2 on Windows 7* and Windows 8* operating systems.

This document contains information about new features, system requirements, installation instructions, fixed bugs, limitations and known issues. To learn more about this product go http://software.intel.com/en-us/vcsource/tools/opencl-sdk-2013

2      What's New

 

·         Support for future 4th Generation Intel Core Processors.

·         OpenCL* 1.2 compliant for both 3rd and future 4th generation Intel Core Processors across both CPU and Intel® HD Graphics with Intel® HD Driver version 15.31.3071 or higher.

·         Windows 8* Operating System Support, 32-bit and 64-bit versions.

·         General performance improvements for many OpenCL* kernels running on CPU and Intel® HD Graphics.

·         Enhanced Interoperability with media and graphics APIs implemented with OpenCL 1.2 extensions:

o   Shared memory objects with Microsoft* DirectX* 11

§  cl_khr_d3d11_sharing

o   Tighter Integration with OpenGL* with new support for depth images and sharing of multi-sampled textures.

§  cl_khr_gl_msaa_sharing

§  cl_khr_depth_images

§  cl_khr_gl_depth_images

§  cl_khr_gl_sharing

§  cl_khr_gl_event

o   Standards-based memory object sharing with Microsoft* DirectX* 9 for media surfaces.

§  cl_khr_dx9_media_sharing

o   Creating of 2D images from OpenCL Buffer to

§  cl_khr_image2d_from_buffer

·         Support in dual adapter mode on Windows* 8: enables OpenCL workloads to be accelerated on Intel HD Graphics when the device is not directly connected to a display and fully enabled running Intel driver.

·         Interoperability with the latest Intel’s SDKs for visual computing applications:

o   Intel® Media SDK 2013

o   Intel® Perceptual Computing SDK 2013

·         Feature rich developer tools:

o   Integration with Microsoft Visual Studio* 2012

o   New standalone Kernel Builder tool with

§  Full support for both Intel HD Graphics and CPUs

§  Dynamic performance analysis of OpenCL kernels

§  Offline Compilation with LLVM* IR code generation

§  Support for new OpenCL 1.2* features like compile and link of OpenCL programs

o   Tracing of OpenCL commands on Intel® HD Graphics with Intel® Graphics Performance Analyzers 2013

o   OpenCL support with Intel® VTune™ Amplifier XE 2011 Update 4 or higher

§  Preview feature: Intel® HD Graphics OpenCL profiling

§  OpenCL Kernel Source Code Hotspots Analysis on the CPU

 

NOTE:

This production version adds many features on top of the Beta version of the Intel SDK for OpenCL Application 2013.

If you have installed the Beta, you are recommended to update your Intel HD Graphics driver and reinstall the SDK. For more information on how to install, go to the Installation Notes section

 

3      System Requirements

Supported Operating Systems

Intel® SDK for OpenCL* Applications 2013 supports the following operating systems:

  • Microsoft Windows 8* Release 32-bit and 64-bit versions.
  • Microsoft Windows 7* Service Pack 1 32-bit and 64 bit versions.

Supported Hardware

To run and use Intel® SDK for OpenCL* Applications 2013 you must have a PC based on an IA-32 or Intel® 64 architecture processor supporting the Intel® Streaming SIMD Extensions 4.2 (Intel® SSE 4.2) or higher (Intel® Advanced Vector Extensions (Intel® AVX)). Installation may fail on unsupported hardware or operating system. See the Intel Processors Support Matrix below.

 

 

Intel® Processors

CPU

Intel® HD Graphics

3rd and Future 4th Generation Intel® Core™ Processors

1st and 2nd Generation Intel® Core™ Processors

-

Intel® Xeon® Processor E3 Family V2 with Intel® HD Graphics

Intel® Xeon® Processor E3 / E5 / E7  Family

-

Intel® Xeon® Processor 3000/5000/6000/7000 Sequences

- Intel® Xeon® Processor 6500/7500 series

- Intel® Xeon® Processor 7400 series

- Intel® Xeon® Processor 5600 series

- Intel® Xeon® Processor 5500 series

- Intel® Xeon® Processor 3600 series

- Intel® Xeon® Processor 3500 series

- Intel® Xeon® Processor 3400 series

 

* All other xxxx series are not supported

-

 

NOTE:

Incompatible or proprietary instructions in non-Intel processors may cause the analysis capabilities of this product to function incorrectly. Any attempt to analyze code not supported by Intel® processors may lead to failures in this product.

4      Installation Notes

Intel® SDK for OpenCL* Applications 2013 provides the following packages:

·         Intel® HD Graphics Driver (version 15.31.3071 and higher) with OpenCL 1.2 support for 3rd Generation Intel® Core™ Processors - This package contains the OpenCL* runtime and compiler, which enable Intel® CPU and Intel® HD Graphics as an OpenCL* devices. This driver is not part of the SDK and is available for download separately from intel.com. Intel SDK for OpenCL* Application 2013 package - This package contains OpenCL* C header files, which enable development of OpenCL* applications in C and/or C++ language, development tools and OpenCL* installable client driver loader. This package also includes the Intel SDK for OpenCL* Application 2013 – CPU runtime only package.

·         Intel SDK for OpenCL* Application 2013 – CPU runtime only package - This package contains the OpenCL* runtime and compiler, which enable Intel CPU as an OpenCL* device. OpenCL* 1.2 features are supported on previous generations of Intel® Core™ processors. This package is includes as part of the Intel HD Graphics Driver and as part of the SDK package. The package exists for compatibility of OpenCL applications with systems that do not include the support as part of the Intel HD Graphics or that Intel HG Graphics doesn’t exist.  

 

Installation on Microsoft Windows* OS

For OpenCL* 1.2 support on 3rd Generation and future 4th Generation Intel® HD Graphics, you must have Intel® HD Graphics Driver version 15.31.3071 or higher. You can obtain the latest driver version from the Intel® download center (select "graphics" as the product family).

You must have administrator privileges to install and use the SDK on Microsoft Windows* operating systems.

Before starting the installation, make sure the following software components are installed on the target machine:

  • Microsoft Windows* Installer 3.1
  • Microsoft Visual C++* 2010 runtime libraries

If one of the components is not installed, the SDK installer will prompt you to install them. 

To install the Intel® SDK for OpenCL* Applications 2013 on Windows* operating systems:

  1. Download the relevant installation package according to the target operating system on which you want to install the SDK (32-bit installer for 32-bit operating systems and 64-bit installer for 64-bit operating systems)
  2. Launch the installer’s executable
  3. Follow the installer prompts

Uninstalling Intel® SDK for OpenCL* Applications 2013 from Microsoft Windows* OS

The Intel® SDK for OpenCL* Applications 2013 installation package for Windows* operating system installs two packages on the target machine: the Intel® SDK for OpenCL* Applications 2013 – CPU Only Runtime Package and the SDK component.

To remove SDK components use the Control Panel or select Start > All Programs > Intel® SDK for OpenCL* Applications 2013 > Uninstall.

To remove the Intel® SDK for OpenCL* - CPU runtime only package, search for Intel® SDK for OpenCL – CPU Only Runtime Package record in the Program and Features list of the Windows* Control Panel.

The uninstaller removes all originally installed files. It leaves any temporary or newly created files. To ensure a clean uninstall, verify that the INTELOCLSDKROOT, INTELOCLSAMPLESROOT and PATH environment variables are in their preinstall state.

Known Installation and Configuration Issues

·         You may encounter the following error message while installing the software required for the Intel® SDK for OpenCL* Applications 2013 functionality:
"Setup has detected that the publisher of file cannot be verified".
To fix the problem, download and install the latest update for Root Certificates from the Microsoft* website (windowsupdate.microsoft.com), then try to install the SDK again.

NOTE:
To manually update security certificates, as of March 2011 you can install the Microsoft* patch residing in the Microsoft* website.

·         Intel® SDK for OpenCL* Application 2013 installer adds the target installation folder of the CPU runtime to the end of the system PATH environment variable. In cases where the variable is too long the application might not be able to load the CPU runtime DLLs. To solve the problem move the folders to the beginning of the PATH variable or delete unnecessary folders from the PATH.

·         In the case of systems with multiple adapters (external graphics card and Intel® HD Graphics), you may encounter an issue with OpenCL* applications not detecting the GPU device when the external graphics adapter is removed. In such a case uninstall the external graphics driver and reinstall Intel® components to see both the OpenCL* devices.

·         OpenCL support in dual adapter mode, the mode where the display is connected to external graphics card rather than the Intel HD Graphics, is supported only with Windows* 8.

 

Setting Environment Variables on Microsoft Windows* OS Manually

The Intel® SDK for OpenCL* Applications 2013 installation process makes a few system environment modifications. When the environment variables become corrupted on the installed system, ensure that the following environment variables are defined as follows:

The INTELOCLSDKROOT variable must be set to the target installation directory. The default installation directories are:

C:\Program Files\Intel\OpenCL SDK\3.0 for 32-bit operating systems

C:\Program Files (x86)\Intel\OpenCL SDK\3.0 for 64-bit operating systems.

In addition, make sure that the installation folder is in the system PATH environment variable.

Installable Client Driver (ICD) Modification

The OpenCL* Installable Client Driver (ICD) requires the OpenCL* vendor’s runtime DLL file registered in the system registry. This enables ICD to load the DLL file and use its implemented platforms. The installation affects registry keys listed below:

For 64-bit operating systems:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors]

The key should include a DWORD registry value set to 0. The value’s name should be the name of the runtime DLL file: IntelOpencl32.dll

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors].

The key should include a DWORD registry value set to 0. The value’s name should be IntelOpenCL64.dll

For 32-bit operating systems:

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors].

The key should include a DWORD registry value set to 0. The value’s name should be IntelOpenCL32.dll

If the system PATH does not include the folder where the Intel® SDK for OpenCL* Applications 2013 binaries are located, the value’s names on these keys should be the full path to the runtime DLL file.

5      Resolved Issues

  • Fixed GPU Caps Viewer tests results when running tests twice on the CPU device.
  • Fixed WinZip 16.5 Test Application TDR issue on the Intel® HD Graphics.
  • Fixed compilation issues in OpenCL and Media SDK Interop sample.
  • Fixed failure in clCreateSubdevices(EXT) API when the pointer to num_devices_ret is NULL
  • Fixed crash in clCreateKernel when the name of the kernel does not appear in program source code.
  • Fixed the case with the compiler incorrectly accepting initialized and non-function scope local variables as reported on the Intel® SDK for OpenCL* Applications forum.
  • Fixed the several shared context (the OpenCL* context which includes both CPU and GPU devices) limitations, so you can safely:
    • Use OpenCL 1.2 API’s on shared context.
    • Trigger for both devices (specify NULL as device_list parameter)
    • Use images with CL_MEM_USE_HOST_PTR flag.
    • Use on systems with discrete graphics.
    • Call clEnqueueMapBuffer[Image] on one device while calling clEnqueueUnmapMemObject on the other device.
    • Use image formats supported by either devices
  • Improved the compiler restriction checking (See report here).
  • Enabled NULL argument to kernel if the parameter is buffer (See report here).
  • Fixed the compiler when performing implicit casts between different vectors.
  • Fixed an issue with runtime behaving differently for different workgroup sizes (See report here).
  • Fixed an assertion in the OpenCL* compiler when trying to build a kernel as reported on the Intel® SDK for OpenCL* Applications forum.
  • Fixed an issue in the runtime to compute size of vector data types correctly (See report here).
  • Fixed compile failure due to array arguments with local qualifier (See report here)

 

6      Issues and Limitations

Known Issues

  • Before installing the Intel® SDK for OpenCL* 2013 on Windows* OS running on processors that do not include the OpenCL* support for the Intel® HD Graphics, make sure you delete the following files from your system:
    • C:\Windows\System32\IntelOpenCL32.dll - on 32-bit OS
    • C:\Windows\System32\IntelOpenCL64.dll - on 64-bit OS
    • C:\Windows\SYSWOW64\IntelOpenCL32.dll - on 64-bit OS
  • To work with the Intel® SDK for OpenCL* - Offline Compiler plug-in on 64-bit OS, you must configure the Visual Studio* for 64-bit applications (64-bit compiler and tools).
  • LLVM view for GPU device in Offline Compiler is not supported on “Compile” and “Link” options. In order to see the GPU LLVM code please use the “Build” option,
  • Intel® VTune™ Amplifier XE source level is not supported with the OpenCL* 1.2 new feature “separate compiling and linking support”.
  • Microsoft Windows* Remote desktop does not work for the Intel® GPA interoperability.
  • Intel® SDK for OpenCL* Applications 2013 supports the Intel® VTune™ Amplifier XE 2011 update 3 or higher.
  • The sample “OpenCL*: Cross Devices NBody Simulation Sample” crash during a target device switch if compiled in debug mode.
  • In order to use the Intel® SDK for OpenCL* Application configuration utility to enable (and disable) profiling mode, the user need to have administrative privileges.
  • Intel® SDK for OpenCL* - Debugger does not support:
    • Disassembly view
    • Edit and continue capability
    • Multithreaded debugging
    • Two instances of visual studio running simultaneously.
  • You must disable the UAC to let the Profiling Utility run correctly.

CPU Device Limitations

Run-time Limitations

  • Call clFinish on a queue from the same thread you called clFlush for that queue to avoid performance loss.
  • Avoid creating multiple command queues on the same sub-device. Scheduling between multiple command queues on the sub-device level is depth-first.
  • An attempt to use clCreateSubdevicesEXT fails if the target device for partitioning is part of a context. No such limitation exists for clCreateSubdevices. Use the clCreateSubdevices function as the EXT support is deprecated and will be eliminated in future versions.
  • After you uninstall the Intel® HD Graphics driver, you need to remove the following files to make the CPU only runtime package work:
    On 64-bit version of Windows* OS:
    • C:\Windows\System32\igdbcl64.dll
    • C:\Windows\System32\igdfcl64.dll
    • C:\Windows\System32\igdrcl64.dll
    • C:\Windows\SysWOW64\igdbcl32.dll
    • C:\Windows\SysWOW64\igdfcl32.dll
    • C:\Windows\SysWOW64\igdrcl32.dll

On 32-bit version of Windows* OS:

    • C:\Windows\System32\igdbcl32.dll
    • C:\Windows\System32\igdfcl32.dll
    • C:\Windows\System32\igdrcl32.dll

Language Limitations

·         printf has a limit of 1024 characters per single % conversion.

Intel® HD Graphics Device Limitations

  • For details on known issues with the OpenCL* standard on the Intel® HD Graphics, refer to the relevant driver release notes.

 

 

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