Latest Components: *NEW* 2019 Beta, Intel® SDK for OpenCL™ Applications 2017 R2, GPU "NEO" Driver, CPU OpenCL™ Runtime 16.1.2

Latest Components: *NEW* 2019 Beta, Intel® SDK for OpenCL™ Applications 2017 R2, GPU "NEO" Driver, CPU OpenCL™ Runtime 16.1.2

For more information on

Latest SDK

OpenCL™ development components have been added to Intel® System Studio 2019 Beta. This is a new inclusion within the Intel® System Studio product line. Please see the portal page for more information.

Intel® SDK for OpenCL™ Applications 2017 is the latest general availability SDK version. Please visit http://software.intel.com/intel-opencl to download.  For a complete list of new features and changes, read the release notes.

Latest GPU/CPU implementations

There are two offerings available publicly:

First, the new Intel OpenCL GPU driver (NEO) driver is now available on github (https://github.com/intel/compute-runtime). Going forward this driver replaces both the SRB5 closed-source driver (aka Classic) and the Beignet open-source driver.

 

Second, The intel-opencl-r5.0 (SRB5.0) Linux driver package is the previous closed source GPU driver/CPU runtime package:

  • This has bug fixes/functional quality improvements above SRB4.1 and includes the following new features introduced since the standalone intel-opencl-r4.1 release:

    • cl_intel_va_api_media_sharing – added new full NV12 format support
    • Added Centos 7.3 support
    • Added experimental support Ubuntu 16.04.2 with default 4.8 kernel  – no kernel patching needed
  • For more info, see the Release Notes.

Latest CPU-only implementation

The OpenCL™ Runtime 16.1.2 for Intel® Core™ and Intel® Xeon® Processors is the latest CPU-only runtime package.

The 16.1.2 release update includes:

  • New optional __attribute__((intel_vec_len_hint(<uint>)))

    • This attribute can be used to provide a hint to the compiler that the kernel will perform best if vectorized to the specified vector length.
    • You can specify one of the following lengths for this attribute:
      • 0 - The compiler uses heuristics to decide whether to vectorize the kernel, and if so, which vector length to use. This is the default behavior.
      • 1 - No vectorization is performed by the compiler. Explicit vector data types in kernels are left intact.
      • 4 - Disables heuristics and vectorizes to the length of 4 respectively.
      • 8 - Disables heuristics and vectorizes to the length of 8 respectively.
    • New OpenCL™ C predefined macro __INTEL_OPENCL_CPU_<CPUSIGN>
      • This macro can be used to fine tune the kernel for a specific CPU device microarchitecture. <CPUSIGN> is the CPU signature of a device.
      • You can specify one of the following values for this macro: 
        • __INTEL_OPENCL_CPU_SKL__ - Intel® microarchitecture code name Skylake
        • __INTEL_OPENCL_CPU_SKX__ - Intel® microarchitecture code name Skylake on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_BDW__ - Intel® microarchitecture code name Broadwell
        • __INTEL_OPENCL_CPU_BDW_XEON__ - Intel® microarchitecture code name Broadwell on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_HSW__ - Intel® microarchitecture code name Haswell
        • __INTEL_OPENCL_CPU_HSW_XEON - Intel® microarchitecture code name Haswell on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_IVB__ - Intel® microarchitecture code name Ivy Bridge
        • __INTEL_OPENCL_CPU_IVB_XEON__ - Intel® microarchitecture code name Ivy Bridge on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_SNB__ - Intel® microarchitecture code name Sandy Bridge
        • __INTEL_OPENCL_CPU_SNB_XEON__ - Intel® microarchitecture code name Sandy Bridge on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_WST__ - Intel® microarchitecture code name Westmere
        • __INTEL_OPENCL_CPU_WST_XEON__ - Intel® microarchitecture code name Westmere on Intel Xeon® processor family
        • __INTEL_OPENCL_CPU_UNKNOWN__ - Unknown microarchitecture
    • Improved heuristics for choosing local size when ndrange is enqueued to the command queue that was created with CL_QUEUE_THREAD_LOCAL_EXEC_ENABLE_INTEL property (extension https://www.khronos.org/registry/OpenCL/extensions/intel/cl_intel_thread_local_exec.txt).
    • A fix for a previous issue where an incorrect library was loaded when running on Intel® microarchitecture code name Skylake.
1 post / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.