<!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="http://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="http://lists.llvm.org/mailman/listinfo/openmp-dev">openmp-dev</a>
    <a href="http://lists.llvm.org/mailman/listinfo/openmp-commits">openmp-commits</a>
    <a href="http://llvm.org/bugs/">Bug Reports</a>
    <a href="https://github.com/llvm/llvm-project/tree/master/openmp">Browse Sources</a>
  </div>
</div>

<div id="content">
  <!--*********************************************************************-->
  <h1>OpenMP&reg;: 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="http://llvm.org/docs/DeveloperPolicy.html#license">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="http://www.openmp.org/mp-documents/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="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">OpenMP
          4.0 standard (PDF)</a> and <a href="http://www.openmp.org/mp-documents/OpenMP4.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="http://gcc.gnu.org">Gcc</a> and
        <a href="http://software.intel.com/en-us/intel-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&reg;&nbsp; architecture processors</li>
      <li>PowerPC&trade;&nbsp; processors</li>
      <li>32 and 64 bit X86
        processors when compiled with clang, with the Intel compiler
        or with gcc, and also the Intel&reg;&nbsp;Xeon Phi&trade; 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="http://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 &amp;&amp; cd build</code></li>
    <li><code>cmake ../llvm -DLLVM_ENABLE_PROJECTS=openmp -DCMAKE_C_COMPILER=&lt;C compiler&gt; -DCMAKE_CXX_COMPILER=&lt;C++ compiler&gt;</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 &amp;&amp; cd build-openmp</code></li>
    <li><code>cmake ../openmp -DCMAKE_C_COMPILER=&lt;C compiler&gt; -DCMAKE_CXX_COMPILER=&lt;C++ compiler&gt;</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="http://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>
