I got a run-time error when one of Rodinia suite was run on nvidia GPU: FATAL ERROR: variable in data clause is partially present on the device: name=conn
I noticed that this error happened in line 226 of “backprop.c” file (“conn” variable): conn is a 2-D array and in present clause, it appears as conn[0:n1n2]. The compiling info said: Generating present(l1[:n1],l2[:n2],conn[:1][:n1n2]). It should be conn[:n1][:n2], not conn[:1][:n1*n2]. So I change it in original file. But there is still another error when I run it (./backprop 16): call to cuStreamSynchronize returned error 700: Illegal address during kernel execution.
Here are steps to compile and run this benchmark:
- type make;
- ./backprop numbers (i.e. ./backprop 16)
Can you take a look at “backprop.c” file?