Autogen: Automatic Discovery of Efficient Recursive Divide-8-Conquer Algorithms for Solving Dynamic Programming Problems
Name
ChowdhuryGaTi16.pdf
Description
Accepted version
Size
1.28 MB
Format
Adobe PDF
Checksum (MD5)
1d1e32b0785824004aa6206ae48b6db6
Author(s) • • • • • • • •
Chowdhury, Rezaul
Ganapathi, Pramod
Tschudi, Stephen
Tithi, Jesmin Jahan
Bachmeier, Charles
Leiserson, Charles E
Solar-Lezama, Armando
Kuszmaul, Bradley C
Tang, Yuan
Date Issued
2017
Journal
ACM Transactions on Parallel Computing
Publisher
Association for Computing Machinery (ACM)
Version
Author's final manuscript
Abstract
© 2017 ACM. We present Autogen-an algorithm that for a wide class of dynamic programming (DP) problems automatically discovers highly efficient cache-oblivious parallel recursive divide-And-conquer algorithms from inefficient iterative descriptions of DP recurrences. Autogen analyzes the set of DP table locations accessed by the iterative algorithm when run on a DP table of small size and automatically identifies a recursive access pattern and a corresponding provably correct recursive algorithm for solving the DP recurrence.We use Autogen to autodiscover efficient algorithms for several well-known problems. Our experimental results show that several autodiscovered algorithms significantly outperform parallel looping and tiled loop-based algorithms. Also, these algorithms are less sensitive to fluctuations of memory and bandwidth compared with their looping counterparts, and their running times and energy profiles remain relatively more stable. To the best of our knowledge, Autogen is the first algorithm that can automatically discover new nontrivial divide-And-conquer algorithms.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3125632