Ouroboros: a tool for building generic, hybrid, divide & conquer algorithms

J.R. Johnson, I. Foster
18th International Parallel and Distributed Processing Symposium, 2004. Proceedings.  
A hybrid divide and conquer algorithm is one that switches from a divide and conquer to an iterative strategy at a specified problem size. Such algorithms can provide significant performance improvements relative to alternatives that use a single strategy. However, the identification of the optimal problem size at which to switch for a particular algorithm and platform can be challenging. We describe an automated approach to this problem that first conducts experiments to explore the
more » ... lore the performance space on a particular platform and then uses the resulting performance data to construct an optimal hybrid algorithm on that platform. We implement this technique in a tool, Ouroboros, that automatically constructs a high-performance hybrid algorithm from a set of registered algorithms. We present results obtained with this tool for several classical divide and conquer algorithms, including matrix multiply and sorting, and report speedups of up to six times achieved over non-hybrid algorithms.
doi:10.1109/ipdps.2004.1303012 dblp:conf/ipps/JohnsonF04 fatcat:gxeaw3j4pvefnpfryq5uyh5c2y