PGF90-F-0155-Compiler failed to translate accelerator region

Hi all,

during compilation i am getting an error message that I do not understand:

( pgf90   -c -I ../CBS -I /opt/pgi/linux86-64/2014/mpi/mpich/include -Mcuda -Minfo -byteswapio -O2 -Mvect=nosse  -Ktrap=fp -Mr8 -Mprof=lines,mpich -g ../CODE/lwtt_gpu.f )
PGF90-F-0155-Compiler failed to translate accelerator region (see -Minfo messages): Unexpected runtime function call (../CODE/lwtt_gpu.f: 1)

The first lines of my subroutine are like this:

      attributes(global) SUBROUTINE LWTT_GPU (KLON,KAER,KCFC,
     &                                    PGA,PGB,PGC,PGD,PUU,PTT)

Thanks for you help.

Hi AClimate,

The error means that a runtime call that’s not supported on the GPU is somehow being inserted into your kernel. Exactly what that function call is, I’m not sure.

The first thing to try is removing the “-Ktrap” and “-Mprof” flags. They shouldn’t be inserting any calls into GPU code, but if they are, we’ll want to correct that.

Can you either post or send to PGI Customer Service (trs@pgroup.com) a reproducing example?

Thanks,
Mat

Thanks Mat,

i reduced the subroutine and found the problematic line:

      attributes(global) SUBROUTINE LWTT_GPU (KLON)
      USE CUDAFOR

      REAL ZTTNC(KLON)
 
      ZTTNC(1)=1
      
      END

Problem was a syntax error in the declaration of ZTTNC.

Changing it to

      attributes(global) SUBROUTINE LWTT_GPU (KLON)
      USE CUDAFOR

      REAL :: ZTTNC(KLON)
 
      ZTTNC(1)=1
      
      END

leads to a new error message, that has nothing to do with this topic, so I will open a new topic.

Thanks
AClimate