forked from OSchip/llvm-project
130 lines
4.9 KiB
Plaintext
Executable File
130 lines
4.9 KiB
Plaintext
Executable File
|
|
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.
|
|
|
|
|
|
Software Requirements
|
|
=====================
|
|
|
|
Intel(R) Offload Runtime Library requires additional software:
|
|
|
|
1) Intel(R) OpenMP* Runtime Library. You can either download the source
|
|
code for that (from openmprtl.org or openmp.llvm.org) or simply use the
|
|
compiled version distributed with the Intel compilers.
|
|
2) Intel(R) COI Runtime Library and Intel(R) MYO Runtime Library. These
|
|
libraries are part of Intel(R) Manycore Platform Software Stack (MPSS). You
|
|
can download MPSS source code or binaries from
|
|
software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss.
|
|
Binaries include host libraries for Intel(R) 64 Architecture and target
|
|
libraries for Intel(R) Many Integrated Core Architecture.
|
|
|
|
Also you will require all of the libraries that enable the target code to run
|
|
on device. If you target the Intel(R) Xeon Phi (TM) coprocessor, these
|
|
libraries can be taken from MPSS too.
|
|
|
|
|
|
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.
|
|
|
|
libiomp_host_dir: The path to the host Intel(R) OpenMP* Runtime Library.
|
|
This option is required when the host compiler is other
|
|
than icc.
|
|
|
|
libiomp_target_dir: The path to the target Intel(R) OpenMP* Runtime
|
|
Library. This option is required when the target
|
|
compiler is other than icc.
|
|
|
|
omp_header_dir: The path to the header file <omp.h> of Intel(R) OpenMP*
|
|
Runtime Library. This option is required if either host
|
|
or target compiler is other than icc.
|
|
|
|
os_host: Operating system on host. Currently supports only
|
|
"linux" which is set by default.
|
|
|
|
os_target: Operating system on target device. Currently supports
|
|
only "linux" which is set by default.
|
|
|
|
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.
|