Raistmer

CLC crashes

Discussion created by Raistmer on Jun 18, 2010
Latest reply on Jun 18, 2010 by MicahVillmow
(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; }

Outcomes