Hello,
I would like to announce creation of a dedicated branch gomp4-offload to speed 
up review of FE-independent offload-related features.

This branch includes:
     - set of necessary patches from gomp4 branch
     - set of patches which we were developed internally and were unable to 
share
     - yet to be checked-into-trunk `liboffloadmic'
       (review started here: 
https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02133.html)
     - 10 new tests for offload written using OpenMP4, which replicates 
`OpenMP4 examples'

This branch should be capable to perform offload to Intel targets (Xeon PHI)
to help people to perform experiments emulator of MIC's software stack is 
included.
This emulator lies under `liboffloadmic' and reproduces MIC's HW and SW stack 
behavior
allowing to perform non-fallback execution of target regions using the host 
machine.
We're going to start efforts to review and integrate these changes to GCC main 
trunk.

We appreciate your feedback!
Many changes are vexed, especially autogen-related since we're dummies here.
Currently bootstrap is broken (because of few warnings) and will be fixed soon.

Here is a manual describing how to build compiler and run OpenMP offload apps:
1. Building accel compiler:
   /gcc_src/configure --disable-bootstrap --enable-accelerator=intelmic 
--enable-as-accelerator-for=x86_64-unknown-linux-gnu 
--enable-liboffloadmic=target --prefix=/install_mic
   make
   make install

2. Building host compiler:
   export LIBOFFLOAD_TARGET_PATH="/install_mic/lib64"
   /gcc_src/configure --disable-bootstrap --enable-accelerator=intelmic 
--enable-liboffloadmic=host --prefix=/install_host
   make
   make install

3. Building an application:
   export LD_LIBRARY_PATH="/install_host/lib64"
   export 
MKOFFLOAD="/install_mic/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/accel/x86_64-unknown-linux-gnu/mkoffload"
   /install_host/bin/gcc -fopenmp -flto test.c

4. Running an application:
   export 
LIBGOMP_PLUGIN_PATH="/gcc_build/x86_64-unknown-linux-gnu/libgomp/plugins/intelmic"
   export MIC_LD_LIBRARY_PATH="/install_mic/lib64/"
   ./a.out

5. make check. Run tests (w/ emulator)
   export LD_LIBRARY_PATH="/install_host/lib64"
   export 
MKOFFLOAD="/install_mic/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/accel/x86_64-unknown-linux-gnu/mkoffload"
   export 
LIBGOMP_PLUGIN_PATH="/gcc_build/x86_64-unknown-linux-gnu/libgomp/plugins/intelmic"
   export MIC_LD_LIBRARY_PATH="/install_mic/lib64/"
   make check-target-libgomp

Do not delete build dir of the host compiler, since 'make install' for libgomp 
plugin is not working yet.
Also there might be an issue with building libgomp plugin when using relative 
path to the 'configure'.

It is GIT-only branch, name is: kyukhin/gomp4-offload
URL: 
https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/kyukhin/gomp4-offload

--
Thanks, K

Reply via email to