This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Offload Library


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.yukhin@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]