2 Replies Latest reply on Jun 18, 2010 2:50 PM by MicahVillmow

    CLC crashes

      (bug report)

      On attached kernel compilation CLC.exe crashed after reporting error:
      AstroPulse_Kernels4.cl(316): error: type name is not allowed
      float4 acc=float4(0.f);

      (kernel was direct but incomplete port from Brook one. It contains error, but compiler should report error, not crash itself on it....

      __kernel void GPU_fetch_array_kernel_cl(__global float* src,__global int* offsets,__global int* f_int, __global float4* dest,const uint offset,const uint max_threads_per_block){ //R: here we should form dest buffer element one by one, no arrays inside kernel allowed //So we should return back to initial fetch order that was so unoptimal for CPU version //will hope here access to memory with stride will not degrade performance so much as it was for CPU version uint threadID=get_global_id(0)+offset; uint j=get_global_id(1); int k=0; int l=0; float4 acc=float4(0.f); int n_per=f_int[threadID]; for(k=0;k<n_per;k++){ l=offsets[k*max_threads_per_block+threadID]; l+=(4*j);//R: index to data array computed acc.x+=src[l]; acc.y+=src[l+1]; acc.z+=src[l+2]; acc.w+=src[l+3]; } dest[threadID*480+j]=acc; }