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: