Dear steering committee,

        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.

I am also copy-pasting the header comment from one of the liboffload files.
The header shown below will be in all the source files in liboffload.

Sources can be downloaded from [1].

Additionally to that sources we going to add few headers (released under GPL 
v2.1 license)
and couple of new sources (license in the bottom of the message).

Does this look OK?

[1] - https://www.openmprtl.org/sites/default/files/liboffload_oss.tgz

--
Thanks, K

/*
    Copyright (c) 2014 Intel Corporation.  All Rights Reserved.

    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:

      * Redistributions of source code must retain the above copyright
        notice, this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright
        notice, this list of conditions and the following disclaimer in the
        documentation and/or other materials provided with the distribution.
      * Neither the name of Intel Corporation nor the names of its
        contributors may be used to endorse or promote products derived
        from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
               README for Intel(R) Offload Runtime Library
               ===========================================

How to Build Documentation
==========================

The main documentation is in Doxygen* format, and this distribution
should come with pre-built PDF documentation in doc/Reference.pdf.
However, an HTML version can be built by executing:

% doxygen doc/doxygen/config

in this directory.

That will produce HTML documentation in the doc/doxygen/generated
directory, which can be accessed by pointing a web browser at the
index.html file there.

If you don't have Doxygen installed, you can download it from
www.doxygen.org.


How to Build the Intel(R) Offload Runtime Library
=================================================

The Makefile at the top-level will attempt to detect what it needs to
build the Intel(R) Offload Runtime Library.  To see the default settings,
type:

make info

You can change the Makefile's behavior with the following options:

root_dir:             The path to the top-level directory containing the
                      top-level Makefile.  By default, this will take on the
                      value of the current working directory.

build_dir:            The path to the build directory.  By default, this will
                      take on value [root_dir]/build.

mpss_dir:             The path to the Intel(R) Manycore Platform Software
                      Stack install directory.  By default, this will take on
                      the value of operating system's root directory.

compiler_host:        Which compiler to use for the build of the host part.
                      Defaults to "gcc"*.  Also supports "icc" and "clang"*.
                      You should provide the full path to the compiler or it
                      should be in the user's path.

compiler_host:        Which compiler to use for the build of the target part.
                      Defaults to "gcc"*.  Also supports "icc" and "clang"*.
                      You should provide the full path to the compiler or it
                      should be in the user's path.

options_host:         Additional options for the host compiler.

options_target:       Additional options for the target compiler.

To use any of the options above, simple add <option_name>=<value>.  For
example, if you want to build with icc instead of gcc, type:

make compiler_host=icc compiler_target=icc


Supported RTL Build Configurations
==================================

Supported Architectures: Intel(R) 64, and Intel(R) Many Integrated
Core Architecture

              ---------------------------------------------
              |   icc/icl     |    gcc      |    clang    |
--------------|---------------|---------------------------|
| Linux* OS   |      Yes      |     Yes(1)  |     Yes(1)  |
| OS X*       |       No      |      No     |      No     |
| Windows* OS |       No      |      No     |      No     |
-----------------------------------------------------------

(1) Liboffload requires _rdtsc intrinsic, which may be unsupported by some
    versions of compiler.  In this case you need to include src/rdtsc.h
    manually by using Makefile options options_host and options_target:

    make options_host="-include src/rdtsc.h" options_target="-include 
src/rdtsc.h"

-----------------------------------------------------------------------

Notices
=======

*Other names and brands may be claimed as the property of others.

Reply via email to