Hello,
Although I have these two lines in my code:
JCudaDriver.setExceptionsEnabled(false);
JCuda.setExceptionsEnabled(false);
JCuda is still throwing exceptions with a random black „null“ somewhere at the middle of its output! Like below:
This error appears when I try to run a very simple kernel that looks pretty OK but fails to run
__global__ void calculateFitness(int centroidCount, int dataPointCount,
short ** relSet,
double **distances,
double *val
)
{
int index = threadIdx.x;
if (index > centroidCount)
return;
// get number of points in the current cluster
int count = 1;
for( int i = 0 ; i < dataPointCount ; i++) {
if (relSet**[index] == 1)
count ++;
}
double temp = 0
for( int i = 0 ; i < dataPointCount ; i++) {
f (relSet**[index] == 1)
{
temp+ = distances**[index] / count;
}
}
val[index] = temp;
}```
Actually this kernel is called after 2 other kernels. The other two kernels finish without any problems.
This kernel is only called using a block size of 15 and with 1 block in grid. Also centroidCount is 15 and dataPointCount is 5000. Both distances and relSet have 5000 rows and 15 columns.
I'm not sure what is wrong.
Thanks in advance