Hello,
We are currently testing PGI Accelerator to see if it can help us improve our computation time, but we are getting this error message:
[...omitted output]
909, Loop is parallelizable
909, Conditional loop will be executed in scalar mode
Loop carried dependence due to exposed use of ..inline(:,:),..inline(:) prevents parallelization
Complex loop carried dependence of ..inline prevents parallelization
PGF90-S-0155-Procedures called in a compute region must have acc routine information: pgf90_copy_f77_argsl (abis_dll.f03: 1469)
PGF90-S-0155-Procedures called in a compute region must have acc routine information: pgf90_copy_f77_argsl (abis_dll.f03: 1458)
PGF90-S-0155-Procedures called in a compute region must have acc routine information: pgf90_copy_f77_argsl (abis_dll.f03: 1434)
PGF90-S-0155-Kernel region ignored; see -Minfo messages (abis_dll.f03)
sea:
1434, Accelerator restriction: call to 'pgf90_copy_f77_argsl' with no acc routine information
1458, Accelerator restriction: call to 'pgf90_copy_f77_argsl' with no acc routine information
1469, Accelerator restriction: call to 'pgf90_copy_f77_argsl' with no acc routine information
0 inform, 0 warnings, 4 severes, 0 fatal for sea
Here a extract of the code where the error occur
r(1:3,n) = vectoriel(t(1:3,n),at(1:3,n)) ! <- line 1425
u(1:3,n) = vectoriel(t(1:3,n),f(1:3,n))
do i=n-1,1,-1
j=i+1
h=(s(j)-s(i))*pl(j)
hfl=0.5d0*(s(j)-s(i))*ffl
do k=1,3
at(k,i)=at(k,j)+(f(k,i)+h*gr(k)+hfl*(fl(k,i)+fl(k,j)))
end do
r(1:3,i) = vectoriel(t(1:3,i),at(1:3,i)) ! <- line 1434
u(1:3,i) = vectoriel(t(1:3,i),f(1:3,i))
end do
As you can see the instructrion line 1434 is almost the same as line 1425, which do not rise a error.
Here the vectoriel function:
pure function vectoriel(x,y) result(v)
!$acc routine
implicit none
real*8, dimension(3), intent(in) :: x,y
real*8, dimension(3) :: v
v(1)=x(2)*y(3)-x(3)*y(2)
v(2)=x(3)*y(1)-x(1)*y(3)
v(3)=x(1)*y(2)-x(2)*y(1)
end function
The file is compile with .f03 extension, using this command line:
FCFLAGS = -fast -Minline,reshape -Minfo=accel -m64 -tp=x64
ACCFLAGS = -acc -ta=tesla,host
$(FC) $(FCFLAGS) $(ACCFLAGS) -c app.f03 app.$(OBJ)
$(FC) $(FCFLAGS) $(ACCFLAGS) -o app.$(EXE) app.$(OBJ)
If anyone have a idea of the problem, I would greatly appreciate it.
The trial is almost over and we’d like to have a working prototype to decide if we want to buy a license or not.
Thank you.
Alex.