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