Line-by-line time profiling with an OpenCL kernel

hi, I am working on a project to optimize an OpenCL code. This kernel is computationally dense, and I'd like to see where is the bottleneck.

I haven't installed Intel's CL libraries yet, but I am wondering if it is possible to do a line-by-line profiling with my OpenCL kerbel when running on the CPU? we have profiled the code with CodeXL on an AMD GPU, but the profiler only reports abstract metrics, which are not exactly helpful in pinpointing the hotspots.

Coloring with Beignet: Performing Color Management on Intel® HD Graphics with OpenCL

Co-authored by Alina Chera

Brief introduction to color management

This article presents a proof of concept implementation that accelerates the computation of color profile transformations using OpenCL on Intel® HD Graphics. To understand the context of this document, the reader must first be aware of some basic concepts about colors, color profiles, and their importance to color management.

  • Sviluppatori
  • Google Chrome OS*
  • OpenCL*
  • Grafica
  • Execution Model For the Intel GPU

         Now I'm confused about  execution Model of the work-items . There are 3 compiled model(SIMD8 SIMD16,SIMD32) for the intel GPU.

         1. For the SIMD-X,does that mean there are X work-items execute simultaneously in one hardware thread?

         2. There is a OpenCL Kernel , compiled to SIMD16. and my work-group is  a “square” work-group < 8, 8, 1 >. For SIMD16, does that mean the first two 8 work-items(< 0~7, 0~1, 1 >) execute simultaneously? 

    Code Builder analysis session doesn't show kernel tips


    I am working with MS VS 2013 with the intel SDK build (latest) , and when creating a nwe Analysis Session , the kernel section indicates that there are 6 performance tips , but when I click on it it dosn't show any tips , likewise ""Api Calls"" or ""Memory Commands"" sections.

    License question

    Hello all,

    we want to use the Intel „SDK for OpenCL™ Applications for Windows“. I read the accompanying file "LicenseAgreement.rtf". I am confused: In this LicenseAgreement.rtf there are many different license types mentioned such, that I am not sure which is related to what. There are mentioned redistributables, there are mentioned patent licenses, evaluation licenses, excluded licenses and many more.

    I am allowed to use the SDK for commercial software or not?

    Thanks for any usefull reply.


    Consumer Kernel with pipe


    The following code is in a "consumer kernel":

    //reserve pipe for reading
    reserve_id_t rid = work_group_reserve_read_pipe(rng_pipe, szgr);
    if(is_valid_reserve_id(rid)) {
      //read random number from the pipe.
      read_pipe(rng_pipe,rid,lid, &rn);
      work_group_commit_read_pipe(rng_pipe, rid);

    Is it possible that read_pipe will be blocked till it gets a vector of data written from a producer kernel ?



    kernel with pipe parameter: compilation error


    I tried compiling the following kernel with the last version of OpenCL SDK:

    __kernel void pipe_producer (__write_only pipe float rng_pipe)



    And got the following errors:

    1:3:30: error: expected parameter declarator
    1:3:43: error: expected ')'
    1:3:29: note: to match this '('
    Compilation failed

    Can you tell why ?



    Iscriversi a OpenCL*