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