PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

OpenACC and Fortran: compiler error question

 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
ToniC



Joined: 20 Jun 2013
Posts: 2

PostPosted: Thu Jun 20, 2013 7:19 am    Post subject: OpenACC and Fortran: compiler error question Reply with quote

I am porting a large piece of fortran 90 software to GPGPUs, using mainly openacc directives. Compiling a particular module results in the following messages (after some successful parallelisation):
17468, Generating present_or_copy(g_contrib(:))
17469, Loop is parallelizable
Accelerator kernel generated
17469, !$acc loop gang, vector(128) ! blockidx%x threadidx%x
/tmp/pgcudaforqkwcWMmDq0Ld.gpu(118): error: expression must have class type

/tmp/pgcudaforqkwcWMmDq0Ld.gpu(121): error: expression must have class type

/tmp/pgcudaforqkwcWMmDq0Ld.gpu(165): error: expression must have class type

/tmp/pgcudaforqkwcWMmDq0Ld.gpu(168): error: expression must have class type

/tmp/pgcudaforqkwcWMmDq0Ld.gpu(212): error: expression must have class type

I then get a load more of these errors, until it bugs out complaining there are too many. I have commented out the content of all of the subroutines following line 17469 in the module and this does not change the errors.
In case it helps here is an example of one of the lines in the temporary file that this is referring to (line 165):
_d_1 = (*( double*)(((p3)+(-16))+((_i_1))))+(((p4.r)*(Rf_23))*((Rx_24)*(1.73205080756887719E+0)));
Can anyone help me understand these error messages.

Many thanks!
Back to top
View user's profile
mkcolg



Joined: 30 Jun 2004
Posts: 6134
Location: The Portland Group Inc.

PostPosted: Thu Jun 20, 2013 12:06 pm    Post subject: Reply with quote

Hi ToniC,

This means the compiler is generating bad device code but I can't tell from this snip-it what that would be. Can you please send a reproducing example to PGI Customer Service (trs@pgroup.com) and as them to send it to me?

I'll take a look and see if I can determine the cause, report the error, had hopefully find a work-around.

Thanks,
Mat
Back to top
View user's profile
ToniC



Joined: 20 Jun 2013
Posts: 2

PostPosted: Tue Jun 25, 2013 6:37 am    Post subject: Reply with quote

Hi Mat,

Thanks for your reply. I've sent a test module to the PGI Customer Service email address as you suggested. Sorry for the delay - it took a while to cut the snippet out of the code and still have it compile with the relevant errors!

Many thanks,
Toni.
Back to top
View user's profile
jtull



Joined: 30 Jun 2004
Posts: 438

PostPosted: Tue Jun 25, 2013 10:58 am    Post subject: TPR 19438 has been filed Reply with quote

Toni,

Mat is at SPEC this week, but may check in. I have recreated
your behavior with test_code.CUF, and I have filed TPR 19438.

Engneering will be looking at this.

regards,
dave
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group