PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

Character limit on directives?
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
mkcolg



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

PostPosted: Tue Mar 30, 2010 9:37 am    Post subject: Reply with quote

Hi BeachHut,

Thank you for the example code. I was able to recreate the problem and have submitted a technical problem report (TPR#16769) and have sent it to our engineers. Note that this is a general limit with the preprocessor rather then something specific with the PGI Accelerator model. Hopefully our engineers can adjust the preprocessor to allow for longer lines.

For a work around, I would suggest removing the "copy" and "copyin" lines since the compiler is able to auto-detect these.

Code:

#pragma acc data region local(z[flox:fhix][floy:fhiy], d[flox:fhix][floy:fhiy], q[flox:fhix][floy:fhiy], r[flox:fhix][floy:fhiy])
  {

Code:
% pgcc long.c -ta=nvidia -DLONG -fast -Minfo=accel -o long.out
main:
     66, Generating local(r[:129][:129])
         Generating local(q[:129][:129])
         Generating local(d[:129][:129])
         Generating local(z[:129][:129])
     69, Generating copy(x[0:128][0:128])
         Generating copyin(b[0:128][0:128])
         Generating copyin(aW[0:128][0:128])
         Generating copyin(aS[0:128][0:128])
         Generating copyin(pC[0:128][0:128])
         Generating copyin(pS[0:128][0:128])
         Generating copyin(pW[0:128][0:128])
         Generating compute capability 1.3 kernel
     71, Loop is parallelizable
         Accelerator kernel generated
         71, #pragma acc for parallel, vector(128)
     73, Loop is parallelizable


As for the "source file too large" error, this means the compiler ran out of memory. Do you get the error with the above code? What flags are you using? I'll probably need another example since I'm not able to recreate it with the above example.

- Mat
Back to top
View user's profile
BeachHut



Joined: 14 Mar 2010
Posts: 11

PostPosted: Tue Mar 30, 2010 2:23 pm    Post subject: Reply with quote

There is a loop over kernels within the #pragma acc data region and so if I do not have the copy and copyin statements it needlessly copies unchanged data from the CPU every iteration.

I do not receive the "source file too large" error with this minimal example. I can tar the directory with the problem code and e-mail it to you, if that is possible. I am compiling the code with pgcc *.c -ta=nvidia,cc13 -Minfo.
Back to top
View user's profile
mkcolg



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

PostPosted: Tue Mar 30, 2010 3:06 pm    Post subject: Reply with quote

Please send the code to PGI Customer Support (trs@pgroup.com) and ask them to forward it to me.

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



Joined: 14 Mar 2010
Posts: 11

PostPosted: Tue Mar 30, 2010 3:49 pm    Post subject: Reply with quote

Thanks Mat, message sent.
Back to top
View user's profile
BeachHut



Joined: 14 Mar 2010
Posts: 11

PostPosted: Tue Mar 30, 2010 7:55 pm    Post subject: Reply with quote

In case it is of interest to others, the "source file too large" error was caused by accidentally having a repeated 'local' section in the #pragma acc data region directive.
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
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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