Abstract
Well designed domain specific languages have three important benefits: (1) the easy expression of problems, (2) the application of domain specific optimizations (including parallelization), and (3) dramatic improvements in productivity for their users. In this paper we describe a compiler and parallel runtime system for modeling the complex kinetics of rubber vulcanization and olefin polymerization that achieves all of these goals. The compiler allows the development of a system of ordinary differential equations describing a complex vulcanization reaction or single-site olefin polymerization reaction—a task that used to require months—to be done in hours. A specialized common sub-expression elimination and other algebraic optimizations sufficiently simplify the complex machine generated code to allow it to be compiled—eliminating all but 8.0% of the operations in our largest program and enabling over 60 times faster execution on our largest benchmark codes. The parallel runtime and dynamic load balancing scheme enables fast simulations of the model.
Similar content being viewed by others
References
Cao, J., Goyal, A., Midkiff, S.P., Caruthers, J.M.: An optimizing compiler for parallel chemistry simulations. In: Proceedings of the 21th International Parallel and Distributed Processing Symposium (IPDPS 2007), 1–10 March 2007
Gaussian ’03 web page. http://www.gaussian.com/g03.htm (2005). Accessed 13 Oct 2005
gcc manual web page. http://gcc.gnu.org/onlinedocs/ (2008). Accessed 13 Feb 2008
Ghosh P., Katare S., Patkar P., Caruthers J.M., Venkatasubramanian V., Walker K.A.: Sulfur vulcanization of natural rubber for benzothiazole accelerated formulations: from reaction mechanisms to a rational kinetic model. Rubber Chem. Technol. 76(3), 592–693 (2003)
Goyal A., Cao J., Patkar P., Medvedev G., Midkiff S., Venkatasubramanian V., Caruthers J.: Population balance kinetic model for interaction of 2-bisbenzothiazole-2-2′ disulfide (MBTS) with sulfur. Rubber Chem. Technol. 81(4), 671–708 (2008)
GSL web page. http://www.gnu.org/software/gsl/manual (2007). Accessed 17 Oct 2007
icc manual web page. http://www.intel.com/support/performancetools/c/linux/sb/cs-026076.htm (2008). Accessed 13 Feb 2008
Katare S., Caruthers J.M., Delgass W.N., Venkatasubramanian V.: An intelligent system for reaction kinetic modeling and catalyst design. Ind. Eng. Chem. Res. 43(14), 3484–3512 (2004)
Katare, S., Patkar, P., Ghosh, P., Caruthers, J.M., Delgass, W.N., Venkatasubramanian, V.: A systematic framework for rational materials formulation and design. In: Proceedings of the Symposium on Materials Design Approaches and Experiences, pp. 321–332. TMS (2001)
Knuth, D., Morris, J., Pratt, V.: Fast pattern matching in strings. SIAM J. Comput. (1), 322–350 (1977)
Levenberg K.: A method for the solution of certain problems in least squares. Quart. Appl. Math. 2, 164–168 (1944)
Marquardt D.: A algorithm for least squares estimation on nonlinear parameters. SIAM J. Appl. Math. 11, 431–441 (1963)
Novstrup, K.: Development of fundamental models of single-site olefin polymerization kinetics and the dependence upon catalyst structure. Ph.D. thesis, School of Chemical Engineering, Purdue University, 2010. In preparation
Prickett S.E., Mavrovouniotis M.L.: Construction of complex reaction syatems-I. Reaction description language. Comput. Chem. Eng. 21(11), 1219–1235 (1997)
Prickett S.E., Mavrovouniotis M.L.: Construction of complex reaction syatems-II. Molecule manipulation and reaction application algorithms. Comput. Chem. Eng. 21(11), 1237–1254 (1997)
Prickett S.E., Mavrovouniotis M.L.: Construction of complex reaction syatems-II An example:alkylation of olefins. Comput. chem. Eng. 21(11), 1325–1337 (1997)
Püschel M., Moura J.M.F., Singer B., Xiong J., Johnson J., Padua D., Veloso M., Johnson R.W.: Spiral: a generator for platform-adapted libraries of signal processing algorithms. Int. J. High Perform. Comput. Appl. 18(1), 21–45 (2004)
Rosen, B.K.,Wegman, M.N., Zadeck, F.K.: Global value numbers and redundant computations. In: POPL ’88: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, pp. 12–27, ACM Press, New York, NY, USA (1988)
Sorkin A.: Some comments on A solution to a problem with Morel and Renvoise’s ‘Global optimization by suppression of partial redundancies’. ACM Trans. Prog. Lang. Syst. 11(4), 666–668 (1989)
Xiong, J., Johnson, J., Johnson, R., Padua, D.: SPL: a language and compiler for DSP algorithms. In: PLDI ’01: Proceedings of the ACM SIGPLAN 2001 conference on Programming Language Design and Implementation, pp. 298–308, ACM Press, New York, NY, USA (2001)
xlc manual web page. http://www-306.ibm.com/software/awdtools/xlcpp/library. Accessed 13 Feb 2008
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Cao, J., Goyal, A., Novstrup, K.A. et al. An Optimizing Compiler for Parallel Chemistry Simulations. Int J Parallel Prog 37, 127–152 (2009). https://doi.org/10.1007/s10766-008-0087-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-008-0087-0