PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

PGF90-W-0155-Compiler failed ... with PGI 12.4
Goto page 1, 2, 3, 4  Next
 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
xlapillonne



Joined: 16 Feb 2011
Posts: 69

PostPosted: Wed May 09, 2012 6:56 am    Post subject: PGF90-W-0155-Compiler failed ... with PGI 12.4 Reply with quote

Hi,

I have code with acc regions (PGI proprietary directives), which is compiling and running fine with PGI 12.3.

If I try to compile it with PGI 12.4 I get the following message:
Code:

compiling organize_newphysics.f90
/tmp/pgaccVLJdnhy-8syX.gpu(221): error: expression must have arithmetic or enum type

/tmp/pgaccVLJdnhy-8syX.gpu(223): error: expression must have arithmetic or enum type

/tmp/pgaccVLJdnhy-8syX.gpu(257): error: expression must have arithmetic or enum type

3 errors detected in the compilation of "/tmp/pgnvdNqLd1iOkesQS.nv0".
PGF90-W-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (/project/s83/lapixa/COSMO_ICON_4.18_GPU/bin_gpu_castor/src/organize_newphysics.f90: 609)
organize_newphysics:
...


the correspongin -Minfo message for this kernel which starts line 611 is:

Code:

...
    597, Accelerator restriction: induction variable live-out from loop: .dY0013
    611, Accelerator restriction: scalar variable live-out from loop: .dY0016
         Accelerator kernel generated
        611, !$acc do parallel, vector(256) ! blockidx%x threadidx%x
    613, Parallelization would require privatization of array 'aersea_b(i1+1)'
         Parallelization would require privatization of array 'aerdes_b(i1+1)'
         Parallelization would require privatization of array 'aerurb_b(i1+1)'
         Parallelization would require privatization of array 'aerlan_b(i1+1)'
         Parallelization would require privatization of array 'rlon_b(i1+1)'
         Parallelization would require privatization of array 'rlat_b(i1+1)'
         Parallelization would require privatization of array 'hmo3_b(i1+1)'
         Parallelization would require privatization of array 'vio3_b(i1+1)'
    642, Accelerator restriction: induction variable live-out from loop: .dY0016
    643, Accelerator restriction: induction variable live-out from loop: .dY0015
...


It seems that a kernel is generated, but the code then gives wrong results.
Does the message " expression must have arithmetic or enum type" refers to some known issues.

For comparison when I compile with pgi 12.3 the -Minfo message is:
Code:

...
    597, Accelerator restriction: induction variable live-out from loop: .dY0013
    609, Generating compute capability 1.3 binary
         Generating compute capability 2.0 binary
    611, Accelerator restriction: scalar variable live-out from loop: .dY0016
         Accelerator kernel generated
        611, !$acc do parallel, vector(256) ! blockidx%x threadidx%x
             CC 1.3 : 12 registers; 20 shared, 1060 constant, 0 local memory bytes; 100% occupancy
             CC 2.0 : 16 registers; 4 shared, 1088 constant, 0 local memory bytes; 100% occupancy
    613, Parallelization would require privatization of array 'aersea_b(i1+1)'
         Parallelization would require privatization of array 'aerdes_b(i1+1)'
         Parallelization would require privatization of array 'aerurb_b(i1+1)'
         Parallelization would require privatization of array 'aerlan_b(i1+1)'
         Parallelization would require privatization of array 'rlon_b(i1+1)'
         Parallelization would require privatization of array 'rlat_b(i1+1)'
         Parallelization would require privatization of array 'hmo3_b(i1+1)'
         Parallelization would require privatization of array 'vio3_b(i1+1)'
    642, Accelerator restriction: induction variable live-out from loop: .dY0016
    643, Accelerator restriction: induction variable live-out from loop: .dY0015
...



Note also the message
"Accelerator restriction: induction variable live-out from loop: .dY0016 ..."
I don't know what is the meaning of it (and if it may cause issues) but I reported this problem in an earlier post this year. I however didn't get any solution so far.

I am unfortunately not able to reproduce the problem in a small test example but I can send you the full application.

Best regards,

Xavier
Back to top
View user's profile
mkcolg



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

PostPosted: Wed May 09, 2012 4:11 pm    Post subject: Reply with quote

Hi Xavier,

Code:
I am unfortunately not able to reproduce the problem in a small test example but I can send you the full application.
I don't see any reported issues that match yours so unfortunately, we'll need you send us the full source. Unless it's the same COSMO source you sent me in February?

- Mat
Back to top
View user's profile
xlapillonne



Joined: 16 Feb 2011
Posts: 69

PostPosted: Thu May 10, 2012 7:20 am    Post subject: Reply with quote

Hi Mat,

Yes it is cosmo, but there are some changes. I just send the new version to trs.

Let me know if you have trouble to compile or run the code.

Best regards,

Xavier
Back to top
View user's profile
mkcolg



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

PostPosted: Thu May 10, 2012 11:46 am    Post subject: Reply with quote

Hi Xavier,

I was able to replicate the problem here and have sent a report off to engineering (TPR#18694). I have the problem fairly well isolated so hopefully it's something they can fix easily.

- Mat
Back to top
View user's profile
xlapillonne



Joined: 16 Feb 2011
Posts: 69

PostPosted: Tue May 15, 2012 5:00 am    Post subject: Error with -Mcuda Reply with quote

Hi Mat,

In the mean time I also tried to compile the code with -Mcuda as I need to use some cuda function inside the code.

I am getting several errors:

Code:

compiling data_flake.f90
PGF90-F-0000-Internal compiler error. cf_data_init: incorrect offset       0 (/project/s83/lapixa/GPU/PGI/COSMO_ICON_4.18_GPU_r2042/src/data_flake.f90: 279)
gmake: *** [/project/s83/lapixa/GPU/PGI/COSMO_ICON_4.18_GPU_r2042/obj/data_flake.o] Error 2


The strange thing is that this file don't have any acc statment.

If I then only compile this file without -Mcuda and the rest with. I can compile up to an other file (with acc command), where I get the following error:
Code:

/tmp/pgf90-YXc9w7PTIdS.s: Assembler messages:
/tmp/pgf90-YXc9w7PTIdS.s:75211: Error: symbol `.STATICS2' is already defined
/tmp/pgf90-YXc9w7PTIdS.s:81753: Error: symbol `.BSS2' is already defined
/tmp/pgf90-YXc9w7PTIdS.s:97032: Error: symbol `.STATICS2' is already defined
/tmp/pgf90-YXc9w7PTIdS.s:103453: Error: symbol `.BSS2' is already defined
gmake: *** [/project/s83/lapixa/COSMO_ICON_4.18_GPU_dev/obj/organize_newphysics.o] Error 2


Unless any of this message trigers an obvious none issue, I have just send to trs a correction to the makefile to see these problem.

Could you also have a look to these error.

PGI version: 12.3
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 1, 2, 3, 4  Next
Page 1 of 4

 
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