From b5969ca42d818e2fd2b1ede15ac8c62441544b4f Mon Sep 17 00:00:00 2001
From: Jonathan Peyton The OpenMP subproject of LLVM is intended to contain all of the
- components required to build an executing OpenMP program that are
+ The OpenMP subproject of LLVM contains the
+ components required to build an executable OpenMP program that are
outside the compiler itself.
OpenMP®: Support for the OpenMP language
-
Support for the parts of the OpenMP 4.0 language that are not +
Support for the parts of the OpenMP 4.0 (and later) language that are not associated with the "target" constructs are contained in the "runtime" directory. Support for offloading computation via the "target" directive is in the separate "offload" directory. That builds a library that provides the interfaces for transferring code - and data to an attached computational device. Initial support here - is for the Intel® Xeon Phi coprocessor, but work is - beginning to support other attached computing devices, and the - design is intended to be general. The README.txt in the "offload" + and data to attached computational devices such as + the Intel® Xeon Phi coprocessor or GPUs. + The README.txt in the "offload" directory describes how to build the offload library.
@@ -78,20 +75,38 @@ the license text and associated patent grants. + +With the release of Clang 3.8.0, OpenMP 3.1 support is enabled in + Clang by default, and the OpenMP runtime is therefore built as a + normal part of the Clang build, and distributed with the binary + distributions.You do not, therefore, need explicitly to check out this code, or + build it out of tree; a normal Clang check out and build will + automatically include building these runtime libraries. +
+The runtime can be built with gcc, icc or clang. However, note + that a runtime built with clang cannot be guaranteed to work with + OpenMP code compiled by the other compilers, since clang does not support + a 128-bit float type, and cannot therefore generate the code used + for reductions of that type (which may occur in user code compiled + by the other compilers). +
+The OpenMP runtime is known to work on
The runtime can be built with gcc, icc or clang. However, note - that a runtime built with clang cannot be guaranteed to work with - OpenMP code compiled by the other compilers, since clang does not support - a 128-bit float type, and cannot therefore generate the code used - for reductions of that type (which may occur in user code compiled - by the other compilers). -
- -The University of Houston has kindly contributed their test - suite (in the "testsuite" directory). Integration and use of this - for automatic testing is in progress. -
-