OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.

SDK Crash - with debug options

Polar01
Beginner
1,047 Views

Hi,

In order to debug my kernel, I try to compile my kernel with the following option :

-cl-mad-enable -g -s "E:\Proto\pure\pureLight\Kernels_Generated\kernel__ProductionRenderer.cl"

But when running, I got a crash !!!

0 Kudos
12 Replies
Polar01
Beginner
1,047 Views

Sorry, the crash is during the compilation !

0 Kudos
Yuri_K_Intel
Employee
1,047 Views
Hi Polar01, Could you please attach a minimal reproducer for this issue? Thanks, Yuri
0 Kudos
Polar01
Beginner
1,047 Views

Hi Yuri,

Sorry, but I have no time to develop such "reproducer", too much work here, sorry ;-)

Even if it should be very simple... it should be a simple kernel compilation with a few parameters.

In fact, maybe I can send you the kernel by email... there is nothing else special !

0 Kudos
Yuri_K_Intel
Employee
1,047 Views
You can use "Send Author A Message" link and attach a kernel to the message. Thanks, Yuri
0 Kudos
Polar01
Beginner
1,047 Views

Done ;-)

Thanks for your help

0 Kudos
Yuri_K_Intel
Employee
1,047 Views
Thanks. I was able to reproduce the behavior and I have submitted a ticket for this issue. I can't say anything regarding the root cause currently, but I just noticed that the file is very large. And as a possible work around you might try to extract to a separate file only the part you'd like to debug. Thanks, Yuri
0 Kudos
Polar01
Beginner
1,047 Views

Thanks a lot,

BTW, with the previous version of the SDK I was unable to debug this kernel !

When I put a breakpoint in the kernel arguments, it stop... but once entering the kernel... it is unable to "step over" :-(

Thx

0 Kudos
Georges_J_
Beginner
1,047 Views

it's seems I have the same pb with my configuration

I debug using CPU platform :

Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

OpenCL 2.0 (Build 163)

when I add "-g" in kernel compilation options,

 static char const* COMPILER_OPTIONS = "-g -I O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\ -s O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\prime.cl -cl-std=CL1.2";

I have a crash at the clBuildProgram line execution in VisualStudio 2013 and the message is :

Unhandled exception at 0x000007FEEAF266C9 (OclCpuBackEnd64.dll) in PreprocsVideoTest.exe: 0xC0000005: Access violation reading location 0x0000000000000010.

When I remove -g option,

 static char const* COMPILER_OPTIONS = "-I O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\ -s O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\prime.cl -cl-std=CL1.2";

I have no more problem during execution but I suppose it is the reason the breakpoints set in a kernel are not seen.

At execution, I have a notification of lack of PDB files as exemple

'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.

...

'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\Intelopencl64_2_0.dll'. Module was built without symbols.
'PreprocsVideoTest.exe' (Win32): Unloaded 'C:\Windows\System32\Intelopencl64_2_0.dll'

and so on

Please to help me to explain what I have to do to allow breakpoints feature available in kernel source.

Visual studio info :

Microsoft Visual Studio Professional 2013
Version 12.0.21005.1 REL
Microsoft .NET Framework
Version 4.5.50938

Installed Version: Professional

LightSwitch for Visual Studio 2013   06177-004-0447006-02159
Microsoft LightSwitch for Visual Studio 2013

Microsoft Office Developer Tools for Visual Studio 2013 ENU   06177-004-0447006-02159
Microsoft Office Developer Tools for Visual Studio 2013 ENU

Team Explorer for Visual Studio 2013   06177-004-0447006-02159
Microsoft Team Explorer for Visual Studio 2013

Visual Basic 2013   06177-004-0447006-02159
Microsoft Visual Basic 2013

Visual C# 2013   06177-004-0447006-02159
Microsoft Visual C# 2013

Visual C++ 2013   06177-004-0447006-02159
Microsoft Visual C++ 2013

Visual F# 2013   06177-004-0447006-02159
Microsoft Visual F# 2013

Visual Studio 2013 Code Analysis Spell Checker   06177-004-0447006-02159
Microsoft® Visual Studio® 2013 Code Analysis Spell Checker

Portions of International CorrectSpell™ spelling correction system © 1993 by Lernout & Hauspie Speech Products N.V. All rights reserved.

The American Heritage® Dictionary of the English Language, Third Edition Copyright © 1992 Houghton Mifflin Company. Electronic version licensed from Lernout & Hauspie Speech Products N.V. All rights reserved.

AnalyzePackage   1.0
OpenCL Analyze package

ASP.NET Web Frameworks and Tools 2012.2   4.1.21001.0
For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563

ASP.NET Web Frameworks and Tools 2013   5.0.11001.0
For additional information, visit http://www.asp.net/

Code Builder - API Debugger   4.0.0.1
Enables various API debugging facilities for OpenCL applications. These include (among other features): tracing, dumping buffers & images and visualizing the active OpenCL objects during debug session and afterwards.

CodeBuilderSessionManager   1.0.0.0
This package is in charge of managing all code builder sessions in the VS instance. A session is made of 1 or more cl files.

CodeBuilderTopMenu   1.0
This package is the top menu item in VS for Code Builder. This is the parent object for all other menu items in other packages.

Common Azure Tools   1.0
Provides common services for use by Azure Mobile Services and Windows Azure Tools.

Microsoft Web Developer Tools 2013   2.0.40926.0
Microsoft Web Developer Tools contains the following components:
Support for creating and opening ASP.NET web projects
Browser Link: A communication channel between Visual Studio and browsers
Editor extensions for HTML, CSS, and JavaScript
Page Inspector: Inspection tool for ASP.NET web projects
Scaffolding: A framework for building and running code generators
Server Explorer extensions for Windows Azure Web Sites
Web publishing: Extensions for publishing ASP.NET web projects to hosting providers, on-premises servers, or Windows Azure

NuGet Package Manager   2.7.40911.287
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.

OpenCL Debug Engine   1
Intel(R) OpenCL Debug Engine

PreEmptive Analytics Visualizer   1.2
Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.

SQL Server Data Tools   12.0.30919.1
Microsoft SQL Server Data Tools

Windows Azure Mobile Services Tools   1.0
Windows Azure Mobile Services Tools

Workflow Manager Tools 1.0   1.0
This package contains the necessary Visual Studio integration components for Workflow Manager.

0 Kudos
Robert_I_Intel
Employee
1,047 Views

Hi Georges,

Which OS are you running on? Which version of the graphics driver? Could you provide a small reproducer with prime.cl included so I can try and reproduce the issue on my system?

Thanks!

0 Kudos
Georges_J_
Beginner
1,047 Views

thanks to answer my issue

I try to give informations you require :

OS is Windows 7 (details below)

Graphic driver is INTEL(HD)Graphics (details below); But, I can't update the driver and at the moment to install another one (I suppose) with

mediaserverstudioprofessional2015r6.exe

I receive failed message (detail of message "error 5 minimum requirements not met"  in attached file):

Failed to process component: Graphics Driver

Click 'Continue' to ignore error and install other components or 'Cancel' to cancel installation and rollback changes.

Anyway, I can work without using graphic device opencl platform but only CPU platform (experimental CPU 2.0) as proposed on Windows environment to take VStudio facilities and Opencl debugging

And I have another Linux machine where I can use GPU and FPGA opencl targets

Note that my program works correctly without -g option on windows machine (targetted with CPU platform) and on Linux machine 

-------------------------------------------------------------

OS:

OS Name    Microsoft Windows 7 Enterprise
Version    6.1.7601 Service Pack 1 Build 7601
Other OS Description     Not Available
OS Manufacturer    Microsoft Corporation
System Name    DES0036
System Manufacturer    Dell Inc.
System Model    OptiPlex 790
System Type    x64-based PC
Processor    Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz, 3401 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date    Dell Inc. A10, 2011-11-24
SMBIOS Version    2.6
Windows Directory    C:\Windows
System Directory    C:\Windows\system32
Boot Device    \Device\HarddiskVolume1
Locale    United States
Hardware Abstraction Layer    Version = "6.1.7601.17514"
User Name    Not Available
Time Zone    Romance Standard Time
Installed Physical Memory (RAM)    8.00 GB
Total Physical Memory    7.88 GB
Available Physical Memory    4.79 GB
Total Virtual Memory    15.8 GB
Available Virtual Memory    13.2 GB
Page File Space    7.88 GB
Page File    C:\pagefile.sys

Graphic driver :

Name    Intel(R) HD Graphics
PNP Device ID    PCI\VEN_8086&DEV_0102&SUBSYS_04AD1028&REV_09\3&11583659&0&10
Adapter Type    Intel(R) HD Graphics Family, Intel Corporation compatible
Adapter Description    Intel(R) HD Graphics
Adapter RAM    (2,084,569,088) bytes
Installed Drivers    igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumd32,igd10umd32,igd10umd32
Driver Version    9.17.10.2932
INF File    oem202.inf (iSNBD0 section)
Color Planes    Not Available
Color Table Entries    4294967296
Resolution    1280 x 1024 x 60 hertz
Bits/Pixel    32
Memory Address    0xE0C00000-0xE0FFFFFF
Memory Address    0xD0000000-0xDFFFFFFF
I/O Port    0x00003000-0x0000303F
IRQ Channel    IRQ 4294967294
I/O Port    0x000003B0-0x000003BB
I/O Port    0x000003C0-0x000003DF
Memory Address    0xA0000-0xBFFFF
Driver    c:\windows\system32\drivers\igdkmd64.sys (9.17.10.2932, 5.11 MB (5,353,888 bytes), 2012-12-12 16:42)

Regards

Georges

0 Kudos
Robert_I_Intel
Employee
1,047 Views

Hi Georges,

Any chance you could upgrade to the following driver https://downloadcenter.intel.com/product/81502/Intel-HD-Graphics-2000-for-2nd-Generation-Intel-Core-Processors and try again?

0 Kudos
Georges_J_
Beginner
1,047 Views

Thanks a lot for your help

I would try to synthesis my situation.... (it's quite OK)

I used win64_152824.zip to update my driver (note win64_152824.exe file download failed); Now driver has been updated but it is quite the same (see below -- note previous install of win64_153628.4332.exe for exemple was rejected ---) :
In VS13, now, Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz platform is shown
but Intel(R) CPU on Experimental OpenCL 2.0 Platform (-device=CPU_2_0) platform has disappeared

Note that with my host code in execution in VS13 environment, it is strange that I detect 3 platforms ( 2 times the same) as shown below
But in VS13 menu, only one platform is shown ... and I can't no more build kernel session in CODE-BUILDER menu

Anyway the build is OK (kernels included) BUT without some PDB files;

extract of the build :
....
2>  OpenCL Intel CPU device was found!
2>  Device name: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
2>  Device version: OpenCL 2.0 (Build 163)
2>  Device vendor: Intel(R) Corporation
2>  Device profile: FULL_PROFILE
2>  Compilation started
2>  Compilation done
2>  Linking started
2>  Linking done
2>  Device build started
2>  Device build done
2>  Kernel <kernel_prime_estimationLoop> was successfully vectorized
2>  Kernel <kernel_prime_init_temporalProjection> was successfully vectorized
2>  Kernel <kernel_prime_sel_temporalProjection> was successfully vectorized
2>  Kernel <kernel_prime_temporalProjection_fillProjectedPlane> was successfully vectorized
2>  Done.
2>  Build succeeded!
2>  

....

1_
if I dont't add  "-g" option in clBuildProgram, the execution runs without failure with 3rd platform selected
BUT if I add this "-g" option, I have again the break failure
AND in both cases, I can't use breakpoints in kernel
in this case, I can get informations from CODE-BUILDER/OpenCL Debugger menu

2_
if I add  "-g" option in clBuildProgram with 1rst platform selected => it's OK
syntax is :
...
 static char const* COMPILER_OPTIONS = "-g -s \"O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\prime.cl\" -I O:\\denoising\\ALGOS_OPENCL\\MainSrc\\SrcProcessing\\PrUv\\Algorithms\\MotionEstimator\\OPENCL\\kernel\\";
...
 error_num = clBuildProgram(* kernelProgram, num_devices , &device_id_list[DEVICE_IDX], COMPILER_OPTIONS , NULL, NULL);
...

AND breakpoints operate in kernel
in this case, no informations are available from CODE-BUILDER/OpenCL Debugger menu

So,
a) what explanation about platforms visibility ?
b) what's about PDB files issue ?
c) is there some means to mix breakpoints in kernels and host debugger features


=========

extract of build messages about PDB :
--------------------------------------------------------------
...
'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\Intelopencl64_2_0.dll'. Module was built without symbols.
'PreprocsVideoTest.exe' (Win32): Unloaded 'C:\Windows\System32\Intelopencl64_2_0.dll'
'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\IntelOpenCLProfiler.dll'. Module was built without symbols.
'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'. Cannot find or open the PDB file.
'PreprocsVideoTest.exe' (Win32): Loaded 'C:\Windows\System32\shlwapi.dll'. Cannot find or open the PDB file.

...

from my host code with "printf" :
--------------------------------------------------------------
OpenCL C API
--> number of OpenCL platform(s) found : 3 <--
 --> num Platform 0 <--
      NAME     = Intel(R) OpenCL
      VENDOR   = Intel(R) Corporation
      PROFILE  = FULL_PROFILE
      VERSION  = OpenCL 1.1
--> number of OpenCL device(s) found on platform 0 : 1 <--
 --> num Device 0 <--
      TYPE                 = 4294967184
      NAME                 =         Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
      VENDOR_ID            = 32902
      VENDOR               = Intel(R) Corporation
      VERSION              = OpenCL 1.1 (Build 37149.37214)
      DRIVER_VERSION       = 1.1
      MAX_COMPUTE_UNITS    = 8
      MAX_CLOCK_FREQUENCY  = 3400 MHz
      MAX_WORK_ITEM_DIMENSIONS = 3
      MAX_WORK_ITEM_SIZES  = 1024 1024 1024
      MAX_WORK_GROUP_SIZE  = 1024 x 1024 x 1024
 --> num Platform 1 <--
      NAME     = Intel(R) OpenCL
      VENDOR   = Intel(R) Corporation
      PROFILE  = FULL_PROFILE
      VERSION  = OpenCL 1.1
--> number of OpenCL device(s) found on platform 1 : 1 <--
 --> num Device 0 <--
      TYPE                 = 4294967184
      NAME                 =         Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
      VENDOR_ID            = 32902
      VENDOR               = Intel(R) Corporation
      VERSION              = OpenCL 1.1 (Build 37149.37214)
      DRIVER_VERSION       = 1.1
      MAX_COMPUTE_UNITS    = 8
      MAX_CLOCK_FREQUENCY  = 3400 MHz
      MAX_WORK_ITEM_DIMENSIONS = 3
      MAX_WORK_ITEM_SIZES  = 1024 1024 1024
      MAX_WORK_GROUP_SIZE  = 1024 x 1024 x 1024
 --> num Platform 2 <--
      NAME     = Experimental OpenCL 2.0 CPU Only Platform
      VENDOR   = Intel(R) Corporation
      PROFILE  = FULL_PROFILE
      VERSION  = OpenCL 2.0
--> number of OpenCL device(s) found on platform 2 : 1 <--
 --> num Device 0 <--
      TYPE                 = 4294967184
      NAME                 =         Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
      VENDOR_ID            = 32902
      VENDOR               = Intel(R) Corporation
      VERSION              = OpenCL 2.0 (Build 163)
      DRIVER_VERSION       = 5.0.0.93
      MAX_COMPUTE_UNITS    = 8
      MAX_CLOCK_FREQUENCY  = 3400 MHz
      MAX_WORK_ITEM_DIMENSIONS = 3
      MAX_WORK_ITEM_SIZES  = 8192 8192 8192
      MAX_WORK_GROUP_SIZE  = 8192 x 8192 x 8192

 >>>> OPENCL <<<<: OpenCL in line SELECTED platform : [2] and device : [0]
 

from system information in my machine

--------------------------------------------------------------
Name    Intel(R) HD Graphics
PNP Device ID    PCI\VEN_8086&DEV_0102&SUBSYS_04AD1028&REV_09\3&11583659&0&10
Adapter Type    Intel(R) HD Graphics Family, Intel Corporation compatible
Adapter Description    Intel(R) HD Graphics
Adapter RAM    (2,084,569,088) bytes
Installed Drivers    igdumd64.dll,igd10umd64.dll,igd10umd64.dll,igdumd32,igd10umd32,igd10umd32
Driver Version    9.17.10.4229
INF File    oem204.inf (iSNBD0 section)
Color Planes    Not Available
Color Table Entries    4294967296
Resolution    1366 x 768 x 59 hertz
Bits/Pixel    32
Memory Address    0xE0C00000-0xE0FFFFFF
Memory Address    0xD0000000-0xDFFFFFFF
I/O Port    0x00003000-0x0000303F
IRQ Channel    IRQ 4294967294
I/O Port    0x000003B0-0x000003BB
I/O Port    0x000003C0-0x000003DF
Memory Address    0xA0000-0xBFFFF
Driver    c:\windows\system32\drivers\igdkmd64.sys (9.17.10.4229, 5.13 MB (5,375,448 bytes), 2016-01-20 09:00)

Regards

Georges

0 Kudos
Reply