compiler can't generate code for cc11

Compiling fails with error

make
pgf95 -g -O0 -Mcuda=cc11 -ta=nvidia:cc11 -tp=amd64 -Minfo -DCUDA -module …/module -c fldpki_acc.for
fldpku:
61, CUDA kernel generated
61, !$cuf kernel do <<< (*), (32) >>>
PGF90-S-0155-No valid compute capability generated (fldpki_acc.for)
0 inform, 0 warnings, 1 severes, 0 fatal for X.sqrt
make: *** [fldpki_acc.o] 2

when trying to build source

      Subroutine FLDPKU(F,H,NN,MM)
      use pkidat
      real, device :: H(2,KK1SO2,KK2), F(2,KK1SO2,KK2)
!$cuf kernel do(1) <<< *, 8>>>
      DO 220 J=1,MM
      H(1,1,J)=(P1F(J,1)) *F(1,1,J)      
 220  CONTINUE
      END

For default compute capabilities, code builds normally.
All values are real, so single-precision.

Hi Senya,

Is the “P1F” array declared in a separate module? Using device data found in an external module requires a device with compute capability 2.0 or above. CC1.x devices lack support that allow for runtime checks that we use to perform the runtime device data look-up.

  • Mat

Thanks for answer.