OpenACC c++ code doesn't compile on new pgi 2015 release

Hi,

I have a OpenACC c++ code which compiles on pgi 14.10 but doesn’t compile on 15.1 and 15.3. I get the following errors when I compiled on 2015 releases:

CMatrix2D::variance():
    529, Generating acc nvvmCompileProgram error: 9.
Error: C:\temp\pgacc2aKmfbSrUdj1kM.gpu (95, 13): parse error: use of undefined value '%_BB_4'
pgnvd-Fatal-Could not spawn C:\PROGRA~1\PGI\win64\15.3\bin\pgnvvm.exe
routine seq
         Generating Tesla code
CMatrix2D::init(const CMatrix2D &):
    105, Generating acc routine seq
         Generating Tesla code
 C:\PROGRA~1\PGI/win64/15.3/bin/pgnvd -usenvvm -reloc C:\temp\pgacc2aKmfbSrUdj1kM.gpu -computecap=20 -ptx C:\temp\pgacc4cKmfbSyKrxkT-.ptx -o C:\temp\pgacc5demfbmEhG0Awd.bin -ftz -cuda6.0
PGCC-S-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (./MTL/Matrix2D.cpp: 1)
PGCC/x86-64 Windows 15.3-0: compilation completed with severe errors
xc00 -x 176 0x100 -x 186 0x20000 -x 176 0x100 -x 176 0x100 -x 189 4 -x 194 0x40000 -x 189 0x800 -x 194 0x01 -x 194 0x02 -x 186 0x80000 -x 180 0x400 -x 180 0x4000000 -x 121 0xc00 -x 189 0x8000 -y 163 0xc0000000 -x 189 0x10 -y 189 0x4000000 -x 9 1 -x 42 0x14200000 -x 72 0x1 -x 136 0x11 -quad -x 119 0x10000000 -x 129 0x40000000 -x 129 2 -x 164 0x1000 -x 161 16384 -x 162 16384 -x 0 0x2000000 -x 0 0x1000000 -x 2 0x100000 -x 0 0x2000000 -x 161 16384 -x 162 16384 -x 69 0x200 -cmdline "+pgcpp C:\temp\pgcpp628z06blJx8gguz.il -v -fast -Mvect=sse -Mcache_align -Mflushz -Mpre -ta=nvidia -Mneginfo=acc -Minfo=accel -acc --c++0x -Wc,--old_for_init -L./bin/ -lMTL.lib -I. -I./MTL -I./CNNmanager -I./CNNlib -o./bin/CNNTestApp.exe" -asm C:\temp\pgcpp639H06bJ8ZpUbPg.sm
pgcpp-Fatal-cpp2 completed with exit code 1

The code is so large that I cannot post here. Do you have any idea what could be the problem?

Best Regards,

Hi hyuzuguzel,

This is a generic compiler error meaning that LLVM compilation failed for some reason. We switched to using a LLVM device code generator by default in 15.1 and probably why you don’t see it in 14.10. Try using “-ta=tesla:nollvm” to see if this works around the error.

Since the code is too big to post, can you please send a reproducing example to PGI Customer Service (trs@pgroup.com)?

Thanks!
Mat

Hi Mat,

Thanks for the answer. -ta:tesla:nollvm prevented that error and now the program compiles.

Best Regards,