Re: [opensuse-factory] gcc 5.0 and offload
On Wed, 20 May 2015, Alin Marin Elena wrote:
Hi Richard,
Any progress or any need of help on this?
There is still no hardware available where I could test anything so I'm currently not wasting time to figure out how to just get something compiled. If you'd like to help with this that would be great. I'd add offloading sub-packages to the gcc package (on selected host architectures only) and basically compile & install gcc multiple times. It's going to be interesting (eventually) to not mess up the already complicated spec file too much... Another approach would be to compile the offload compilers separately via the existing cross-spec.in machinery, adding another "variant". That would be more friendly to factory bootstrap times. We can add --enable-offload-targets=x86_64-intelmicemul-linux-gnu=$install_dir/usr to the main compiler (on some host architectures), but I'd prefer to install the offload compiler beyond %{libsubdir}. Richard.
regards, Alin
Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elena.space/ <http://alin.elenaworld.net/> ______________________________________________________________________
On 25 February 2015 at 09:28, Alin Marin Elena <alinm.elena@gmail.com> wrote:
By the this is the way I built it.
install_dir=/ichec/packages/gcc/5.0.0-s20150222
mkdir -p build-fionn-phi pushd build-fionn-phi rm -rf * ../configure --build=x86_64-intelmicemul-linux-gnu --host=x86_64-intelmicemul-linux-gnu \ --target=x86_64-intelmicemul-linux-gnu --enable-as-accelerator-for=x86_64-suse-linux \ --with-pkgversion=ichec --enable-languages=c,c++,fortran --disable-libgcj \ --enable-__cxa_atexit --enable-libstdcxx-allocator=new --prefix=/usr
make -j40 make install DESTDIR=$install_dir popd
mkdir -p build-fionn-host pushd build-fionn-host rm -rf *
../configure --enable-languages=c,c++,fortran \ --enable-__cxa_atexit --enable-libstdcxx-allocator=new --with-pkgversion=ichec \ --disable-libgcj --build=x86_64-suse-linux --host=x86_64-suse-linux \ --enable-offload-targets=x86_64-intelmicemul-linux-gnu=$install_dir/usr --prefix=/usr
make -j 40 make install DESTDIR=$install_dir popd
Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elenaworld.net/ ______________________________________________________________________
On 25 February 2015 at 09:24, Alin Marin Elena <alinm.elena@gmail.com> wrote:
Hi Richard,
you are right, got a little bit fouled by the documentation. I have built it on a machine with hardware but somehow I failed., to build code... I may have messed up the paths.
[alin@fionn2:~]: gcc -o hello_v2.X acratus/courses/xeonphi/hands/code/01-hello/c/hello_v2.c -fopenmp mkoffload-intelmic: fatal error: offload compiler x86_64-suse-linux-accel-x86_64-intelmicemul-linux-gnu-gcc not found compilation terminated. lto-wrapper: fatal error:
/ichec/home/packages/gcc/5.0.0-s20150222/usr/bin/../libexec/gcc/x86_64-suse-linux/5.0.0//accel/x86_64-intelmicemul-linux-gnu/mkofflo
ad returned 1 exit status compilation terminated. /usr/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status
My understanding is that at least the emulated bit shall work, xeon phi, no idea about nvidia.
regards, Alin Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elenaworld.net/ ______________________________________________________________________
On 25 February 2015 at 09:13, Richard Biener <rguenther@suse.de> wrote:
On Tue, 24 Feb 2015, Alin Marin Elena wrote:
Hi All,
gcc 5.0 supports offload nowadays... for xeon phi.
https://gcc.gnu.org/wiki/Offloading
is there any chance to get it into our gcc 5.0 package, the procedure seems pretty straightforward?
The procedure is exactly not pretty straightforward. I'm currently waiting for hardware to be able to test it and then, if time permits, try to package the offloading stuff (similar for NVPTX offloading).
Richard.
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Dilip Upmanyu, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi Richard, Good news, I have managed to build&run successfully a light version of gcc 5.1.0 with intel offload. Run it (which is the tricky bit.. or was) The bad news is that at the moment seems to be no hardware on which you can run... you can use the emulator only... "OpenMP to Intel MIC targets (upcoming Intel Xeon Phi products codenamed KNL) as well as MIC emulation on host." [1] The bad is not bad till the end since now there is no need for hardware waiting. I attached the script I used. on the openacc front I did not look into the process. regards, Alin [1] https://gcc.gnu.org/wiki/Offloading Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elena.space/ ______________________________________________________________________ On 20 May 2015 at 09:41, Richard Biener <rguenther@suse.de> wrote:
On Wed, 20 May 2015, Alin Marin Elena wrote:
Hi Richard,
Any progress or any need of help on this?
There is still no hardware available where I could test anything so I'm currently not wasting time to figure out how to just get something compiled.
If you'd like to help with this that would be great. I'd add offloading sub-packages to the gcc package (on selected host architectures only) and basically compile & install gcc multiple times. It's going to be interesting (eventually) to not mess up the already complicated spec file too much...
Another approach would be to compile the offload compilers separately via the existing cross-spec.in machinery, adding another "variant". That would be more friendly to factory bootstrap times.
We can add
--enable-offload-targets=x86_64-intelmicemul-linux-gnu=$install_dir/usr
to the main compiler (on some host architectures), but I'd prefer to install the offload compiler beyond %{libsubdir}.
Richard.
regards, Alin
Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elena.space/ <http://alin.elenaworld.net/> ______________________________________________________________________
On 25 February 2015 at 09:28, Alin Marin Elena <alinm.elena@gmail.com> wrote:
By the this is the way I built it.
install_dir=/ichec/packages/gcc/5.0.0-s20150222
mkdir -p build-fionn-phi pushd build-fionn-phi rm -rf * ../configure --build=x86_64-intelmicemul-linux-gnu --host=x86_64-intelmicemul-linux-gnu \ --target=x86_64-intelmicemul-linux-gnu --enable-as-accelerator-for=x86_64-suse-linux \ --with-pkgversion=ichec --enable-languages=c,c++,fortran --disable-libgcj \ --enable-__cxa_atexit --enable-libstdcxx-allocator=new --prefix=/usr
make -j40 make install DESTDIR=$install_dir popd
mkdir -p build-fionn-host pushd build-fionn-host rm -rf *
../configure --enable-languages=c,c++,fortran \ --enable-__cxa_atexit --enable-libstdcxx-allocator=new --with-pkgversion=ichec \ --disable-libgcj --build=x86_64-suse-linux --host=x86_64-suse-linux \ --enable-offload-targets=x86_64-intelmicemul-linux-gnu=$install_dir/usr --prefix=/usr
make -j 40 make install DESTDIR=$install_dir popd
Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elenaworld.net/ ______________________________________________________________________
On 25 February 2015 at 09:24, Alin Marin Elena <alinm.elena@gmail.com> wrote:
Hi Richard,
you are right, got a little bit fouled by the documentation. I have built it on a machine with hardware but somehow I failed., to build code... I may have messed up the paths.
[alin@fionn2:~]: gcc -o hello_v2.X acratus/courses/xeonphi/hands/code/01-hello/c/hello_v2.c -fopenmp mkoffload-intelmic: fatal error: offload compiler x86_64-suse-linux-accel-x86_64-intelmicemul-linux-gnu-gcc not found compilation terminated. lto-wrapper: fatal error:
/ichec/home/packages/gcc/5.0.0-s20150222/usr/bin/../libexec/gcc/x86_64-suse-linux/5.0.0//accel/x86_64-intelmicemul-linux-gnu/mkofflo
ad returned 1 exit status compilation terminated. /usr/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status
My understanding is that at least the emulated bit shall work, xeon phi, no idea about nvidia.
regards, Alin Without Questions there are no Answers! ______________________________________________________________________ Dr. Alin Marin ELENA http://alin.elenaworld.net/ ______________________________________________________________________
On 25 February 2015 at 09:13, Richard Biener <rguenther@suse.de> wrote:
On Tue, 24 Feb 2015, Alin Marin Elena wrote:
Hi All,
gcc 5.0 supports offload nowadays... for xeon phi.
https://gcc.gnu.org/wiki/Offloading
is there any chance to get it into our gcc 5.0 package, the procedure seems pretty straightforward?
The procedure is exactly not pretty straightforward. I'm currently waiting for hardware to be able to test it and then, if time permits, try to package the offloading stuff (similar for NVPTX offloading).
Richard.
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)
-- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Dilip Upmanyu, Graham Norton, HRB 21284 (AG Nuernberg)
participants (2)
-
Alin Marin Elena
-
Richard Biener