<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;color:#00000;'><div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif"><div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif">Hello,<br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif"><br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif">My name is Kareem and I am a C++ software engineer at TomTom. I would like to gain more experience in compilers by contributing to the implementation of experimental C++2a features as detailed on the Clang website [4].<br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif"><br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif">===<br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif"><br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif">Here is my relevant background:<br></div><div style="font-size: 10pt; font-family: Verdana, Arial, Helvetica, sans-serif"><br></div></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">1 - I implemented a library for a research language called Impala. Impala is implemented on top of a compiler framework called AnyDSL [1]. Specifically, I implemented a number of parallel primitives in Impala (e.g. map, reduce, radix sort). The library is inspired by Nvidia's CUB library [2].<br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)"><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">2 - I participated in a research project to extend LLVM IR to natively support fork-join parallelism. In particular, I implemented an OpenMP frontend and backend to translate to and from Parallel-IR. The frontend and backend supported simple parallel loops.<br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)"><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">3 - I did some tiny bug fixes in LLVM to properly propagate DebugInfo in some passes [3]. Nothing so fancy though :).<br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)"><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">===<br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)"><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">It would great if an experienced member of the community is able to guide me through this by choosing a (somewhat beginner friendly) proposal that I can start looking into and probably point me to relevant literature. I can commit to a GSoC-style partnership if any experienced member would be willing to do so.<br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)"><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">[1] <a href="https://anydsl.github.io/" target="_blank" style="color: rgb(17, 85, 204)">https://anydsl.github.io/</a><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">[2] <a href="https://nvlabs.github.io/cub/" target="_blank" style="color: rgb(17, 85, 204)">https://nvlabs.github.io/cub/</a><br></div><div style="color: rgb(0, 0, 0); font-family: Arial, Helvetica, sans-serif; font-size: small; font-style: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: rgb(255, 255, 255)">[3] <a href="https://reviews.llvm.org/p/ergawy/" target="_blank" style="color: rgb(17, 85, 204)">https://reviews.llvm.org/p/ergawy/</a><br></div><div>[4] <a href="https://clang.llvm.org/cxx_status.html#ts" target="_blank">https://clang.llvm.org/cxx_status.html</a><br></div><div><br></div><div>Best,<br></div><div>Kareem</div></div></div></div><br></body></html>