Skip to content

Commit 042f9fc

Browse files
authored
Add Offload libcxx project
1 parent f280b6a commit 042f9fc

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

OpenProjects.html

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<li><a href="http://openmp.llvm.org/"><b>(OpenMP) Offload</b></a>
3030
<ul>
3131
<li><a href="#gpu-delta-debugging">GPU Delta Debuggin</a>
32+
<li><a href="#offload-libcxx">Offloading libcxx</a>
3233
</ul>
3334
</ul>
3435

@@ -1071,14 +1072,63 @@
10711072

10721073
<p><b>Size of the project.</b></p>
10731074

1074-
<p>medium (~175h)</p>
1075+
<p>medium</p>
10751076

10761077
<p><b>An easy, medium or hard rating if possible</b></p>
10771078

10781079
<p>medium</p>
10791080

10801081
</div>
10811082

1083+
<!-- *********************************************************************** -->
1084+
<div class="www_subsubsection">
1085+
<a name="offload-libcxx">Offloading libcxx</a>
1086+
</div>
1087+
<!-- *********************************************************************** -->
1088+
<div class="www_text">
1089+
<p><b>Description</b></p>
1090+
1091+
<p>
1092+
Modern C++ defines parallel algorithms as part of the standard library, like `std::transform_reduce(std::execution::par_unseq, vec.begin(), vec.end(), 0, std::plus<int>, …)`. In this project we want to extend an implementation of those that is using OpenMP, including GPU offload, where reasonable. While some algorithms might be amenable to GPU offload via a pure (wrapper) runtime solution, we know others, especially those featuring user provided functors, will also require static program analysis and potentially transformation for additional data management. The goal of the project is to explore different algorithms and the options we have to execute them on the host as well as on accelerator devices, esp. GPUs, automatically via OpenMP.
1093+
</p>
1094+
1095+
<p><b>Expected outcomes</b></p>
1096+
1097+
<p> Improvements to the prototype support of offloading in libcxx. Evaluations against other offloading approaches and documentation on the missing parts and shortcommings. </p>
1098+
1099+
<p><b>Confirmed mentors and their contacts</p></b>
1100+
1101+
<ul>v
1102+
<li>Johannes Doerfert [email protected]
1103+
<li>Tom Scogland [email protected]
1104+
<li>Tom Deakin [email protected]
1105+
</ul>
1106+
1107+
<p><b>Required / desired skills</b></p>
1108+
1109+
<p>Required:</p>
1110+
1111+
<ul>
1112+
<li>Good understanding of C++ and C++ standard algorithms
1113+
<li>Familiarity with GPUs and (OpenMP) offloading
1114+
</ul>
1115+
1116+
<p>Desired:</p>
1117+
1118+
<ul>
1119+
<li>Experience with libcxx (development).
1120+
<li>Experience debugging and profiling GPU code.
1121+
</ul>
1122+
1123+
<p><b>Size of the project.</b></p>
1124+
1125+
<p>large</p>
1126+
1127+
<p><b>An easy, medium or hard rating if possible</b></p>
1128+
1129+
<p>medium</p>
1130+
1131+
</div>
10821132

10831133
<!-- *********************************************************************** -->
10841134
<div class="www_sectiontitle">

0 commit comments

Comments
 (0)