Re: OpenACC offload to nvptx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux