Developer Guide for Intel® SDK for OpenCL™ Applications 2017
ID
773042
Date
10/22/2018
Public
A newer version of this document is available. Customers should click here to go to the newest version.
Legal Information
Getting Help and Support
Introducing the Intel® SDK for OpenCL™ Applications
What's New in This Release
Which Version of the Intel® SDK for OpenCL™ Applications Should I Use?
Intel® Code Builder for OpenCL™ API Plug-in for Microsoft Visual Studio*
Intel® Code Builder for OpenCL™ API Plug-in for Eclipse*
Debugging OpenCL™ Kernels on GPU
Intel® SDK for OpenCL™ Applications Standalone Version
OpenCL™ 2.1 Development Environment
Intel® FPGA Emulation Platform for OpenCL™ Getting Started Guide
Troubleshooting Intel® SDK for OpenCL™ Applications Issues
Configuring Microsoft Visual Studio* IDE
Converting an Existing Project into an OpenCL™ Project
OpenCL™ New Project Wizard
Building an OpenCL™ Project
Using OpenCL™ Build Properties
Selecting a Target OpenCL™ Device
Generating and Viewing Assembly Code
Generating and Viewing LLVM Code
Generating Intermediate Program Binaries with Intel® Code Builder for OpenCL™ API Plug-in
Configuring OpenCL™ Build Options
Debugging OpenCL™ Kernels on GPU
Intel® SDK for OpenCL™ Applications delivers a seamless debugging experience that enables you to debug both CPU and GPU portions of your application simultaneously.
This chapter provides Intel® SDK for OpenCL™ Applications - GPU Debugger installation walkthrough and demonstrates how to use the debugger to debug an OpenCL sample application.
Usually the process requires two separate machines (host machine and target machine) to debug OpenCL kernels on the GPU (unless you have a discrete graphics card, when host and target machines can be the same machine physically):
- Host Machine - The machine used for running the debugger (GDB or Microsoft Visual Studio* 2015/2017) and controlling the debugging process.
- Target Machine - The machine used for running the OpenCL host application and kernel under debug.
NOTE:
The reason for using two separate machines is because the GPU is hung on the OpenCL kernel while it is under debugging. Therefore, the UI rendering seems frozen while it waits for the GPU to render UI/desktop.
For more information, see the following topics: