weird ICE when using -Mcuda=maxregcount:160

I’d like to set the maximum number of registers per thread to 16, but whenever I try to compile I get the following error (no matter what value I give to maxregcount):

Note: The %^&*# is standing in for some weird wingding-like characters, and line 212 of code.f is the end of the module that calls the kernel.

$
$ pgfortran -O2 -o test code.f -Mcuda=maxregcount:160
gcc: %^&*# No such file or directory
gcc: warning: '-x c++' after last input file has no effect
gcc: no input files
PGF90-F-0000-Internal compiler error. pgnvd job exited with nonzero status code      0 (code.f: 212)
PGF90/x86-64 Linux 10.2: compilation aborted
$

Every once in a while, twice so far out of probably 100 attempts, it has allowed me to complie without the error, but this did not happen right after changing the reg. count. It happend right after I got the error, using the exact same command that produced the error.

Hi Jim,

This is a known error that only occurred in the 10.2 compiler and was fixed in the 10.3 release. You’ll need to update your compilers to at least 10.3 but I would recommend moving to the newest release, 11.8, since there have been many improvements in CUDA Fortran in the last year and a half.

  • Mat

Okay, thanks Mat!