Raistmer

Some new failure at kernel launch

Discussion created by Raistmer on Oct 10, 2009
Latest reply on Oct 11, 2009 by gaurav.garg
Error is:

Kernel Execution : Failed to create Program

All I changed from previous run is commented out any scatter stream writes in kernel.

Kernel with uncommented scatter array writes didn't give this error.

What is this ?...

Kernel:

kernel void GPU_fetch_array_kernel10(int sizes[],float src[],int offsets[][],float freq[],int thresholds[][],out float4 dest<>,out int was_pulse[]){ int j=instance().y; int threadID=instance().x; float threshold=(float)thresholds[0][threadID];//R: fetch always starts with zero coadd level int k=0; int l=0; float4 acc=float4(0.f,0.f,0.f,0.f); float f=freq[threadID]; //double period=periods[threadID];//(double)sub_buffer_size/(double)f; int n_per=(int)f; for(k=0;k<n_per;k++){ l=offsets[k][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]; } if (4*j<sizes[threadID]){ if(acc.x>=threshold){ //was_pulse[0]=4; }} if(4*j+1<sizes[threadID]){ if(acc.y>=threshold){ //was_pulse[0]=thresholds[0][threadID]; }} if(4*j+2<sizes[threadID]){ if(acc.z>=threshold){ //was_pulse[0]=thresholds[0][threadID]; }} if(4*j+3<sizes[threadID]) if(acc.w>=threshold){ //was_pulse[0]=thresholds[0][threadID]; } dest=acc; }

Outcomes