Legion bio photo

Legion

A Data-Centric Parallel Programming System

Github

Legion is a data-centric parallel programming system for writing portable high performance programs targeted at distributed heterogeneous architectures. Legion presents abstractions which allow programmers to describe properties of program data (e.g. independence, locality). By making the Legion programming system aware of the structure of program data, it can automate many of the tedious tasks programmers currently face, including correctly extracting task- and data-level parallelism and moving data around complex memory hierarchies. A novel mapping interface provides explicit programmer controlled placement of data in the memory hierarchy and assignment of tasks to processors in a way that is orthogonal to correctness, thereby enabling easy porting and tuning of Legion applications to new architectures.

To learn more about Legion you can:

About Legion

Legion is being developed at Stanford University with funding from the U.S. Department of Energy’s ExaCT Combustion Co-Design Center and the Scientific Data Management, Analysis and Visualization (SDMAV) program. Contributions from Los Alamos National Laboratory are supported by the U.S. Department of Energy Office of Advanced Scientific Computing Research and the U.S. Department of Energy National Nuclear Security Administration Advanced Simulation and Computing Program. Work on Legion has also been supported by funding from DARPA, the Army High Performance Computing Research Center, and NVIDIA.

Legion Contributors

Stanford Los Alamos NVIDIA
Sean Treichler Pat McCormick Michael Bauer (Stanford site)
Elliott Slaughter Charles Ferenbaugh
Wonchan Lee Samuel Gutierrez
Zhihao Jia Kei Davis
Alex Aiken