pgfortran segfaults when compiling acc (14.1 only)

Hello,

This is a follow up to my previous post involving an error when compiling scalar “kernels” regions:
https://forums.developer.nvidia.com/t/pgi-14-1-fortran-acc-bug-report/133973/1


In that topic, I was advised to use “parallel” in place of “kernels” for scalar device code. This does fix the problem when compiling with PGI 13.6. However when using the latest version of the compiler that I have installed (14.1) I am encountering a new issue: the compiler apparently segfaults while compiling the parallel region in the code (available in this link):
https://drive.google.com/file/d/0B1fu3KCwysj1NkIydVdaWXhZMms/edit?usp=sharing

The error output is:

Stack dump:
0.	Running pass 'Live Variable Analysis' on function '@ldc_explicit_iter_911_gpu'
pgnvd-Fatal-/aoe/pgi/linux86-64/2014/cuda/5.0/nvvm/cicc TERMINATED by signal 11
Arguments to /aoe/pgi/linux86-64/2014/cuda/5.0/nvvm/cicc
/aoe/pgi/linux86-64/2014/cuda/5.0/nvvm/cicc -arch compute_20 -m64 -ftz=0 -prec_div=1 -prec_sqrt=1 -fmad=1 /tmp/pgnvdaYXdaWIyK5Un.i -o /tmp/pgaccNXXd1Yj8FyTH.ptx
PGF90-F-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (solvers.f90: 1)
PGF90/x86-64 Linux 14.1-0: compilation aborted
make: *** [solvers.o] Error 2

Note that the code in the link will compile successfully if I change the parallel back to a kernels but generates incorrect output. If you want any more info about my system setup or compiler installation, I can post that as well.

Thanks,
-Brent

Hi Brent,

I have reproduced this issue with PGI 14.4 here internally. Thanks for sharing your code with us - this is very helpful for debugging the problem. I will file a report and follow up as soon as I have more information.

Best regards,

+chris

Hi Brent,

We have determined that the segfault is actually occurring in the cicc 5.0 component, which is part of the NVIDIA CUDA compiler. (A different group in NVIDIA outside of PGI deals with this.) The PGI compilers use this when generating GPU code for NVIDIA GPUs.

We have determined that your code will compile if you pass -ta=tesla:5.5 to the PGI compiler. Can you try this workaround, and confirm if it works for you?

Best regards,

+chris

Yes, using the flag -ta=tesla:5.5 seems to have fixed the problem.

Thanks,
Brent