power of complex argument triggers an ICE


One more issue with pgf90 CUDA complex implementation:

$ cat oops.f90
module foo
attributes(device) subroutine doom(x,n,y)
complex(8), intent(in) :: x
integer, intent(in) :: n
complex(8), intent(out) :: y
y = x**n
end subroutine doom
end module foo
$ pgf90 -Mcuda oops.f90
PGF90-S-0000-Internal compiler error. unsupported procedure 324 (oops.f90: 9)
0 inform, 0 warnings, 1 severes, 0 fatal for doom
$ pgf90 -V

pgf90 10.9-0 64-bit target on x86-64 Linux -tp nehalem-64

It sure starts to look like complex data type support is more than a little iffy …



Hi Serguei,

You are correct that the initial release of CUDA Fortran lacks full support for Complex. These are know issues that will be addressed in the up-coming 2011 release.

We appreciate your interest and patience as we continue to improve CUDA Fortran.

Best Regards,