The compiler for the XMTC parallel language: Lessons for compiler developers and in-depth description

View/ Open
Date
2011-02-18Author
Tzannes, Alexandros
Caragea, George C.
Vishkin, Uzi
Barua, Rajeev
Metadata
Show full item recordAbstract
In this technical report, we present information on the XMTC compiler
and language. We start by presenting the XMTC Memory Model and the
issues we encountered when using GCC, the popular GNU compiler for C and
other sequential languages, as the basis for a compiler for XMTC, a
parallel language. These topics, along with some information on XMT
specific optimizations were presented in [10]. Then, we proceed to give
some more details on how outer spawn statements (i.e., parallel loops)
are compiled to take advantage of XMT’s unique hardware primitives for
scheduling flat parallelism and how we incremented this basic compiler
to support nested parallelism.