Intel® SDK for OpenCL™ Applications

Customize heterogeneous compute applications and accelerate performance.

  • Uniquely offload compute to Intel® Graphics Technology that's tailored to your specific application needs
  • Deliver high-performance image and video processing pipelines
  • Enhance power efficiency
  • Take advantage of code builder functions for the OpenCL™ API to efficiently build, debug, and analyze kernel codes

Build & Run OpenCL Applications on Intel® Platforms

Components:

  • Intel® SDK for OpenCL™ Applications
  • Intel® Graphics Driver and OpenCL™ Runtime: Download

 

The drivers and runtimes for OpenCL applications are packaged separately from the SDK to minimize the size of the installation package. The SDK package contains the development components. There are several variations and driver versions, depending on the hardware in your configuration.

Developer Guide

U I for the code builder

another example of the U I for the code builder

Features

Build

  • Workflow support allowing build, execution and analysis of applications with several kernels in the project wizard
  • Kernel development framework
  • Syntax highlighting
  • Code auto-completion
  • SPIR* and SPIR-V* generation and consumption

Debug

  • API debugging and call tracing
  • Image and memory viewer
  • Step-through kernel debugging

Analysis

  • API call and memory command analysis
  • Kernel occupancy and latency analysis

OpenCL Platform Benefits

SPIR* and SPIR-V*

Standard Portable Intermediate Representation (SPIR) and its evolution, SPIR-V, are intermediate languages for parallel compute developed by the Khronos Group*.

To enable runtime device independence, the OpenCL platform uses a just-in-time (JIT) compilation of the kernel source code to the target device. The disadvantage is that this offers no IP protection. The alternative is to provide a precompiled kernel binary for each device that runs your application.

SPIR and SPIR-V provide device flexibility while protecting the IP with device-independent intermediate kernel binaries (using JIT compilation as needed).

Learn More

Why SPIR-V is a Better SPIR to Use with Intel® Code Builder for OpenCL™ API

Shared Virtual Memory (SVM)

SVM is a feature in the OpenCL platform 2.0 standard and later, which provides a coherent and consistent shared memory space between the host and the device. In addition to guaranteeing the same address for shared memory between host and device, SVM provides coherency and atomic operations, allowing safe simultaneous access for SVM allocations.

The advantage is that you can write code that uses pointer-like data structures, such as linked lists or trees shared between the host and the device side of an OpenCL application. This results in less engineering time for restructuring data, and the ability to create more sophisticated cooperative kernels that improve overall application performance.

Learn More

Zero Copy

The ability to create shared physical memory buffers, known as zero copy buffers, is a feature available in the OpenCL platform 1.2 standard and later.

Extra memory copies can be detrimental to application performance when offloading compute to accelerators, such as Intel® Graphics Technology. Using zero copy buffers helps reduce application memory usage and improves performance by enabling the host and device to access the same physical memory instead of copying duplicate data between memory spaces.

Learn More

Related Tools and Libraries

Intel® System Studio

Boost performance, power efficiency, and reliability for system and IoT device applications with this all-in-one development tool suite. The latest Intel SDK for OpenCL applications is bundled in this studio to help you create your own heterogeneous designs that run on Intel® Graphics Technology.

Intel® Distribution of OpenVINO™ Toolkit

A toolkit for developing and deploying computer vision solutions on platforms from Intel, including smart cameras, robotics, office automation, and more. This SDK supports heterogeneous execution across processors and SoC accelerators and includes tools that unleash inference performance on deep learning deployment.

Intel® Media Server Studio

Develop enterprise-grade media applications and solutions for data center, cloud and network usages. The Intel SDK for OpenCL Applications is bundled in this studio to help you create your own media filters running on Intel Graphics Technology.

Intel® Media SDK

A cross-platform API for developing media applications. Versions are available for Embedded Linux*, Windows*, and open-source platforms. Get complete control over the media pipeline and programmable access to the execution units (EU) and other graphics processor blocks.

Intel® VTune™ Performance Analyzer

Deliver CPU and GPU performance tuning, multicore scalability, bandwidth, and more. Trace inside OpenCL kernels and get details on OpenCL program activity on the GPU.

Intel® Graphics Performance Analyzers

Capture and view the distribution of OpenCL program commands (kernels and memory operations) across CPUs and GPUs from Intel.