PGI User Forum
 SearchSearch   MemberlistMemberlist     RegisterRegister   ProfileProfile    Log inLog in 

CUDA-x86.

internal compiler error with CUDA Fortran
Goto page 1, 2  Next
 
Post new topic   Reply to topic    PGI User Forum Forum Index -> Accelerator Programming
View previous topic :: View next topic  
Author Message
Tuan



Joined: 11 Jun 2009
Posts: 233

PostPosted: Wed Jan 27, 2010 12:40 am    Post subject: internal compiler error with CUDA Fortran Reply with quote

I define this kernel subroutine inside a module

Code:

attributes(global) SUBROUTINE txt(N, N_R, irow_R, isfu, ryrgate, ca_ds, ca_jsr, compKm, indexKm, compKp, indexKp, Pdtmin, compPdt, indexPdt)
  IMPLICIT NONE
  INTEGER, VALUE :: N, maxnklm, maxnklp, N_R, irow_R
  INTEGER, DIMENSION(N) ::  isfu
  REAL(KIND=REAL8), DIMENSION(N) :: ryrgate
  REAL(KIND=real8), DIMENSION(N) :: ca_ds, ca_jsr
  REAL(KIND=real8) ::compKm, compKp
  INTEGER :: indexKm, indexKp
  DIMENSION compKm(irow_R,N), indexKm(irow_R,N)
  DIMENSION compKp(irow_R,N), indexKp(irow_R,N)
  REAL(KIND=real8) :: Pdtmin
  REAL(KIND=real8), DIMENSION(N, N) :: compPdt
  INTEGER, DIMENSION(N, N) :: indexPdt
 
  REAL(KIND=real8), DIMENSION(N):: bigC, chiC, chiO
  REAL(KIND=real8) :: aK0, aK1
  INTEGER :: i, j

END SUBROUTINE txt

When I compile (include linking to the main subprogram also), I get the internal compiler error.

Code:

abcfunc:
     67, Memory set idiom, loop replaced by call to __c_mset8
    169, Invariant communication calls hoisted out of loop
    170, Invariant communication calls hoisted out of loop
PGF90-F-0000-Internal compiler error. unsupported operation     311 (abf_utility.f95: 222)
PGF90/x86-64 Linux 10.1-0: compilation aborted
make: *** [abc_utility.mod] Error 2

with 222 is the line number of
Quote:
END SUBROUTINE txt
Back to top
View user's profile
mkcolg



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

PostPosted: Fri Jan 29, 2010 1:20 pm    Post subject: Reply with quote

Hi Tuan,

Can you please send a full example that reproduces the error to PGI Customer Service (trs@pgroup.com)? Unfortunately, I'm not able to reproduce the error with this snip-it.

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



Joined: 11 Jun 2009
Posts: 233

PostPosted: Mon Feb 01, 2010 12:24 pm    Post subject: Reply with quote

mkcolg wrote:
Hi Tuan,

Can you please send a full example that reproduces the error to PGI Customer Service (trs@pgroup.com)? Unfortunately, I'm not able to reproduce the error with this snip-it.

Thanks,
Mat


Done.

Tuan
Back to top
View user's profile
mkcolg



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

PostPosted: Mon Feb 01, 2010 4:56 pm    Post subject: Reply with quote

Thanks Tuan.

The problem is that all scalar dummy arguments must either have the "VALUE" attribute or be a module device variable. Specifically, you need to add "value" to Pdtmin's declaration.
Code:
REAL(KIND=real8), value :: Pdtmin

I've sent your example off to our engineers (TPR#16560) since we should be giving a syntax error for this, not an ICE.

- Mat
Back to top
View user's profile
Tuan



Joined: 11 Jun 2009
Posts: 233

PostPosted: Tue Feb 02, 2010 11:27 am    Post subject: Reply with quote

mkcolg wrote:
Thanks Tuan.

The problem is that all scalar dummy arguments must either have the "VALUE" attribute or be a module device variable. Specifically, you need to add "value" to Pdtmin's declaration.
Code:
REAL(KIND=real8), value :: Pdtmin

I've sent your example off to our engineers (TPR#16560) since we should be giving a syntax error for this, not an ICE.

- Mat

I agree with you that using VALUE attribute can resolve the issue. However, we don't need to define Pdtmin as VALUE if, before calling the device subroutine, the corresponding actual argument has already been put in the device memory (i.e. passing by reference is possible). So, I think the compiler should not issue an error, probably a warning is better. Is that correct?

Tuan.
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  Next
Page 1 of 2

 
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