blob: 8ac72a7bff62c8ebaa690cae7fe6124c4c35ee27 [file] [log] [blame]
Jim Cownie5e8470a2013-09-27 10:38:44 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3.org/TR/html4/strict.dtd">
3<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
4<html>
5<head>
6 <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7 <title>OpenMP* : Support for the OpenMP language</title>
8 <link type="text/css" rel="stylesheet" href="menu.css">
9 <link type="text/css" rel="stylesheet" href="content.css">
10</head>
11
12<body>
13<div id="menu">
14 <div>
15 <a href="http://llvm.org/">LLVM Home</a>
16 </div>
17
18 <div class="submenu">
19 <label>OpenMP Info</label>
20 <a href="/index.html">About</a>
21 </div>
22
23 <div class="submenu">
24 <label>Quick Links</label>
25 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev">openmp-dev</a>
Andrey Churbanovcfda4512013-10-03 07:27:25 +000026 <a href="http://lists.cs.uiuc.edu/mailman/listinfo/openmp-commits">openmp-commits</a>
Jim Cownie5e8470a2013-09-27 10:38:44 +000027 <a href="http://llvm.org/bugs/">Bug Reports</a>
28 <a href="http://llvm.org/svn/llvm-project/openmp/trunk/">Browse SVN</a>
29 <a href="http://llvm.org/viewvc/llvm-project/openmp/trunk/">Browse ViewVC</a>
30 </div>
31</div>
32
33<div id="content">
34 <!--*********************************************************************-->
Jim Cownie885d7fa2013-10-03 11:55:28 +000035 <h1>"OpenMP&reg;" Support for the OpenMP language</h1>
Jim Cownie5e8470a2013-09-27 10:38:44 +000036 <!--*********************************************************************-->
37
38 <p>The OpenMP subproject of LLVM is intended to contain all of the
39 components required to build an executing OpenMP program that are
40 outside the compiler itself. Support for OpenMP 3.1 in Clang is in the
41 process of being promoted into the Clang mainline, and can be
Jim Cownie885d7fa2013-10-03 11:55:28 +000042 found at <a href="http://clang-omp.github.io/">OpenMP/Clang</a>.
Jim Cownie5e8470a2013-09-27 10:38:44 +000043 </p>
44
45 <p>Here you can find the code for the runtime library against which
46 code compiled by the OpenMP/Clang compiler must be linked before it
Jim Cownie885d7fa2013-10-03 11:55:28 +000047 can run. This code is also available
48 at <a href="http://openmprtl.org/">openmprtl.org</a>; we intend to
49 keep the different sites in sync.
Jim Cownie5e8470a2013-09-27 10:38:44 +000050 </p>
51
52 <p>We are, however, still missing test code. Any contributions in
53 that area would be greatly appreciated!
54 </p>
55
56 <p>All of the code here is <a
57 href="http://llvm.org/docs/DeveloperPolicy.html#license">dual licensed</a>
58 under the MIT license and the UIUC License (a BSD-like license).
59 The LICENSE.txt file at the top of the OpenMP project contains
60 the license text and associated patent grants.
61 </p>
62
63 <!--=====================================================================-->
64 <h2 id="goals">Features and Goals</h2>
65 <!--=====================================================================-->
66
67 <ul>
68 <li>Correctness as defined by the
69 <a href="http://www.openmp.org/mp-documents/OpenMP3.1.pdf">OpenMP
Jim Cownie885d7fa2013-10-03 11:55:28 +000070 3.1 standard (PDF)</a> now, and <a href="http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf">OpenMP
71 4.0 standard (PDF)</a> in the future.</li>
Jim Cownie5e8470a2013-09-27 10:38:44 +000072 <li>High performance.</li>
Jim Cownie885d7fa2013-10-03 11:55:28 +000073 <li>ABI compatibility with <a href="http://gcc.gnu.org">Gcc</a> and
74 <a href="http://software.intel.com/en-us/intel-compilers">Intel's
75 existing OpenMP compilers.</a>
76 </li>
Jim Cownie5e8470a2013-09-27 10:38:44 +000077 </ul>
78
79 <!--=====================================================================-->
80 <h2 id="why">Why have the runtime code here?</h2>
81 <!--=====================================================================-->
82
83 <p>It makes sense to have the runtime sources in the same place
84 (and with the same license) as the compiler.
85 </p>
86
87 <!--=====================================================================-->
88 <h2 id="requirements">Platform Support</h2>
89 <!--=====================================================================-->
90
91 <p>The OpenMP runtime is known to work on 32 and 64 bit X86
92 processors when compiled with either the Intel compiler or gcc, and also the Intel&reg;&nbsp;Xeon Phi&trade; product family, when compiled with
93 the Intel compiler.
94 </p>
95
Jim Cownie885d7fa2013-10-03 11:55:28 +000096 <p>A full OS compatibility matrix is in
97 <a href="README.txt">README.txt</a>
Jim Cownie5e8470a2013-09-27 10:38:44 +000098 </p>
99
100
101 <!--=====================================================================-->
Jim Cownie885d7fa2013-10-03 11:55:28 +0000102 <h2 id="dir-structure">Status</h2>
Jim Cownie5e8470a2013-09-27 10:38:44 +0000103 <!--=====================================================================-->
104
105 <p>Currently the runtime is built with either gcc or icc. Obviously
Jim Cownie885d7fa2013-10-03 11:55:28 +0000106 it would also be good to build with Clang.
Jim Cownie5e8470a2013-09-27 10:38:44 +0000107 </p>
108
109
110 <!--=====================================================================-->
111 <h2>Get it and get involved!</h2>
112 <!--=====================================================================-->
113
114 <p>First please review our
115 <a href="http://llvm.org/docs/DeveloperPolicy.html">Developer's Policy</a>.
116
117 <p>To check out the code, use:</p>
118
119 <ul>
120 <li><code>svn co http://llvm.org/svn/llvm-project/openmp/trunk openmp</code></li>
121 </ul>
122
123 <p>
124 Next:
125 </p>
126
127 <ul>
128 <li><code>cd openmp/runtime</code></li>
129 <li><code>make compiler=gcc</code></li>
130 </ul>
131
132 <p>Full details of how to build are in the
Jim Cownie885d7fa2013-10-03 11:55:28 +0000133 <a href="README.txt">README.txt</a>
Jim Cownie5e8470a2013-09-27 10:38:44 +0000134 </p>
135
136 <!--=====================================================================-->
137 <h3>Notes</h3>
138 <!--=====================================================================-->
139
140<p>
141
142</p>
143
144 <p>Send discussions to the
145 (<a href="http://lists.cs.uiuc.edu/mailman/listinfo/openmp-dev">OpenMP mailing list</a>).</p>
146
147
148 <!--=====================================================================-->
149 <h2>Design Documents</h2>
150 <!--=====================================================================-->
151
152<ul>
Jim Cownie885d7fa2013-10-03 11:55:28 +0000153<li><a href="Reference.pdf">Runtime design (PDF)</a></li>
Jim Cownie5e8470a2013-09-27 10:38:44 +0000154</ul>
155
Jim Cownie885d7fa2013-10-03 11:55:28 +0000156 <!--=====================================================================-->
157 <h2>Copyright notices</h2>
158 <!--=====================================================================-->
159<ul>
160<li>
161 The OpenMP name and the OpenMP logo are registered trademarks of the
162 OpenMP Architecture Review Board.
163</li>
164<li>
165 Intel is a trademark of Intel Corporation in the U.S. and/or other
166 countries.
167</li>
168</ul>
Jim Cownie5e8470a2013-09-27 10:38:44 +0000169</div>
170</body>
171</html>