Abstract
This paper presents the semantic foundations of commutativity analysis, an analysis technique for automatically parallelizing programs written in a sequential, imperative programming language. Commutativity analysis views the computation as composed of operations on objects. It then analyzes the program at this granularity to discover when operations commute (i.e. generate the same result regardless of the order in which they execute). If all of the operations required to perform a given computation commute, the compiler can automatically generate parallel code. This paper shows that the basic analysis technique is sound. We have implemented a parallelizing compiler that uses commutativity analysis as its basic analysis technique; this paper also presents performance results from two automatically parallelized applications.
Cite
CITATION STYLE
Rinard, M. C., & Diniz, P. C. (1996). Semantic foundations of commutativity analysis. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1123, pp. 414–423). Springer Verlag. https://doi.org/10.1007/3-540-61626-8_55
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.