2007 International Conference on Parallel Processing (ICPP 2007) Code Compilation for an Explicitly Parallel Register-Sharing Architecture Xi'an, China September 10-September 14 ISBN: 0-7695-2933-X
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICPP.2007.24
Code generation for a multithreaded register sharing architecture is inherently complex and involves some issues absent in conventional code compilation. To approach the problem, we define a consistency contract between the program and the hardware and require the compiler to preserve the contract during code transformations. To apply the contract to compiler implementation, we develop a correctness framework that ensures preservation of the contract and use it to adjust the code optimizations for correctness under parallel code. One area that is naturally affected by register sharing is register allocation. We discuss adaptation of existing coloring-based algorithms for shared code and show how they benefit from the consistency contract. Another benefit affects the general compiler optimizations. We show that these optimizations need very little restrictions in order to be correct for parallel code, allowing the compiler to realize its potential to a high degree.
Index Terms:
Fine grain parallelization, register sharing, multithreading, explicitly parallel code, register allocation, optimizations.
Citation:
Alex Gontmakher, Avi Mendelson, Assaf Schuster, Gregory Shklover, "Code Compilation for an Explicitly Parallel Register-Sharing Architecture," icpp, pp.58, 2007 International Conference on Parallel Processing (ICPP 2007), 2007 Usage of this product signifies your acceptance of the Terms of Use. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||