llvm-project/openmp/offload
Andrey Churbanov 8389e235e9 Liboffload: Patch for MPSS > 3.4.x (provided by Tim Cramer)
llvm-svn: 236588
2015-05-06 10:58:40 +00:00
..
doc
src Liboffload: Patch for MPSS > 3.4.x (provided by Tim Cramer) 2015-05-06 10:58:40 +00:00
Makefile Liboffload: Patch for MPSS > 3.4.x (provided by Tim Cramer) 2015-05-06 10:58:40 +00:00
README.txt

README.txt

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.



	       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.