GGrantIndex
← Search

XPS: EXPL: DSD: Portal: A Language and Compiler for Parallel N-body Computations

$316,000FY2015CSENSF

University Of California-Irvine, Irvine CA

Investigators

Abstract

Title: XPS: EXPL: DSD: Portal: A Language and Compiler for Parallel N-body Computations Modern machines are becoming increasingly more complex resulting in even the most advanced compilers failing to generate the best optimized code. As a result, there is a big gap between the algorithm one designs on paper and the code that runs efficiently on a billion-core system. This research project aims to bridge this gap by developing Portal, a new high-performance domain-specific language(DSL) and compiler, for the domain of N-body problems. Such problems have applications in various areas ranging from scientific computing simulations in molecular dynamics, astrophysics, acoustics, fluid dynamics all the way to big data problems. In Portal, domain scientists can write programs at a high level while obtaining the performance of highly tuned and optimized low level code written by experts on modern massively parallel machines. The intellectual merit is to show how a DSL with a high-level formulation can lead directly to both asymptotically fast algorithms and their efficient parallel implementations on a variety of distinct architectures. The project's broader significance and importance are freely available software to enable domain scientists to harness the performance power of parallel computing and enabling scientific discovery not only in scientific computing and machine learning but also in a number of related problems in domains such as statistics, computer graphics, computational geometry, and applied mathematics. These problems can be expressed in Portal to obtain an out-of-the-box parallel optimized implementation. The goals of Portal are three-fold: (a) to implement scalable, fast, and asymptotically optimal tree-based N-body algorithms, (b) to design an intuitive language and API to enable rapid implementations of a variety of algorithms, and (c) to enable parallel large-scale problems to run on current and future exascale machines. More importantly, the language and intermediate algorithm representation are independent of the architecture, making this approach portable and easily extensible to different platforms from ARM/x86 CPUs to GPUs. The project aims to solve important software issues that will allow for interoperability and scalability of N-body problems on massive datasets.

View original record on NSF Award Search →