Encounted a compiling error using PGI 20


  I am having a compiling error using PGI 20. I am not sure why I get this as I can successfully compile my code using PGI 17.5. The error is:

[ 90%] Building Fortran object CMakeFiles/libsensei.dir/src/io/force_output.F90.o
[ 90%] Building Fortran object CMakeFiles/libsensei.dir/src/math/truncation.f90.o
[ 91%] Building Fortran object CMakeFiles/libsensei.dir/src/mms/mms_simple_quadratic_functions.f90.o
[ 91%] Building Fortran object CMakeFiles/libsensei.dir/src/parallel/setup_acc.F90.o
[ 92%] Building Fortran object CMakeFiles/libsensei.dir/src/sensei_routines.F90.o
[ 93%] Building Fortran object CMakeFiles/libsensei.dir/src/tuning/tuning_namelist.F90.o
[ 94%] Building Fortran object CMakeFiles/libsensei.dir/src/multiquad/curtis_clenshaw.f90.o
[ 94%] Building Fortran object CMakeFiles/libsensei.dir/src/tuning/tuning_output.f90.o
NVFORTRAN-F-0000-Internal compiler error. insert_sym: bad hash 11204 (/home/weich97/SENSEI-old/src/sensei_routines.F90: 2464)
NVFORTRAN/x86-64 Linux 20.11-0: compilation aborted
make[2]: *** [CMakeFiles/libsensei.dir/src/sensei_routines.F90.o] Error 2
make[2]: *** Waiting for unfinished jobs…
make[1]: *** [CMakeFiles/libsensei.dir/all] Error 2
make: *** [all] Error 2

 Thanks very much!

It looks like a compiler error. Can you provide a reproducing example so I can submit an issue to our engineers?

Hi Mat,

 It would be very difficult to reproduce the error (neither can I release the code since it is a research code and it is very large), as the line where the error pointing to is just a "continue" statement and I really cannot see any errors around there. I do not know what may cause this error so I cannot reproduce it. This code uses PGI and CMake and it falied. For another code which does not use CMake (but using MPI and OpenACC), I can compile and run that code sucussfully. It is very weird. Do you think an earlier version of PGI would work?

real(dp), allocatable, dimension(:) :: eps_col, prod_array
real(dp), allocatable, dimension(:,:,:,:) :: soln_array

continue  ! this is the line where the compilation error is

neq = size(sblock%rhs,1)
ic  = size(sblock%rho(:,1,1)) - 2*ng(1)
jc  = size(sblock%rho(1,:,1)) - 2*ng(2)
kc  = 1


Unfortunately this is a fairly generic error . It’s mostly like not even related to this particular line number. The compiler could be tripping up someplace else, going down a bad path until it eventually emits this error. Difficult to tell without a compiler engineer digging into it.

We wouldn’t need the full code, just enough to reproduce the error. Would the project lead allow you to send a portion of the code? I can email you directly as well so you don’t need to post the code publicly.

Do you think an earlier version of PGI would work?

Maybe? If it’s a regression and you have access to older version of the compiler you can certainly try it as a work around but we’d still like to get a reproducer so we can fix the problem.

Hi Mat,

 Thanks very much for your advice! I can send a portion of the code. My address is weich97@vt.edu (or you can send me an e-mail address to which I can send the code). I tried pgi/17.5 and it worked well, but not for pgi/20.11. A journal reviewer asked me to use an up-to-date PGI compiler version so I sought to use 20.11. But now it seems 20.11 is not working so I am not sure what version between 17.5 and 20.11 that I can use. 

Best Regards,


FYI, Weicheng was able to get me an example. The error is a regression starting with the 20.1 compilers. I have created a problem report, TPR#29622, and sent it to engineer for further review.