@InProceedings{HerLe97, author = "Christoph Armin Herrmann and Christian Lengauer", title = "Transformation of Divide & Conquer to Nested Parallel Loops", series = "Lecture Notes in Computer Science 1292", booktitle = "Programming Languages: Implementation, Logics, and Programs (PLILP'97)", year = 1997, pages = "95-109", publisher = "Springer-Verlag", editor = "H. Glaser and P. Hartel and H. Kuchen" keywords = "divide-and-conquer, equational reasoning, Haskell, parallelization, skeleton, space-time mapping", abstract = "We propose a sequence of equational transformations and specializations which turns a divide-and-conquer skeleton in Haskell into a parallel loop nest in C. Our initial skeleton is often viewed as general divide-and-conquer. The specializations impose a balanced call tree, a fixed degree of the problem division, and elementwise operations. Our goal is to select parallel implementations of divide-and-conquer via a space-time mapping, which can be determined at compile time. The correctness of our transformations is proved by equational reasoning in Haskell; recursion and iteration are handled by induction. Finally, we demonstrate the practicality of the skeleton by expressing Strassen's matrix multiplication in it." }
Christoph Herrmann