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