Functional Dataflow Programming Toolchain for Portable Parallel Code

Award Information
Agency: Department of Defense
Branch: Defense Advanced Research Projects Agency
Contract: D16PC00105
Agency Tracking Number: D2-1573
Amount: $1,499,752.00
Phase: Phase II
Program: SBIR
Solicitation Topic Code: SB151-004
Solicitation Number: 2015.1
Timeline
Solicitation Year: 2016
Award Year: 2016
Award Start Date (Proposal Award Date): 2016-05-27
Award End Date (Contract End Date): 2018-05-31
Small Business Information
51 East Main Street, Newark, DE, 19711
DUNS: 071744143
HUBZone Owned: N
Woman Owned: N
Socially and Economically Disadvantaged: N
Principal Investigator
 Aaron Paolini
 (302) 456-9003
 paolini@emphotonics.com
Business Contact
 Victoria Miller
Phone: (302) 456-9003
Email: miller@emphotonics.com
Research Institution
N/A
Abstract
Modern computer systems often incorporate multiple computational devices such as conventional processors, graphics processing units (GPUs), specialized accelerators, and field-programmable gate arrays (FPGAs). Programmers are able to exploit these new architectures for improved performance and reduced power consumption, but at the cost of increased programing complexity. Further complicating matters, architectural differences often require completely distinct kernel implementations to attain acceptable relative performance, even within the same family of devices, resulting in code that must be constantly maintained. Therefore, it is highly desirable to have a unified programming language and paradigm of sufficient abstraction such that software can be written effectively for the current target but can also be compiled for a multitude of possible other architectures. To address this need, we propose a portable, highly parallel, set of tools based on C++. Programs written in our specialized embedded domain-specific language (EDSL) can be used to rewrite portions of their programs, which will automatically be optimized for their target platforms. Using this EDSL leads to software that contains complete dependency information for each function within a program, allowing automated dataflow analysis, optimization, and code generation to be feasibly performed on a large scale.

* Information listed above is at the time of submission. *

Agency Micro-sites

SBA logo
Department of Agriculture logo
Department of Commerce logo
Department of Defense logo
Department of Education logo
Department of Energy logo
Department of Health and Human Services logo
Department of Homeland Security logo
Department of Transportation logo
Environmental Protection Agency logo
National Aeronautics and Space Administration logo
National Science Foundation logo
US Flag An Official Website of the United States Government