Mercurial > hg > CbC > CbC_llvm
diff openmp/www/index.html @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/openmp/www/index.html Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,227 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" + "http://www.w3.org/TR/html4/strict.dtd"> +<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ --> +<html> +<head> + <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> + <title>OpenMP* : Support for the OpenMP language</title> + <link type="text/css" rel="stylesheet" href="menu.css"> + <link type="text/css" rel="stylesheet" href="content.css"> +</head> + +<body> +<div id="menu"> + <div> + <a href="https://llvm.org/">LLVM Home</a> + </div> + + <div class="submenu"> + <label>OpenMP Info</label> + <a href="/index.html">About</a> + </div> + + <div class="submenu"> + <label>Quick Links</label> + <a href="https://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a> + <a href="https://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a> + <a href="https://bugs.llvm.org/">Bug Reports</a> + <a href="https://github.com/llvm/llvm-project/tree/master/openmp">Browse Sources</a> + </div> +</div> + +<div id="content"> + <!--*********************************************************************--> + <h1>OpenMP®: Support for the OpenMP language</h1> + <!--*********************************************************************--> + + <p>The OpenMP subproject of LLVM contains the + components required to build an executable OpenMP program that are + outside the compiler itself. + </p> + + <p>Here you can find :- + <ul> + <li> + the code for the runtime library against which + code compiled by <tt>clang -fopenmp</tt> must be linked before it + can run. + </li> + <li> + the library that supports offload to target devices (in + "libomptarget") + </li> + </ul> + </p> + + <p>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 "libomptarget" directory. + </p> + + <p>All of the code here is <a + href="https://llvm.org/docs/DeveloperPolicy.html#copyright-license-and-patents">dual licensed</a> + under the MIT license and the UIUC License (a BSD-like license). + The LICENSE.txt file at the top of the OpenMP project contains + the license text and associated patent grants. + </p> + + <!--=====================================================================--> + <h2 id="dir-structure">Status</h2> + <!--=====================================================================--> + + <p>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. + </p> + + <!--=====================================================================--> + <h2 id="goals">Features and Goals</h2> + <!--=====================================================================--> + + <ul> + <li>Support for the <a href="https://www.openmp.org/wp-content/uploads/OpenMP3.1.pdf">OpenMP + 3.1 standard (PDF)</a> has been achieved in the Clang 3.8.0 + release. + </li> + + <li>Support for the + <a href="https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf">OpenMP + 4.0 standard (PDF)</a> and <a href="https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf">OpenMP + 4.5 standard (PDF)</a> is now being implemented. (Some OpenMP 4.0 + and 4.5 features are already available). + <li>High performance.</li> + <li>ABI compatibility with <a href="https://gcc.gnu.org">Gcc</a> and + <a href="https://software.intel.com/en-us/compilers">Intel's + existing OpenMP compilers.</a> + We currently have binary compatibility with OpenMP + 3.1 code compiled by gcc 4.9, however we do not have support + for OpenMP 4.0 code that uses task cancellation when compiled + by gcc 4.9. How we will support such code remains a research issue. + </li> + </ul> + + <!--=====================================================================--> + <h2 id="why">Why have the runtime code here?</h2> + <!--=====================================================================--> + + <p>It makes sense to have the runtime sources in the same place + (and with the same license) as the compiler. + </p> + + <!--=====================================================================--> + <h2 id="requirements">Platform Support</h2> + <!--=====================================================================--> + + <p>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). + </p> + + <p>The OpenMP runtime is known to work on + <ul> + <li>ARM® architecture processors</li> + <li>PowerPC™ processors</li> + <li>32 and 64 bit X86 + processors when compiled with clang, with the Intel compiler + or with gcc, and also the Intel® Xeon Phi™ product family, when compiled with + the Intel compiler. + </li> + <li>MIPS and MIPS64</li> + <li>RISC-V 64-bit</li> + </ul> + Ports to other architectures and operating systems are welcome. + </p> + + <p>A full OS and architecture compatibility matrix is in + <a href="README.txt">README.txt</a> + </p> + + + <!--=====================================================================--> + <h2>Get it and get involved!</h2> + <!--=====================================================================--> + + <p>First please review our + <a href="https://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>. + + <p>To check out the code, use:</p> + + <ul> + <li><code>git clone https://github.com/llvm/llvm-project.git</code></li> + </ul> + + <p>In-tree build:</p> + <ul> + <li><code>cd llvm-project</code></li> + <li><code>mkdir build && cd build</code></li> + <li><code>cmake ../llvm -DLLVM_ENABLE_PROJECTS=openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler></code></li> + <li><code>make omp</code></li> + </ul> + + <p>Out-of-tree build:</p> + <ul> + <li><code>cd llvm-project</code></li> + <li><code>mkdir build-openmp && cd build-openmp</code></li> + <li><code>cmake ../openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler></code></li> + <li><code>make</code></li> + </ul> + + <p>Full details of how to build are in the + <a href="README.txt">README.txt</a> and README.rst in the source code repository. + </p> + + <!--=====================================================================--> + <h3>Notes</h3> + <!--=====================================================================--> + +<p> + +</p> + + <p>Send discussions to the + (<a href="https://lists.llvm.org/mailman/listinfo/openmp-dev">OpenMP mailing list</a>).</p> + + + <!--=====================================================================--> + <h2>Design Documents</h2> + <!--=====================================================================--> + +<ul> +<li><a href="Reference.pdf">Runtime design (PDF)</a></li> +</ul> + + <!--=====================================================================--> + <h2>Copyright notices</h2> + <!--=====================================================================--> +<ul> +<li> + The OpenMP name and the OpenMP logo are registered trademarks of the + OpenMP Architecture Review Board. +</li> +<li> + Intel is a trademark of Intel Corporation in the U.S. and/or other + countries. +</li> +<li> + PowerPC is a trademark of IBM Corporation in the U.S. and/or other + countries. +</li> +<li> + ARM is a trademark of ARM Corporation in the U.S. and/or + other countries. +</li> +<li> + MIPS is a trademark of MIPS Computer Systems in the U.S. and/or + other countries. +</li> +</ul> +</div> +</body> +</html>