Biophysics simulation helps biomedical researchers understand the physical constraints on biological systems as they engineer novel drugs, synthetic tissues, medical devices, and surgical interventions. However, writing high-performance biophysics simulation software for modern parallel computer hardware is a challenging problem. This research project will solve this problem by developing a new generation of biophysics simulation software that is optimized for complex high-performance computer hardware. The project will develop this software using a family of domain specific languages (DSLs). A DSL is a concise programming language with a syntax that is designed to naturally express the semantics of a narrow problem domain. Biophysics simulation DSLs will be used to improve the productivity of simulation software developers and the efficiency and performance of the resulting software by enabling the DSL implementation to take advantage of high-level domain-specific optimizations that are inaccessible to general-purpose compilers and general-purpose languages. The simulation technology built from the family of biophysics simulation DSLs will be used to solve the important biological problems of developing new neuroprosthetics, combating viral infections, effective drug discovery, and understanding drug side effects. In addition, this research will expose students at the graduate and undergraduate level to the role that domain-specific languages play in computing in general and biophysics simulation in particular.

The biophysics simulation DSLs will be developed with a general DSL infrastructure. This infrastructure will make use of polymorphic embeddings, multi-stage compilation, and parallel execution patterns to implement the high-level, implicitly parallel DSLs in a common host language. The DSL infrastructure will simplify DSL development by providing a reusable framework for parallelism and domain-specific optimization. When completed, this infrastructure will allow scientists in other application domains to create and use their own high-performance DSLs, in the same manner that this research uses the infrastructure to develop DSLs for biophysics simulation. The result will be a new generation of DSLs in a number of domains that provide high-productivity application development and high-performance on modern heterogeneous parallel hardware such as multicore microprocessors, GPUs and distributed systems.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
1111943
Program Officer
Anindya Banerjee
Project Start
Project End
Budget Start
2011-07-15
Budget End
2016-06-30
Support Year
Fiscal Year
2011
Total Cost
$1,770,669
Indirect Cost
Name
Stanford University
Department
Type
DUNS #
City
Stanford
State
CA
Country
United States
Zip Code
94305