Intel® SDK for OpenCL* Applications 2013 Release Notes

Contents

Introduction


The Intel® SDK for OpenCL* Applications 2013 R3 provides a comprehensive development environment for OpenCL applications on Intel® Core™ Processors and Intel® Atom™ Processors for Windows* 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.

What's New


Intel SDK for OpenCL Applications 2013 R3:

  • Support for Intel® Graphics Driver version 15.33.3 or higher.
  • SDK package with support for Windows* 7, Windows* 8, and Windows* 8.1 OS
  • Intel® Graphics Driver 15.33.8 support
  • Video Motion Estimation Sample
  • Updated header files:
    • cl.hpp
    • cl_ext.h

Intel SDK for OpenCL Applications 2013 R2:

  • Support for Windows* 8.1 Operating System, 32-bit and 64-bit versions.
  • OpenCL* 1.2 compliant on Intel® Atom™ Processors formerly codenamed Bay Trail
    • Intel Atom Processor Z3000 Series with Intel HD Graphics
    • Intel® Celeron® Processor J1000/N2000 Series with Intel HD Graphics
    • Intel® Pentium® Processor J2000/N3000 Series with Intel HD Graphics
  • Tracing of OpenCL kernels execution on Intel® Processor Graphics with Intel® VTune™ Amplifier XE 2013 Update 12 and above.
  • New OpenCL vendor extensions with support to hardware accelerated motion estimation built-in kernels
  • The media sharing extension is no longer available in cl_dx9_media_sharing.h, refer to cl_d3d9.h to use media sharing.

Intel SDK for OpenCL Applications 2013:

  • Support for 4th Generation Intel® Core™ Processors.
  • OpenCL* 1.2 compliant for 3rd and 4th generation Intel® Core™ Processors across both CPU and Intel® HD Graphics with Intel® Graphics 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:
    • Shared memory objects with Microsoft* DirectX* 11
      • cl_khr_d3d11_sharing
    • 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
    • Standards-based memory object sharing with Microsoft* DirectX* 9 for media surfaces.
      • cl_khr_dx9_media_sharing
    • Creating of 2D images from OpenCL Buffer to
      • cl_khr_image2d_from_buffer
  • Interoperability with the latest Intel’s SDKs for visual computing applications:
    • Intel® Media SDK 2013
    • Intel® Perceptual Computing SDK 2013
  • Feature rich developer tools:
    • Integration with Microsoft Visual Studio* 2012
    • 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
    • Tracing of OpenCL commands on Intel® HD Graphics with Intel® Graphics Performance Analyzers 2013
    • 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 Support for 4th Generation Intel® Core™ Processors.

System Requirements


The following sections provide information about supported hardware and operating systems.

Supported Hardware


See the Intel Processors Support Matrix below.

  Windows* OS support
Intel Processors CPU Intel
Processor
Graphics
4th Generation Intel® Core™ Processors with:
  • Intel® HD Graphics 4200/ 4400/4600/5000
  • Intel® Iris™ Graphics 5100
  • Intel® Iris™ Pro graphics 5200
3rd Generation Intel® Core™ Processors with Intel® HD Graphics 4000/2500
Intel® Atom™ Processor Z3000 Series with Intel® HD Graphics
Intel® Celeron® Processor J1000/N2000 Series and
Intel® Pentium® Processor J2000/N3000 Series with Intel® HD Graphics
Intel® Xeon® Processor E3 Family V2/V3 with:
  • Intel HD Graphics P4000
  • Intel® HD Graphics P4600/P4700
1st and 2nd Generation Intel® Core™ Processors -

To run and use Intel SDK for OpenCL Applications 2013 R3 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.

For Windows* and Linux* operating systems support on Intel® Xeon® Processors without Intel HD Graphics, go to the Intel SDK for OpenCL Applications XE 2013 web site at: http://software.intel.com/en-us/vcsource/tools/opencl-sdk-xe.

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.

Supported Operating Systems


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

  • Microsoft Windows 8.1 OS 32-bit and 64-bit versions
  • Microsoft Windows 8 OS 32-bit and 64-bit versions
  • Microsoft Windows 7 Service Pack 1 32-bit version and 64-bit versions

Installation Notes


For OpenCL support on Intel HD Graphics, Intel HD Graphics 4000/2500, Intel HD Graphics 4200/4400/4600/5000, Intel Iris Graphics 5100, and Intel Iris Pro Graphics 5200 you must have the Intel Graphics Driver version 15.33.8 (and higher) installed. You can obtain the latest driver version here.

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

Installation on Microsoft Windows* OS


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 R3 on Windows operating systems,

  1. Upgrade the Intel HD Graphics Driver here.
  2. For 1st and 2nd generations Intel® Core™ processors only download and install the Intel SDK for OpenCL – CPU only runtime package for the target operating system (32- or 64-bit version).
  3. Download and install the Intel SDK for OpenCL Applications 2013 R3.

The Intel SDK for OpenCL Applications 2013 R3 installation includes the following components:

  • OpenCL C header files
  • Intel OpenCL development tools:
    • Kernel Builder 32- and 64-bit version
    • Offline Compiler command-line utility 32- and 64-bit version
    • Offline Compiler plug-in for Microsoft Visual Studio* 2008-2012
    • Debugger plug-in for Microsoft Visual Studio* IDE

The CPU only runtime installation includes the following components:

  • OpenCL Installable Client Driver (ICD) loader
  • OpenCL runtime and compiler

Uninstalling Intel® SDK for OpenCL* Applications 2013 R3


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

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.

Setting Environment Variables on Microsoft Windows* OS Manually


The Intel SDK for OpenCL Applications 2013 R3 installation process makes a few system environment modifications. When the environment variables become corrupted on the installed system, ensure that the 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

Also make sure that the installation folder is in the system PATH environment variable.

OpenCL Installable Client Driver (ICD) Modification


The OpenCL Installable Client Driver (ICD) requires the OpenCL vendor runtime DLL file registration in the system registry. This enables the ICD to load the DLL file and use its implemented platforms. The installation affects the 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 name should be the name of the runtime DLL file: IntelOpencl64.dll

[HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors]

The key should include a DWORD registry value set to 0. The value name should be IntelOpenCL32.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 name should be IntelOpenCL32.dll

If the system PATH does not include the folder where the Intel SDK for OpenCL Applications 2013 R3 binaries reside, then the value names on these keys should be the full path to the runtime DLL file.

Resolved Issues


  • Improved the compiler restriction checking (see report here)

Limitations and Known Issues


The following sections provide information on known issues and limitations of the product.

Tools Limitations and Known Issues


  • To work with the Intel SDK for OpenCL Applications 2013 R3 - Offline Compiler plug-in for Microsoft Visual Studio on 64-bit OS, configure the Visual Studio for 64-bit applications (64-bit compiler and tools).
  • LLVM view for Intel Processor Graphics device in Offline Compiler plug-in for Visual Studio IDE is not supported on “Compile” and “Link” options. To see the Intel Processor Graphics LLVM code, use the “Build” option.
  • Intel® VTune™ Amplifier XE source-level profiling is not supported with the OpenCL 1.2 new feature “separate compiling and linking support”.
  • Microsoft Windows Remote Desktop* is unavailable for the Intel GPA interoperability.
  • Intel SDK for OpenCL Applications 2013 R3 supports the Intel® VTune™ Amplifier XE 2011 update 3 or higher.
  • Intel SDK for OpenCL Applications 2013 R3 - Debugger for Visual Studio IDE does not support:
    • Disassembly view
    • Edit and continue capability
    • Multithreaded debugging
    • Two instances of visual studio running simultaneously

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 R3 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 Applications 2013 R3 - CPU only runtime package installer adds the target installation folder of the CPU runtime to the end of the system PATH environment variable. If the variable is too long, the application might not be able to load the CPU runtime DLL files. To solve the problem, move the folders to the beginning of the PATH variable or delete unnecessary folders from the PATH. In case the PATH environment variable exceeds 260 character length upon installation, you might encounter issues related to System32 directory use.
  • Before installing the Intel SDK for OpenCL Applications 2013 R3 on Windows* OS running on processors that do not include the OpenCL support for the Intel Processor Graphics, make sure you deleted the following files from your system:
    • C:\Windows\System32\IntelOpenCL32.dll - on 32-bit OS
    • C:\Windows\System32\IntelOpenCL64.dll - on 64-bit OS only
    • C:\Windows\SYSWOW64\IntelOpenCL32.dll - on 64-bit OS
  • Intel Processor Graphics Device Limitations


    • For details on known issues with the OpenCL standard on the Intel Processor Graphics, refer to the relevant driver release notes.
    • TDRs may be observed when running OpenCL benchmarks including Kishonti CLBenchmark, Kishonti CompuBench CL, and SiSfoftware Sandra (GP (GPU/CPU/APU) Processing OpenCL benchmarks). Also some OpenCL workloads may cause TDRs, especially workloads with complex, time-consuming kernels and large local work size or workloads that use profiling feature. Increase the TDR delay to avoid the TDRs. For details, refer to the article at http://msdn.microsoft.com/en-us/library/windows/hardware/gg487368.aspx
    • Both Intel® Processor Graphics and a discrete graphics card are available as OpenCL* devices on Windows* OS systems if display is connected to:
      • Integrated graphics card display port
      • Both discrete and integrated graphics card ports simultaneously

      In the following configurations, OpenCL on Intel Graphics Processors is not available if:

      • Display is connected only to the discrete graphics card display port
      • You use Switchable Graphics configurations. Learn more on this configuration here.

    CPU Device 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 limitations exist for clCreateSubdevices. Using the clCreateSubdevices function as the EXT support is deprecated.
    • The clCreateSubdevices(EXT) APIs fail if the pointer to num_devices_ret is NULL.
    • After you uninstall the the Intel 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
    • clCreateKernel crashes if the name of the kernel does not appear in program source code.
    • The compiler incorrectly accepts initialized and non-function scope local variables as reported at the Intel SDK for OpenCL Applications forum.
    • The printf function has a limit of 1024 characters per single % conversion.

    Intel, Intel logo, Intel® Core™ Processors, Intel® VTune™, Intel® Xeon® are trademarks of Intel Corporation in the U.S. and other countries.
    * Other names and brands may be claimed as the property of others.
    OpenCL and the OpenCL* logo are trademarks of Apple Inc. used by permission by Khronos.
    Microsoft product screen shot(s) reprinted with permission from Microsoft Corporation.
    Copyright © 2010-2013 Intel Corporation. All rights reserved.

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