Hello, On 19 May 16:53, Kirill Yukhin wrote: > Hello Ian, > On 16 May 07:07, Ian Lance Taylor wrote: > > On Fri, May 16, 2014 at 4:47 AM, Kirill Yukhin <kirill.yuk...@gmail.com> > > wrote: > > > > > > To support the offloading features for Intel's Xeon Phi cards > > > we need to add a foreign library (liboffload) into the gcc repository. > > > README with build instructions is attached. > > > > Can you explain why this library should be part of GCC, and how GCC > > would use it? I'm sure it's obvious to you but it's not obvious to > > me. > The ‘target’ clause of OpenMP 4.0 aka ‘offloading’ support is expected to be > a part of > libgomp. Every target platform that will be supported should implement a > dedicated > plugin for libgomp. The plugin for Xeon PHI is based on the liboffload > functionality. > This library also will provide compatibility for binaries built with ICC.
Hello, Let me provide some tech details. This library is compiler-specific library, whose origin goes to ICC. We think that as far as this library is a compiler-related, it is better to put it in GCC source tree. Also, we plan to accompany this library with an emulator of lower level interface. Having such a library and an emulator, we’ll eliminate all external dependencies for offloading to work. So, it will be possible to do `make check’ for offload tests w/o need to link in any external libraries, no offload HW will be needed as well. The intended use of this library as follows. Implementation of libgomp’s interface routines for offload (like `GOMP_target’) will call target-dependent part of the library. This part (for COI-capable software stacks) will call liboffload routines to perform any offload-related tasks. This library is used by ICC and we plan to use it for offloading in LLVM as well. That will make sure that offloading features for these compiler will be binary compatible. The library is going to be built as shared object. -- Thanks, K