FATAL ERROR: variable in data clause is partially present on

Hi Matt,
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:

  1. type make;
  2. ./backprop numbers (i.e. ./backprop 16)

Can you take a look at “backprop.c” file?

Many thanks,

Hi Matt,

A quick way to get them is this download link: https://github.com/pathscale/rodinia. After unzip the file, please go to: rodinia-master/openacc/backprop

Totally there are 6 files(backprop.c, backprop.h, backprop_kernel.c, facetrain.c, imagenet.c, README, run and Makefile).

If you have problems to download it, I will post them or let PGI Customer Service (trs@pgroup.com) to forward it to you.

Thank you in advance,

The download link should be https://github.com/pathscale/rodinia

There is no period. Sorry

Here is PGI info:
pgcc 15.4-0 64-bit target on x86-64 Linux -tp haswell
The Portland Group - PGI Compilers and Tools
Copyright © 2015, NVIDIA CORPORATION. All rights reserved.

Hi lxc,

I looked at these codes a few years back and found numerous errors. I attempted to fix some but decided there we too many and gave up.

In this case the “illegal address” is because of an out-of-bounds error. Note that the loops go from 1 to <= n2 and 0 to <= n1.

  • Mat

Thanks for your debugging experience of “backprop”. I think it’s a time for me to give it up.