loading...
Code Compilation for an Explicitly Parallel Register-Sharing Architecture
Xi'an, China September 10-September 14
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ICPP.2007.242007 International Conference on Para ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Alex Gontmakher, Israel Institute of Technology, Israel
Avi Mendelson, Intel Haifa Rsearch Laboratory
Assaf Schuster, Israel Institute of Technology, Israel
Gregory Shklover, Israel Institute of Technology, Israel
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.