Publication: Automatically Scalable Computation That Is More Scalable and Automatic
Open/View Files
Date
Authors
Published Version
Published Version
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
We present significant new development of the Automatically Scalable Computation (ASC) project, a new method of automatic parallelization that transforms parallelization into a machine learning problem. ASC speeds up computation by predicting future states of a program’s memory and registers and speculatively executing from those predicted states. Prior work on ASC has demonstrated the ability to speed up a limited class of programs using a single additional core. It has also suggested that ASC has the potential to scale that speedup to many cores for a larger class of programs. We realize that potential by developing a new version of ASC. Our version incorporates a new architecture that can scale to many cores as well as a notion of data dependency that expands the class of programs ASC can speed up by making the prediction problem much easier. Using this new version of ASC, we demonstrate automatic speedup on a large class of programs, including programs essential to scientific computing and programs resistant to other methods of automatic parallelization. This speedup increases near-linearly with the number of cores supplied to ASC.