Intel® SDK for OpenCL* Applications XE 2013 Release Notes

Intel® SDK for OpenCL* Applications XE 2013

Release Notes

Content

Introduction
What's New
System Requirements
Installation Notes
Issues and Limitations
Legal Information

Introduction

The Intel® SDK for OpenCL* Applications XE 2013 is a software development environment for OpenCL* applications for Intel® Xeon® processors and Intel® Xeon Phi™ coprocessors.
The SDK provides documentation, development tools and the OpenCL 1.2 runtime for Intel Xeon processors and Intel Xeon Phi coprocessors.
This document contains information about the new features, system requirements, installation instructions, limitations and known issues.
For the latest changes in the product, please follow the news at the Intel SDK for OpenCL* Applications Support Forum.

What's New

Intel SDK for OpenCL Applications XE 2013 R3:

  • Gold support for OpenCL 1.2 using Intel Xeon Phi coprocessor on Windows* OS.
  • Intel® Manycore Platform Software Stack (Intel® MPSS) support. Upgrade the Intel MPSS here
  • Performance improvements:
    • High performance implementation of clEnqueueFillBuffer is included in this release
    • Execution overhead has been improved. Tiny workgroups now execute significantly faster.
    • CPU Only: The compiler includes a performance cost model, by which it decides to vectorize a specific kernel. In this release, this cost model is improved to avoid unnecessary vectorization.
    • Better vectorization of 8-bit and 16-bit data types (BYTE, WORD)
    • The compiler threshold for partial loop unrolling is tuned to yield higher performance
    • Improved the performance of out-of-order queues
  • New performance related environment variables on Intel Xeon Phi coprocessor – see the User's Guide sections Performance-Related Variables and Supported Features Summary for details
    • CL_CONFIG_MIC_DEVICE_NO_DMA_PREVIEW
    • CL_CONFIG_MIC_DEVICE_2MB_POOL_INIT_SIZE_MB
  • Fixed kernel compilation crashes under debug and profiling modes
NOTE: The support for OpenCL 1.2 for Windows* operating system on Intel Xeon Phi coprocessors is expected to pass the Khronos Conformance Testing Process. Current conformance status can be found at www.khronos.org/conformance.

Intel SDK for OpenCL Applications XE 2013 R2

  • Beta software support for OpenCL 1.21 using Intel Xeon Phi coprocessors on Windows* operating systems.
  • Support for Intel Xeon Processor E5-2600 Product Families (formerly code named Ivy Bridge)
  • Preview feature: Support for OpenCL SPIR 1.22 provisional specification
  • Intel® VTune™ Amplifier XE 2013 source-view support for OpenCL Kernels on Intel Xeon Phi coprocessors.
  • Better exception handling on Intel Xeon Phi coprocessors. Whenever an exception occurs on the device, the name of the faulty OpenCL kernel is printed. If the kernel is compiled with the “-profiling” switch, also the faulty line number is printed.
  • Additional performance gains through:
    • Task scheduling improvements
    • Implicit vectorization improvements
NOTE: The current SPIR specification status can be found at www.khronos.org/opencl.

Intel SDK for OpenCL Applications XE 2013

  • OpenCL 1.2 full profile features (conformant) across both Intel Xeon processor and Intel Xeon Phi coprocessor on Linux* Operating Systems.
  • Multi Intel Xeon Phi coprocessors support on the same system
  • Additional performance through:
    • Task scheduling improvements
    • Auto data prefetching improvements
    • Implicit vectorization improvements
    • Faster host/device data transfer

Other features, available in this release and previous releases

  • Single OpenCL* platform for Intel CPUs and coprocessors
    • Platform version (CL_PLATFORM_VERSION) – OpenCL* 1.2
    • Intel Xeon processor device version (CL_DEVICE_VERSION) – OpenCL* 1.2
    • Intel Xeon Phi coprocessor device version (CL_DEVICE_VERSION) – OpenCL* 1.2
    • Intel Xeon processor device type – CL_DEVICE_TYPE_CPU
    • Intel Xeon Phi coprocessor device type - CL_DEVICE_TYPE_ACCELERATOR
    • Platform name – Intel OpenCL*
  • Support for Red Hat Enterprise Linux* OS 6.1 and SUSE Linux Enterprise Server* 11.2
  • OpenCL* 1.2 KHR extensions and optional features. See full list in the product User’s Guide, available at  http://software.intel.com/en-us/vcsource/tools/opencl-sdk-xe/.
  • Intel SDK for OpenCL* Applications – Kernel Builder and Offline Complier (64-bit version).
  • OpenCL* kernel debugging for CPU on Linux* OS with the GNU Project Debugger (GDB).

System Requirements

Supported Hardware

This SDK is tested on the following processors:

  • Intel® Xeon Phi™ coprocessor Product Family
  • Intel® Xeon® Processor E5 Product Family
  • Intel® Xeon® Processor E7 Product Family
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 XE 2013 R3 supports the following operating systems:
Linux* Operating Systems:

  • Red Hat Enterprise Linux* OS 6.0 or higher (64-bit version)
  • SUSE  Linux Enterprise Server* 11.1 or higher (64-bit version)

For Windows* Operating Systems:

  • Microsoft Windows* 7 SP1 (64-bit version)
  • Microsoft Windows 8 (64-bit version)
  • Microsoft Windows Server 2008 R2 (64-bit version)
  • Microsoft Windows Server 2012 (64-bit version)

Due to possible Intel® AVX issues with the default glibc 2.11.1 implementation, the Intel SDK for OpenCL Applications XE 2013 R2 libraries might require glibc-2.12-1.47 Refer to the OS documentation for more information.

Installation Notes

Installation Notes for Windows* Operating Systems

Installation of the Intel SDK for OpenCL* Applications XE 2013 R3 for Microsoft Windows* Operating Systems

Intel SDK for OpenCL Applications XE 2013 R3 for Windows* operating systems is supported with the following installation packages (in form of MSI installation files):

  • Intel SDK for OpenCL Applications XE – Runtime Only Package - provides support for OpenCL* 1.2 features on Intel Xeon processors and Intel Xeon Phi coprocessors. This package contains the OpenCL runtime and compiler for Windows* operating systems.
  • Intel SDK for OpenCL Application XE Package - contains OpenCL C header files, and Intel tools for OpenCL applications development. This package also contains the Intel SDK for OpenCL Applications XE - Runtime Only Package.

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

Before installing the Intel SDK for OpenCL Applications XE 2013 R3 for Windows* operating systems please remove any previous version of the SDK from your computer.
To install the Intel SDK for OpenCL Applications XE 2013 R2 on Windows* operating systems, run the installation package and follow the installer prompts.

NOTE: For Intel Xeon Phi coprocessor device support, you must install the Intel MPSS, available at http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive

Uninstalling Intel SDK for OpenCL Applications XE for Microsoft Windows* Operating Systems

To remove SDK components use the Control Panel or select Start > All Programs > Intel SDK for OpenCL Applications XE 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 and PATH environment variables are in their preinstall state

Installation Notes for Linux* Operating Systems

Intel SDK for OpenCL Applications XE 2013 R3 provides the following installation packages for Linux* OS:

  • Intel SDK for OpenCL Application XE 2013 R3 – Runtime Only Package - provides support for OpenCL* 1.2 features on Intel Xeon processors and Intel Xeon Phi coprocessors. This package contains the OpenCL runtime and compiler for Linux operating systems.
  • Intel SDK for OpenCL Application XE 2013 R3 package - contains OpenCL C header files, and Intel tools for OpenCL applications development. This package also contains the Intel SDK for OpenCL* Applications XE - Runtime Only Package.

Installation of the Intel SDK for OpenCL* Applications XE

Installation Prerequisites

All RPM packages of Intel SDK for OpenCL Applications XE are digitally signed.
Verify signature of each RPM package after downloading.
To verify signatures, do the following:

1. Download the public key from the download page of the product.
2. Import public key into rpm database by use of the following command:
# sudo rpm --import Intel-E901-172E-EF96-900F-B8E1-4184-D7BE-0E73-F789-186F.pub
3. Verify signature of RPM package:
# rpm --checksig <rpm name>.rpm
where <rpm name> is the name of the RPM package.
Expected output for RPM with a valid digital signature is:
<rpm name>.rpm: rsa sha1 (md5) pgp md5 OK

For Intel Xeon Phi coprocessor device support, you must install the highest version of the Intel MPSS available at http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive

Intel SDK for OpenCL Applications XE 2013 R3 installation package is an archive, containing RPM packages with wrappers for ease of installation and uninstallation procedures. You can use any of the approaches (use wrappers or RPM packages directly) depending on your preferences.

Installing the Product Using Shell Scripts

Download the relevant installation package and extract the TGZ archive contents:
# tar xzf intel_sdk_for_ocl_applications_xe_2013_r3_*_x64.tgz
# cd intel_sdk_for_ocl_applications_xe_2013_r3_*_x64

NOTE: Before installing the Intel SDK for OpenCL Applications XE 2013 R3 on the Linux* operating systems, remove previous installations of the SDK. You must have root permissions to successfully install the product.

To install only the CPU runtime, run the following command:
            # sudo ./install-cpu.sh

To install the CPU and Intel Xeon Phi coprocessor runtime, run the following command:
            # sudo ./install-cpu+mic.sh

NOTE: Installing the CPU and Intel Xeon Phi coprocessor runtime using scripts without prior uninstallation of the CPU-only runtime is not supported.

Installing the Product Using RPM Package Manager

Intel SDK for OpenCL Applications XE 2013 R3 installation package can also be installed directly through the RPM (Red Hat Package Manager) packages. The list of the RMP packages includes:

  • opencl-1.2-base – package contains OpenCL installable client driver loader. The OpenCL* Installable Client Driver (ICD) enables different OpenCL implementations to coexist on the same system. ICD also enables applications to select between OpenCL implementations at run time.
  • opencl-1.2-intel-cpu – package contains the OpenCL runtime and compiler, which enable Intel CPU as an OpenCL device. OpenCL 1.2 features are supported on all generations of the Intel Core processors and the Intel Xeon processors.
  • opencl-1.2-intel-mic - package contains the OpenCL runtime that enables the advantages of the Intel Xeon Phi coprocessor as an OpenCL device. Intel MPSS is required for the Intel Xeon Phi coprocessor support on Linux* operating systems.
  • opencl-1.2-devel – package contains OpenCL C header files, which enable development of OpenCL applications on your machine.
  • opencl-1.2-intel-devel – package contains the following Intel SDK for OpenCL Applications Development Tools:
    • Intel SDK for OpenCL - Kernel Builder, which enables building and analyzing OpenCL kernels, and provides full offline OpenCL language compilation.
    • Intel SDK for OpenCL - Offline Compiler, a command-line utility, which enables offline compilation, and building of OpenCL kernels.

To install Intel SDK for OpenCL Applications XE 2013 R3 using RPM Package Manager:

  • Download the relevant installation package and extract the TGZ archive contents:

For SDK package:
# tar xzf intel_sdk_for_ocl_applications_xe_2013_r3_sdk*x64.tgz
# cd intel_sdk_for_ocl_applications_xe_2013_r3_sdk*x64

For the runtime only package:
# tar xzf intel_sdk_for_ocl_applications_xe_2013_r3_runtime*x64.tgz
# cd intel_sdk_for_ocl_applications_xe_2013_r3_runtime*x64

  • To install the CPU-only runtime, run the following commands:

On Red Hat Enterprise Linux* OS:
# sudo yum install *base*.rpm *intel-cpu*.rpm
On SUSE* Linux Enterprise Server OS:
# sudo zypper install *base*.rpm *intel-cpu*.rpm
To install the CPU and Intel Xeon Phi coprocessor support, run following commands:
On Red Hat Enterprise Linux OS:
# sudo yum install *base*.rpm *intel-cpu*.rpm *intel-mic*.rpm
On SUSE Linux Enterprise Server OS:
                        # sudo zypper install *base*.rpm *intel-cpu*.rpm *intel-mic*.rpm

NOTE: If the CPU-only runtime is already installed, the installation of the CPU and the Intel Xeon Phi coprocessor runtime adds the Intel Xeon Phi coprocessor support without removing the CPU runtime.
NOTE: If you encounter a message saying that libcoi_host.so.0()(64bit) or libcoi_host.so.0(COI_1.0)(64bit) is needed, install the Intel MPSS.

To install the development tools, run the following commands:
On RedHat Enterprise Linux OS:
# sudo yum install *base*.rpm *intel-cpu*.rpm *devel*.rpm
On SUSE Linux Enterprise Server OS:
# sudo zypper install *base*.rpm *intel-cpu*.rpm *devel*.rpm

NOTE: In case of SDK installation on a machine without runtime components, the CPU-only runtime is installed together with the tool set.

Upgrading Intel SDK for OpenCL* Applications XE (From Previous Versions)

To upgrade the product please:

  • Follow the instructions on “Installation Prerequisites” and upgrade the Intel MPSS package.
  • Follow the instructions on “Installing the Product Using RPM Package Manager” chapter.

To upgrade an older version of the SDK, first uninstall it, and then install the Intel SDK for OpenCL Applications XE 2013 R2.

Uninstalling Intel SDK for OpenCL* Applications XE

To uninstall the product using the uninstallation script, do the following:

  • Go to the folder to which you extracted the TGZ archive content.
  • Run the uninstall.sh script.
NOTE: The uninstall.sh script erases all packages that match “opencl-1.2”.

You can use the OS-specific command to remove all the packages, starting with "opencl-1.2-". To do so, run the following commands:
For Red Hat Enterprise Linux OS:
# sudo yum remove "opencl-1.2-*"
For SUSE Linux Enterprise OS:
# sudo zypper remove "opencl-1.2-*"

Issues and Limitations

Known Intel Xeon Phi Coprocessors Issues

  • Device transfer from and to non-64B aligned host ptr, results in low throughput.
  • clEnqueueCopyBuffer, clEnqueueCopyBufferRect and are suboptimal on Intel Xeon Phi coprocessor. If one of these appears to be a bottleneck in your use-case, you may write your own optimized kernel for these operations.
  • JIT (kernel) profiling on Windows OS is broken at update 15 and earlier versions of the Intel VTune Amplifier XE 2013
  • JIT (kernel) profiling on Linux OS with MPSS 3.1.1 work with Intel VTune Amplifier XE 2013 update 14 and higher. With MPSS 3.1.2 and higher, VTune update 15 is required for JIT profiling on Linux.
  • NOTE: For Intel Xeon Phi coprocessor device support, you must install the Intel MPSS available at http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss-archive
  • Known issues with Intel VTune Amplifier XE 2013 source-view support:
    • Function call stack might contain spurious function entries
    • Function call stack might contain more call instances than expected, for example: a function was only called once but it appears as if it was called more than once. To mitigate this issue, use the "Source Function Stack" grouping in the top-down view.
    • Source information for code that was built with "-g" does not appear on kernels, only on user functions.
  • No support for OpenCL images object type.
  • No support for sub devices (also known as device fission on the CPU).
  • 2MB page size support – OpenCL runtime allocates buffers on 2MB pages heap automatically, whenever the allocated size is greater than one KB. You can modify this threshold be setting the following environment variable with your preference number of KBs: CL_CONFIG_MIC_DEVICE_2MB_BUF_MINSIZE_KB. Setting this variable to zero, disables 2MB page allocation.

Known Issues on Intel Xeon processors

  • OpenCL runtime requires Intel® Threading Building Blocks (Intel® TBB) ver 4.2.1, which is included in the SDK install folder. The user of OpenCL is requested to prevent Intel® TBB versioning conflict.
    When an OpenCL application is invoked, the OpenCL path should be the first path in LD_LIBRARY_PATH.
    For example:
    • CSH
      setenv LD_LIBRARY_PATH ${OCL_INSTALL_DIR}\bin:${LD_LIBRARY_PATH}
    • BASH
      export LD_LIBRARY_PATH=${OCL_INSTALL_DIR}\bin:${LD_LIBRARY_PATH}
  • With release R3, the device fission extension is no longer supported. The device fission core feature is supported.
  • Known issues with Intel® VTune™ Amplifier XE 2013 source-view support:
    • Source-level profiling does not work properly when functions are included (using #include) from other files.
    • Note that due to function inlining, the profiling data is aggregated into the top-level kernel.
    • Source information for code built with "-g" does not appear on kernels, only on user functions.
  • For offline compiler support in Eclipse* IDE on Linux*, set the OpenCL Bin Directory in the Windows > Preferences dialog to: /opt/intel/opencl/bin.
  • You might encounter error when using the Offline Compiler plug-in for Eclipse, saying
    “Could not load required libraries; please make sure to set the correct path under the OpenCL SDK preferences page”.
    Click OK and ignore the message, the tools should be working in a proper way.
    Also make sure the Offlien Compiler plug-in for Eclipse IDE links to the correct directory with binaries, for example C:\Program Files (x86)\Intel\OpenCL SDK\3.2\bin
  • Legal Information

    INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
    A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.
    Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
    The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
    Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
    Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to:
    http://www.intel.com/design/literature.htm.
    Intel processor numbers are not a measure of performance.  Processor numbers differentiate features within each processor family, not across different processor families.  Go to: http://www.intel.com/products/processor_number/.
    Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors.  Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions.  Any change to any of those factors may cause the results to vary.  You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products.
    Intel, Intel logo, Intel Core, VTune, Xeon, and Intel Xeon Phi 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 from Khronos.
    Microsoft product screen shot(s) reprinted with permission from Microsoft Corporation.
    Copyright © 2010-2013 Intel Corporation. All rights reserved.

Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.