cl wait for events


I try to implement an optimisation algoritme for the travelling tournament problem in OpenCL. I know my algorithm works fine. After a few hours puzzeling I implemented my code on a nVidea GPU. If I test my code with a small counter maximum, it works fine. However if I increase that number my code exits with a clwaitforevents error. It is impossible to get the optimal solution without those huge number of iterations. How can I avoid this error?

int maxR = 5, maxP = 20, maxC = 100, maxM = 250;

while(reheat <= maxR){

	phase = 0;

	while(phase <= maxP){

		counter = 0;

		while(counter <= maxC){


			for(int i = 0; i <= maxM; i++){




			if(nbf < bestFeasible || nbi < bestInfeasible){









Okay, I tried to catch the error by checking with event.getInfo<CL_EVENT_COMMAND_EXECUTION_STATUS>()

The error has dissapeard but the program keeps running instead. Although I’m sure it must have been finished already!

I noticed the screen blinking after 15seconds. When execution time is above this number my program will never ever get executed. Is it possible that it is a driver problem?



I installed a recent driver. Now my program gives me

Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.

in the cl.hpp file. If I replace the cl.h file with a recent one (from sdk 3.0) I get the errors from

once again.

Help Help :)

Owkay, I’ve installed the sdk3.0 and succeeded at making my code run without errors again.

The clWaitForEvents error stays. Same with the blink when i’m checking manually.

Anyone has a good idea please?

How can I inform my host that the appliciaton in the GPU has not crashed?