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.

OpenCL™ Code Analyzer in Intel® INDE Update 2

Robert_I_Intel
Employee
561 Views

The new OpenCL™ Code Anlayzer, a feature of Intel® INDE OpenCL™ Code Builder, adds performance analysis capabilities integrated in your Microsoft Visual Studio* OpenCL development environment.

With this new feature, previously in preview, the OpenCL Code Builder now supports each state of the OpenCL code development, enables you to carry on performance optimizations in each step of the development from build, to debug, and to tuning and get the best out of Intel® Graphics Compute capabilities.

OpenCL™ Code Builder in conjuction with Intel® INDE Platfrom Analyzer now enables tuning features for OpenCL applications like:

  • Application level profiling
  • Platform level timeline view
  • Platform performance counters
  • Correlate CPU & GPU activities
  • Kernel hot-spots analysis

Need more information on the OpenCL Code Builder feature? Check this 2 min video: http://bcove.me/xrcs5bze

0 Kudos
6 Replies
Mrugesh_G_
Beginner
561 Views

Hello,

I am facing issue in doing latency profiling using INDE Code Analyzer update 2 on HD4000 GPU in VS2012.

1. When I use Code Analyzer in VS2012 GUI  -> Code Builder -> OpenCL App. Analysis , at the end of profiling, VS2012 is not able to show the results saying contents are blocked/active content. I played with IE ActiveX security options but to no avail.

Then I tried to use the command line codeanalyzer.exe.

2. For Occupancy analysis it works fine, but for Latency analysis, when I open the generated html file it shows nothing saying that there were no kernels run and there is no data to collect. I can clearly see in the output, and the OpenCL kernels are running.

In the output folder I do not find any trace data collected. However, while profiling is going on, in the trace output folder, there are some trace folders getting created and then automatically deleted.

Thanks in advance for your reply.

Best,

Mrugesh

0 Kudos
Robert_I_Intel
Employee
561 Views

Mrugesh,

1. Could you please provide the details of your system, e.g. processor, OS, graphics driver version?

2. Please make sure to update to the latest and greatest graphics driver (see https://downloadcenter.intel.com/search?keyword=3rd+Generation+Intel%c2%ae+Core%e2%84%a2+Processors+with+Intel%c2%ae+HD+Graphics+4000 ) - hopefully 4176 driver

3. Try to run Visual Studio as administrator and see if that makes a difference

4. For command line, please provide full command line for both successful and unsuccessful case

5. If you don't mind sharing your code, please post it here or send me a private message if you don't want forum users to see your code

Thanks!

 

0 Kudos
Mrugesh_G_
Beginner
561 Views

Hi Robert,

After installing 4176 driver, I am getting following warning message when running CodeAnalyzer from command line.

WARNING (from Latency) : GT-Pin skipped instrumenting the Gen kernel(s) due to missing debug informa
tion or other reasons. As a result, Latency doesn't have any profile to process.

System information:

Windows Embedded 8 64 bit, Intel Core i7-3770  CPU, 16 GB RAM, 4176 version of driver.

Command line (not working - latency):

c:\Intel\INDE\code_builder_5.1.0.25\bin\x86>CodeAnalyzer.exe -p latency -e c:\mrugesh\Project\OpenCL
Project2\Release\OpenCLProject2.exe -w c:\Mrugesh\Project\OpenCLProject2\Release -o c:\Mrugesh\Proje
ct\OpenCLProject2\Release -a "1024 32 8 2 128 1 1 ../OpenCLProject2/filename.cl Intel GPU 1 0
 0 0"-m html -f

Command line (working - occupancy):

c:\Intel\INDE\code_builder_5.1.0.25\bin\x86>CodeAnalyzer.exe -p occupancy -e c:\mrugesh\Project\OpenCL
Project2\Release\OpenCLProject2.exe -w c:\Mrugesh\Project\OpenCLProject2\Release -o c:\Mrugesh\Proje
ct\OpenCLProject2\Release -a "1024 32 8 2 128 1 1 ../OpenCLProject2/filename.cl Intel GPU 1 0
 0 0"-m html -f

Further, the debug info is included in the visual studio build config.

I tried passing -g -s <full path of opencl file> to clBuildProgram to enable debugging (if that matters). But still the profile information is not generated.

Best regards,

Mrugesh

 

0 Kudos
Robert_I_Intel
Employee
561 Views

Hi Mrugesh,

We think we fixed the bugs on our side. Could you please send me either your code or a smaller reproducer code so we can verify that everything is fixed?

Thank you!

Robert

0 Kudos
Mrugesh_G_
Beginner
561 Views

Hi Robert,

The issue can be reproduced using Intel OpenCL samples from here:

https://software.intel.com/sites/default/files/managed/bd/3a/intel_ocl_samples_win.zip

Extracted, opened the solution in VS2012 and built the solution (Win32 Release) (successfully)

Now, the following directory contains all the executable files of the samples.

C:\Mrugesh\intel_ocl_samples_win\Win32\Release

I am able to run the samples by clicking the exe file. Now I try to run a codeanalyzer.exe and do latency analysis by giving this command. Output is also shown.

c:\Intel\INDE\code_builder_5.1.0.25\bin\x86>CodeAnalyzer.exe -p latency -e C:\Mrugesh\intel_ocl_samp
les_win\Win32\Release\BitonicSort.exe -w C:\Mrugesh\intel_ocl_samples_win\Win32\Release -o C:\Mruges
h\intel_ocl_samples_win\Win32\Release -m html -f
Tracing data started.
Platforms (2):
    [0] Intel(R) OpenCL [Selected]
    [1] Experimental OpenCL 2.0 CPU Only Platform
Devices (2):
    [0] Intel(R) HD Graphics 4000 [Selected]
    [1]         Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Sort order is ascending
Input size is 33554432 items
OpenCL data alignment is 4096 bytes.
Executing OpenCL kernel...
Executing reference...
Performing verification...
Verification succeeded.
NDRange perf. counter time 6442.258301 ms.

WARNING (from Latency) : GT-Pin skipped instrumenting the Gen kernel(s) due to missing debug informa
tion or other reasons. As a result, Latency doesn't have any profile to process.

Skip source annotation because the source-profile file is empty


Tracing data paused.
Profiled application ended.
"capture_0" Reports were successfully exported to: "C:/Mrugesh/intel_ocl_samples_win/Win32/Release\B
itonicSort_Out\capture_0"

c:\Intel\INDE\code_builder_5.1.0.25\bin\x86>

When I open the

C:\Mrugesh\intel_ocl_samples_win\Win32\Release\BitonicSort_Out\capture_0\Latency.html

file it shows following (same error).

Alert: No Latency analysis data found, could be due to some of the following:
 - There were no data to collect!
 - Kernels didn't run on GPU.
 - The application encountered and error and exited before the Kernels' execution on the GPU.
 - Command-line arguments or the working-directory are incorrect.


Thanks & regards,

Mrugesh

0 Kudos
Robert_I_Intel
Employee
561 Views

Hi Mrugesh,

I just got an email from a product team: on Intel Core i7-3770  CPUs kernel profiling is supported, but latency view would not work, while occupancy view should work fine. Sorry about this inconvenience!

0 Kudos
Reply