offline/online opencl compilation difference

Dear Community Members!

I have a program, which makes some calculations with the help of the opencl kernel, which runs on the cpu. I also make these calculations  without opencl and check for errors.


The problem is that I get errors from time to time, when I use online compilation of opencl kernel. I don't get errors, when I use offline compilation. 

Could anyone, please, help me and explain, why it happens?

You can find files here:



Does HD5300 support the 'new globally coherent memory type' mentioned in Gen8.pdf. How does application use it?


I have a HD5300 platform at hand.   

Does HD5300 support the 'new globally coherent memory type' mentioned in 'Compute Architecture of Intel Processor Graphics Gen8.pdf'?  

If yes, then how to write the application to take advantage of this coherent memory type?


Beatbuddy, an Indie Game, Expands with New Technologies


How does an indie game development company stay current and expand their market? Let’s look at multi-award winning indie game company Threaks, creators of BeatBuddy, and talk to Co-CEO Wolf Lang to see how they are navigating the game development world.

 From Student to Indie Project

  • Desenvolvedores
  • Parceiros
  • Estudantes
  • Android*
  • Apple iOS*
  • Microsoft Windows* 8
  • Android*
  • Desenvolvimento de jogos
  • UX
  • Windows*
  • Unidade
  • Beatbuddy
  • Threaks
  • th3aks
  • 2-in-1
  • unity
  • slate
  • indy
  • Desenvolvimento de jogos
  • Migração
  • Interfaces de toque
  • Design e experiência do usuário
  • Apparent memory leak and performance problems

    Dear all,

    my company is developing a scientific application with ~30000 registered users. We encountered some problems with OpenCL support in Windows 8.1, using the latest driver, and testing with the built-in GPU of a Core i7 4770, the application is 32bit.

    1) A memory leak-like issue: The application has a non-performance critical loop which looks like..

    - Create kernels
    for (i=0;i<100;i++)
    { - Create OpenCL buffers
      - Run kernels
      - Free OpenCL buffers }

    Does INDE API Trace feature create another OpenCL platform?


    INDE API trace was working wonderfully for a few days and suddenly stopped returning any trace information. I started investigating and noticed that, when enabled, another Intel OpenCL platform shows up at runtime when I query all available platforms. Using this newly created OpenCL platform, again that only shows up when API trace is enabled, allows me to get the trace results that I was looking for. Why it worked two days ago without any adjustments to my code is still a mystery to me.

    Broadwell HD 6000 significantly more efficient than Haswell HD 4600

    I'm seeing a solid per-EU performance improvement on a pure integer math kernel.  

    I'm comparing a 950 MHz 48 EU HD 6000 vs. a 1200 MHz 20 EU HD 4600.  Both have similar DDR3 bandwidth.

    Adjusted for clock speed, the kernel shows a 60% boost in throughput per EU.  Without adjusting for clock speed, the HD 6000 still shows +26% over the HD 4600.

    The improved integer throughput is a nice feature!

    OpenCL Code Builder Deep Analysis error: "Cannot return a color for more than 72"

    Deep Analysis returns the following error and shows an entirely blank "Execution Duration" tab:

    The remaining tabs are populated.

    I'm running a workgroup of 2688/224 global/local items which is one SIMD8 per hardware thread on an HD6000.

    Is clBuildProgram needed in conjunction with clCreateProgramFromBinary?


    While trying to develop a standalone for a prior question, I noticed that offline compilation seems to behave differently for CPU and GPU. Per the OpenCL spec, my understanding is that I should be able to reuse compiled kernels (either through ioc32/64 or clCreateProgramFromSource/clBuild). When using a GPU device I can load said precompiled kernel through clCreateProgramFromBinary and be ready to use it. CPU, however, requires me to call clBuild yet again, which from a performance standpoint defeats the purpose of precompiling my kernels.

    Assine o Parceiros