OpenCL Синхронизация

написал ядро, приведенное ниже. При Count=10240 все работает нормально, но при Count=102400 вылезает ошибка CL_OUT_OF_RESOURCES при выполнении clEnqueueReadBuffer( commands, output, CL_TRUE, 0, sizeof(single) * count, @results, 0, nil, nil); (оболочка для запуска на паскале)
Может, нужна синхронизация? или есть ограничение на время выполнения ядра?
вот код ядра:

  1. void __kernel square(                        
  2.    __global float* input,              
  3.    __global float* output,              
  4.    const unsigned int count)            
  5. {                                      
  6.    int i = get_global_id(0);            
  7.    for (int t1 = count-1;t1!=0;t1--)            
  8.    if(i < (count-t1))                    
  9.        output[i] = output[i]+input[i+t1] * input[t1];
  10. }

если вписать кудовский "__syncthreads();" , он его не понимает

Forums: 

Ну то что syncthreads не

Ну то что syncthreads не понимает - это нормально, в OpenCL это называется barrier().

А вот с OUT_OF_RESOURCES какая-то странность. Не должно оно ломаться на 400кб данных.

А собственно вычислительный грид вы как запускаете?