AUTOGEN: automatic discovery of cache-oblivious parallel recursive algorithms for solving dynamic programs

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 locat...

Full description

Bibliographic Details
Main Authors: Chowdhury, Rezaul (Author), Ganapathi, Pramod (Author), Tithi, Jesmin Jahan (Author), Tang, Yuan (Author), Bachmeier, Charles A. (Contributor), Kuszmaul, Bradley C (Contributor), Leiserson, Charles E (Contributor), Solar Lezama, Armando (Contributor)
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Contributor), Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Association for Computing Machinery, 2018-04-03T18:03:23Z.
Subjects:
Online Access:Get fulltext
LEADER 02939 am a22003853u 4500
001 114519
042 |a dc 
100 1 0 |a Chowdhury, Rezaul  |e author 
100 1 0 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Bachmeier, Charles A.  |e contributor 
100 1 0 |a Kuszmaul, Bradley C  |e contributor 
100 1 0 |a Leiserson, Charles E  |e contributor 
100 1 0 |a Solar Lezama, Armando  |e contributor 
700 1 0 |a Ganapathi, Pramod  |e author 
700 1 0 |a Tithi, Jesmin Jahan  |e author 
700 1 0 |a Tang, Yuan  |e author 
700 1 0 |a Bachmeier, Charles A.  |e author 
700 1 0 |a Kuszmaul, Bradley C  |e author 
700 1 0 |a Leiserson, Charles E  |e author 
700 1 0 |a Solar Lezama, Armando  |e author 
245 0 0 |a AUTOGEN: automatic discovery of cache-oblivious parallel recursive algorithms for solving dynamic programs 
260 |b Association for Computing Machinery,   |c 2018-04-03T18:03:23Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/114519 
520 |a 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. 
520 |a National Science Foundation (U.S.) (Grant CCF-1314547) 
520 |a National Science Foundation (U.S.) (Grant CNS-1409238) 
520 |a National Science Foundation (U.S.) (Grant IS-1447786) 
520 |a United States. National Security Agency (Grant H98230-14-C-1424) 
520 |a Foxconn International Holdings Ltd. 
520 |a United States. Department of Energy. Office of Science (Award DE-SC0008923) 
520 |a Massachusetts Institute of Technology. Undergraduate Research Opportunities Program 
546 |a en_US 
655 7 |a Article 
773 |t Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - PPoPP '16