Generators-Of-Generators Library With Optimization Capabilities In Fortress

Kento Emoto,Zhenjiang Hu,Kazuhiko Kakehi,Kiminori Matsuzaki,Masato Takeichi
DOI: https://doi.org/10.1007/978-3-642-15291-7_4
2010-01-01
Abstract:A large number of studies have been conducted on parallel skeletons and optimization theorems over skeleton programs to resolve difficulties with parallel programming. However, two nontrivial tasks still remain unresolved when we need nested data structures: The first is composing skeletons to generate and consume them; and the second is applying optimization theorems to obtain efficient parallel programs. In this paper, we propose a novel library called Generators of Generators (GoG) library. It provides a set of primitives, GoGs, to produce nested data structures. A program developed with these GoGs is automatically optimized by the optimization mechanism in the library, so that its asymptotic complexity can be improved. We demonstrate its implementation on the Fortress language and report some experimental results.
What problem does this paper attempt to address?