Autogen
Authors:
Open Access
- 31 March 2017
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Parallel Computing
- Vol. 4 (1) , 1-30
Abstract
We present A utogen —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. A utogen 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 A utogen 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, A utogen is the first algorithm that can automatically discover new nontrivial divide-and-conquer algorithms.Keywords
Funding Information
- National Science Foundation (CCF-1162196, CCF-1439084, CNS-1553510, CCF-1314547, CNS-1409238, IS-1447786, ACI-1053575)
- FoxConn
- National Security Agency (H98230-14-C-1424)
- U.S. Department of Energy (DE-SC0008923)
This publication has 38 references indexed in Scilit:
- A practical automatic polyhedral parallelizer and locality optimizerACM SIGPLAN Notices, 2008
- Dynamic programming and board games: A surveyEuropean Journal of Operational Research, 2007
- A fair method for resetting the target in interrupted one-day cricket matchesJournal of the Operational Research Society, 1998
- Chapter 14 Numerical dynamic programming in economics1996
- Parallel Algorithms for Dynamic Programming Recurrences with More Than O(1) DependencyJournal of Parallel and Distributed Computing, 1994
- Simultaneous Solution of the RNA Folding, Alignment and Protosequence ProblemsSIAM Journal on Applied Mathematics, 1985
- Dynamic programming algorithm optimization for spoken word recognitionIEEE Transactions on Acoustics, Speech, and Signal Processing, 1978
- A linear space algorithm for computing maximal common subsequencesCommunications of the ACM, 1975
- DYNAMIC PROGRAMMING APPLICATIONS IN FINANCEThe Journal of Finance, 1971
- Recognition and parsing of context-free languages in time n3Information and Control, 1967