Title :
An Optimizing Compiler for Parallel Chemistry Simulations
Author :
Cao, Jun ; Goyal, Ayush ; Midkiff, Samuel P. ; Caruthers, James M.
Author_Institution :
Sch. of Electr. & Comput. Eng., Purdue Univ., West Lafayette, IN
Abstract :
Well designed domain specific languages enable the easy expression of problems, the application of domain specific optimizations, and dramatic improvements in productivity for their users. In this paper we describe a compiler for polymer chemistry, and in particular rubber chemistry, that achieves all of these goals. The compiler allows the development of a system of ordinary differential equations describing a complex rubber reaction - a task that used to require months - to be done in days. The generated code, like much machine generated code, is more complex than human written code, and stresses commercial compilers to the point of failure. However, because of knowledge of the form of ODEs generated, the compiler can perform specialized common sub-expression and other algebraic optimizations that simplifies the code sufficiently to allow it to be compiled (eliminating all but 6.9% of the operations in our largest program) and to provide five times faster performance on our largest benchmark codes.
Keywords :
chemistry computing; differential equations; digital simulation; formal specification; mathematics computing; optimising compilers; parallel programming; rubber; domain specific languages; optimizing compiler; ordinary differential equations; parallel chemistry simulations; polymer chemistry; rubber chemistry; Chemistry; Design optimization; Differential equations; Domain specific languages; Humans; Optimizing compilers; Polymers; Productivity; Rubber; Stress;
Conference_Titel :
Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International
Conference_Location :
Long Beach, CA
Print_ISBN :
1-4244-0910-1
Electronic_ISBN :
1-4244-0910-1
DOI :
10.1109/IPDPS.2007.370292