On Wed, Apr 27, 2016 at 5:41 PM, Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx> wrote: > Hi! > > On Tue, 26 Apr 2016 09:30:04 +0100, Salvatore Filippone <filippone.salvatore@xxxxxxxxx> wrote: >> I seem unable to get this to work: I managed to build and install >> trunk using the trunk-offload-big scripts by Thomas Schwinge > > (As published on > <https://gcc.gnu.org/wiki/Offloading#How_to_try_offloading_enabled_GCC>, > I suppose.) Do your libgomp test results > (build-gcc/x86_64-pc-linux-gnu/libgomp/testsuite/libgomp.sum) look > reasonable? That is, are you seeing in there about 2800 lines that match > the "^PASS: libgomp\.oacc-.* -DACC_DEVICE_TYPE_nvidia=1" regular > expression? > >> and have >> been trying the test program at >> http://scelementary.com/2015/04/25/openacc-in-gcc.html, with the >> following result: >> e802756@sow768056c-li [128] 09:21 AM [OPENACC] gcc pi.c -fopenacc >> -foffload=nvptx-none -foffload="-O3" -O3 -o gpu.x >> gcc: warning: '-x lto' after last input file has no effect >> gcc: fatal error: no input files >> compilation terminated. >> lto-wrapper: fatal error: gcc returned 1 exit status >> compilation terminated. >> collect2: fatal error: lto-wrapper returned 1 exit status >> compilation terminated. > > Certainly not a very helpful error message... :-) > >> e802756@sow768056c-li [129] 09:21 AM [OPENACC] module li >> Currently Loaded Modulefiles: >> 1) gnu/7.0.0-acc > > I don't know what that "module" stuff is, but I think I have an idea what > the problem might be: if you want to use the plain "gcc" command with > offloading (without setting up a lot of "-B" paths), you'll have to > configure the target and all offloading compilers to install into the > same prefix -- which my scripts (intentionally) are not doing. (The > reason is that the installation of several toolchains into the same > prefix will trample upon some of each other's files, which we have not > yet sorted out properly. It probably won't do any actual harm, but I > wanted to avoid that anyway. I have some ideas about how to > improve/resolve that.) > The "module" is from environment-modules, which manages PATH and other env var, this is necessary as I keep around many different versions of gcc/mpich/others. So, what I wanted to do was to install everything in the same prefix to handle it just like all the other *normal* GCC versions, but apparently I got something wrong. I will redo everything installing and referring to a given INSTALL path (in my case /opt/gnu/7.0.0-acc) and see what I get. Will keep you posted thanks Salvatore > If you modify the BUILD-nvptx-tools, BUILD-gcc-offload-nvptx-none, > INSTALL-gcc-offload-nvptx-none, > INSTALL-gcc-offload-x86_64-intelmicemul-linux-gnu, and BUILD-gcc scripts > to refer to "$T"/install instead of "$T"/install/offload-nvptx-none, and > also to "$T"/install instead of > "$T"/install/offload-x86_64-intelmicemul-linux-gnu, and rebuild > everything, does it then work? > >> e802756@sow768056c-li [130] 09:21 AM [OPENACC] gcc -v >> Using built-in specs. >> COLLECT_GCC=gcc >> COLLECT_LTO_WRAPPER=/opt/gnu/7.0.0-acc/bin/../libexec/gcc/x86_64-pc-linux-gnu/7.0.0/lto-wrapper >> OFFLOAD_TARGET_NAMES=nvptx-none >> Target: x86_64-pc-linux-gnu >> Configured with: >> /home/travel/GCC/BUILDS/TRY-offload/source/gcc/configure --prefix= >> --disable-bootstrap --enable-languages=c,c++,fortran,lto >> --disable-multilib >> --enable-offload-targets=nvptx-none=/opt/gnu/7.0.0-acc >> --with-cuda-driver-include=/opt/cuda/7.5/include >> --with-cuda-driver-lib=/usr/lib64/nvidia CC='gcc -m64' CXX='g++ -m64' >> --with-sysroot= >> Thread model: posix >> gcc version 7.0.0 20160425 (experimental) (GCC) > > Part of the problem is that the path specified with > --enable-offload-targets=nvptx-none=[...] is only used for internal > testing (libgomp testsuite), but is not considered for use for the > installed compiler. (It's a bit compplicated to do that.) > > > Grüße > Thomas