https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71959
Bug ID: 71959
Summary: [OpenACC] #pragma acc parallel leads to segfault in
x86_64-pc-linux-gnu-accel-nvptx-none-gcc
Product: gcc
Version: 6.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: christopher.guc...@torq-dev.de
Target Milestone: ---
Created attachment 38947
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38947&action=edit
Source files and -save-temps files
I'm trying to modify libstdc++ by adding GPU offloaded code in omp_loop.h (my
version attached). I test the code using the attached measureParallel.cpp file.
Compiling the code using the following command:
> g++ -v -save-temps -Wall -Wextra measureParallel.cpp -D_GLIBCXX_PARALLEL
> -lpthread -fopenacc -foffload=nvptx-none -foffload="-O3" -O3 -o
> measureParallel.autotuned
gives me the following output:
> Using built-in specs.
> COLLECT_GCC=g++
> COLLECT_LTO_WRAPPER=/home/thonfeld.net/chris/git/gcc
> offload/install/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.1.0/lto-wrapper
> OFFLOAD_TARGET_NAMES=nvptx-none
> Target: x86_64-pc-linux-gnu
> Configured with:
> /home/thonfeld.net/chris/git/gcc-offload/source/gcc-6.1.0/configure --prefix=
> --disable-bootstrap --enable-languages=c,c++,fortran,lto --disable-multilib
> --enable-offload-targets=nvptx-none=/home/thonfeld.net/chris/git/gcc-offload/install
> --with-cuda-driver-include=/include CC='gcc -m64' CXX='g++ -m64'
> --with-sysroot= : (reconfigured)
> /home/thonfeld.net/chris/git/gcc-offload/source/gcc-6.1.0/configure --prefix=
> --disable-bootstrap --enable-languages=c,c++,fortran,lto --disable-multilib
> --enable-offload-targets=nvptx-none=/home/thonfeld.net/chris/git/gcc-offload/install
> --with-cuda-driver-include=/include CC='gcc -m64' CXX='g++ -m64'
> --with-sysroot=
> Thread model: posix
> gcc version 6.1.0 (GCC)
> COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-Wextra' '-D'
> '_GLIBCXX_PARALLEL' '-fopenacc' '-foffload=nvptx-none' '-foffload=-O3' '-O3'
> '-o' 'measureParallel.autotuned' '-shared-libgcc' '-mtune=generic'
> '-march=x86-64' '-pthread'
>
> /home/thonfeld.net/chris/git/gcc-offload/install/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.1.0/cc1plus
> -E -quiet -v -imultiarch x86_64-linux-gnu -iprefix
> /home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/
> -D_GNU_SOURCE -D_REENTRANT -D_GLIBCXX_PARALLEL measureParallel.cpp
> -mtune=generic -march=x86-64 -Wall -Wextra -fopenacc -foffload=nvptx-none
> -foffload=-O3 -O3 -fpch-preprocess -o measureParallel.ii
> ignoring nonexistent directory
> "/home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../x86_64-pc-linux-gnu/include"
> ignoring nonexistent directory
> "/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../include/c++/6.1.0"
> ignoring nonexistent directory
> "/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../include/c++/6.1.0/x86_64-pc-linux-gnu"
> ignoring nonexistent directory
> "/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../include/c++/6.1.0/backward"
> ignoring duplicate directory
> "/home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/6.1.0/include"
> ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
> ignoring duplicate directory
> "/home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/6.1.0/include-fixed"
> ignoring nonexistent directory
> "/home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../x86_64-pc-linux-gnu/include"
> #include "..." search starts here:
> #include <...> search starts here:
>
> /home/thonfeld.net/chris/git/masterarbeit-chris/code/submodules/libtuning/include
>
> /home/thonfeld.net/chris/git/gcc-offload/install/include/c++/6.1.0/x86_64-pc-linux-gnu
> /home/thonfeld.net/chris/git/gcc-offload/install/include/c++/6.1.0
> .
>
> /home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/include
>
> /home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/include-fixed
> /usr/local/include
> /home/thonfeld.net/chris/git/gcc-offload/install/bin/../lib/gcc/../../include
> /usr/include/x86_64-linux-g