unspecified launch failure

Hi All,

My kernel look like this :

[codebox]device float contrib_e[100][400][24][4];

device float flux[100][400][24][4];

global void Integral_opal(float d_global_data[70][13][24][10000], int coord[100][8], float d_y[100][24], int d_cutoff[100][4], float d_el[4][100][24], float d_kappa_r[100][4], float d_flux[24][100][4]){

fill contrib_e and flux and return the result in d_kappa_r and d_flux


this kernel is called by

[codebox]Integral_opal<<<dim3(100,1),dim3(400,1)>>>((float()[70][13][24][10000])d_global_data, (int()[100][8])d_coord, (float()[100][24])d_y, (int()[100][4])cutoff, (float()[4][100][24])d_el, (float()[100][4])d_kappa_r, (float(*)[24][100]4])d_flux);[/codebox]

and this return “unspecified launch failure”…

if i change <<<dim3(100,1),dim3(400,1)>>> to <<<dim3(100,1),dim3(1,1)>>>, then the code runs, but once we increase it to <<<dim3(100,1),dim3(2,1)>>> or above, the error come back.

Does anyone know what this error mean? where should I look?


Rectification, It always return “unspecified launch failure”…

This should probably be a FAQ… “unspecified launch failure” is usually a kernel segfault. A common (albeit slow) solution is to compile emudebug, and run the code in valgrind.