|
| View previous topic :: View next topic |
| Author |
Message |
Tuan
Joined: 11 Jun 2009 Posts: 226
|
Posted: Sat Jan 23, 2010 7:55 pm Post subject: error with directives and clauses |
|
|
My compile:
pgf95 main.f -ta=nvidia -Minfo -Mextend -Mpreprocess
My compiling error:
PGF90-S-0000-Internal compiler error. semsmp: bad rednum 1204 (main.f: 105)
0 inform, 0 warnings, 1 severes, 0 fatal for foofunc
| Code: |
#ifdef _ACCEL
use accel_lib
#endif
call foofunc()
end
!===================================================================
!===================================================================
subroutine foofunc()
IMPLICIT double precision (a-h,o-z)
PARAMETER (maxiter=10000000,noutincr=100)
PARAMETER (nouter=maxiter/noutincr)
DIMENSION ca_ds(N), ca_jsr(N),c(N)
DIMENSION aJ_ryr(N)
DIMENSION aJ_efflux(N),aJ_refill(N)
DIMENSION bigC(N)
DIMENSION chiC(N),chiO(N)
DIMENSION compKm(irow_R,0:maxnklm), indexKm(irow_R,maxnklm)
DIMENSION compKp(irow_R,0:maxnklp), indexKp(irow_R,maxnklp)
double precision, dimension(irow_R):: U_Ro
double precision, dimension(N) :: ryrgate
DIMENSION isfu(N)
!local
INTEGER LSTATE,N
INTEGER I,INFO,NSKIP,SEED(LSEED),STATE(LSTATE)
double precision A,B, X(N)
double precision, dimension(N, maxnklm+maxnklp-1) :: compPdt
integer, dimension(N, maxnklm+maxnklp-1) :: indexPdt
double precision, dimension(0:maxnklm+maxnklp-1,N) :: compP
double precision :: Pdtmin
integer, dimension(N) :: flag
irow_R = 1000
Mbig=irow_R
isfu = 1
ryrgate(:) = U_Ro(isfu(:))
dt = 1d-7 ! seconds
Vstep = -10d0
time = 0d0 ! seconds
timeend = 1d0 ! seconds
compP(0,:) = +0.0
!$acc data region copyin(aKo, aK1, ryrgate, compKp, indexKp, compKm, indexKm, isfu, ca_ds, ca_jsr, compP, U_Ro),
!$acc$local(bigC, chiC, chiO, compPdt, indexPdt)
do iouter=1,nouter
do iinner=1,noutincr
Pdtmin = 0.0d0
!$acc region
do i=1, maxnklm+maxnklp-1
do j = 1,N
compPdt(j,i) = 0.0d0
indexPdt(j,i) = 0
enddo
enddo
!$acc end region
!$acc region
do i=1,N
bigc(i) = ca_ds(i)**4/ ((aKo - aK1*ca_jsr(i))**4. + ca_ds(i)**4)
chiC(i) = 1d0 + (ryrgate(i))/N_R
chiO(i) = 1d0 + (N_R-ryrgate(i))/N_R
enddo
!$acc end region
dtmax =-0.1/Pdtmin
dt = min(dtmax,1d-5)
time = time + dt
!$acc region local(flag, aJ_ryr, aJ_efflux, aJ_refill)
do i=1,N
compPdt(i, 1) = compPdt(i, 1) + 1/dt
flag(i) = 1
enddo
!$acc end region
enddo !end inner time loop
!$acc update host(ca_ds)
enddo !end outer time loop
90 continue
!$acc end data region
return
end
|
Q1: could someone tell me why I get the error above?
Q2: using !$acc data region directive to wrap this code
| Code: |
dtmax =-0.1/Pdtmin
dt = min(dtmax,1d-5)
time = time + dt
|
would it be executed on Accelerator while it is not enclosed by any compute region?
Thanks,
Tuan |
|
| Back to top |
|
 |
mkcolg
Joined: 30 Jun 2004 Posts: 4996 Location: The Portland Group Inc.
|
Posted: Mon Jan 25, 2010 9:59 pm Post subject: |
|
|
Hi Tuan,
| Quote: | | Q1: could someone tell me why I get the error above? |
This appears to be a compiler error. I have added a technical problem report (TPR#16535) and sent it to our compiler engineers. Note that this is a severe error so I have given it a very high priority.
| Quote: | Q2: using !$acc data region directive to wrap this code
Code:
dtmax =-0.1/Pdtmin
dt = min(dtmax,1d-5)
time = time + dt
would it be executed on Accelerator while it is not enclosed by any compute region? |
No, this section of code would execute on the host. Data region only control when date is copied to and from the GPU..
Thanks,
Mat |
|
| Back to top |
|
 |
jtull
Joined: 30 Jun 2004 Posts: 234
|
Posted: Wed Mar 17, 2010 3:14 pm Post subject: TPR 16528 Scoping issue causes syntax error |
|
|
We have corrected this problem in the current 10.3 release.
Thanks again for your submission |
|
| Back to top |
|
 |
jtull
Joined: 30 Jun 2004 Posts: 234
|
Posted: Thu Mar 18, 2010 8:01 am Post subject: TPR 16535 ACC: User code causes pgf901 seg fault |
|
|
The problem reported in this forum as TPR 16535 has been corrected in the 10.3 release.
Thanks again for your submission.
regards,
dave |
|
| Back to top |
|
 |
|
|
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 © 2001, 2002 phpBB Group
|