Hi again,
a code that compiles and runs OK in the no-OpenACC version, gives the following error when compiled with OpenACC support, and I have no idea how to go about fixing it.
nvvmCompileProgram error: 9.
Error: /tmp/pgaccrJKbZj2FzDs8.gpu (1971, 36): parse '@Faddeeva_w' defined with type '%struct.__dcomplex (%struct.__dcomplex, double)*'
The code calculates de Faddeeva function, and it is the code mentioned in Faddeeva Package - AbInitio.
For ease, I have uploaded the original code (and the changes I did) to FileNurse - Free eBook, PDF and Document Sharing
As it is, if I compile without -acc I get no problems:
[angelv@deimos Fad_MIT]$ pgcc -c -cpp -o fad.o Faddeeva.c
[...]
PGC/x86-64 Linux 18.3-0: compilation completed with warnings
[angelv@deimos Fad_MIT]$
But if I compile with -acc support I get the following:
[angelv@deimos Fad_MIT]$ pgcc -c -cpp -ta=tesla:cc60 -acc -o fad.o Faddeeva.c
[...]
nvvmCompileProgram error: 9.
Error: /tmp/pgaccuode8IXo0OuB.gpu (2002, 36): parse '@Faddeeva_w' defined with type '%struct.__dcomplex (%struct.__dcomplex, double)*'
PGC-S-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (Faddeeva.c: 1)
PGC/x86-64 Linux 18.3-0: compilation completed with severe errors
[angelv@deimos Fad_MIT]$
You can see the few changes that I did to try to get it to compile with PGI and OpenACC by diff’ing Faddeeva_original.cc and Faddeeva_oacc.cc.
I guess this is related to bug FS#25493, which I reported the other day (nvlink error: Prototype doesn't match (Fortran+C + OpenACC)), but not completely sure.
Any idea if/how this can be fixed?
Thanks,
AdV