GGrantIndex
← Search

XPS:EXPL:DSD: Language Abstraction, Annotation, Compiler Optimization Techniques for Efficient CFD Computation

$273,202FY2015CSENSF

Purdue University, West Lafayette IN

Investigators

Abstract

This project seeks to build a novel programming tool that will allow scientists and engineers to design new scientific and engineering application programs that can best utilize today's most powerful computers. This tool will specifically target applications in computational fluid dynamics (CFD), an area that covers a wide range of potential applications such as jet engine design, improving and optimizing micro-manufacturing and "micro-fluidic devices" (such as ink-jet printers), combustion and diesel engine technology, agricultural sewage and irrigation, ink-jet printing, medical diagnostics and DNA analysis. The tool allows the programmers to communicate the distinct nature of their application that can be exploited by the compiler to match any unique hardware features of the computer system on which the program is to be run. This matching could make the program run faster and make more efficient use of resources. The project will help promote interdisciplinary research, teaching, training, and learning by offering the tool to the Computational Science and Engineering (CSE) community. Through facilities supported by National Science Foundation at Purdue University, the tool built for this project will be offered to the high performance computing community as open source software. Tutorials and workshops will be organized in collaboration with Purdue University's Rosen Center for Advanced Computing, targeting the CSE faculty and students both at Purdue and elsewhere. This project investigates novel CFD-specific language abstraction and annotation techniques to enable extensive program transformation aimed at correcting mismatches between program constructs and hardware, leading to significant performance enhancement. A prototyping compiler will be developed to validate the new concepts and to demonstrate the performance advantages.This project will be based on robust models that capture the most significant hardware factors such as communication, cache memory, and SIMD operations. High level specifications are designed such that the programmer can specify to the compiler the high level program semantics without being obscured by layers of subroutine calls. Such specification binds program constructs and data structures at a high level, allowing the compiler to make the best decision concerning communication scheduling and data layout, taking into account communication efficiency, data locality and vector operation efficiency. This project will enable effective program transformation and composition that are applied to a range of important CFD methods and applications, such as jet turbulence simulations that solve the compressible Navier-Stokes equations including multiple chemical species using a high-order compact finite difference scheme; incompressible homogeneous turbulence; compressible homogeneous turbulence based on the FFT algorithm with time advancement in physical space, high-order finite difference schemes, and WENO shock capturing schemes; a phase field-based approach and algorithms for simulating wall-bounded two-phase liquid-gas flows involving free interfaces, surface tension, moving contact lines, and hydro-phobic/-philic walls; algorithms to handle large density ratios and large viscosity ratios of the two fluid phases; and spectral-element simulations of turbulence, flow-induced vibrations, turbulent wakes, and solid structures.

View original record on NSF Award Search →