In Proceedings of the Tenth International Symposium on Practical Aspects of Declarative Languages (PADL 08), LNCS, Springer-Verlag, 2008. (This is a thoroughly revised and updated version of Generative Code Specialisation for High-Performance Monte-Carlo Simulations.)
Abstract
We address the tension between software generality and performance in the
domain of simulations based on Monte-Carlo methods. We simultaneously
achieve generality and high performance by a novel development methodology
and software architecture centred around the concept of a
specialising simulator generator. Our approach combines and extends
methods from functional programming, generative programming, partial
evaluation, and runtime code generation. We also show how to generate
parallelised simulators.
We evaluated our approach by implementing a simulator for advanced forms of polymerisation kinetics. We achieved unprecedented performance, making Monte-Carlo methods practically useful in an area that was previously dominated by deterministic PDE solvers. This is of high practical relevance, as Monte-Carlo simulations can provide detailed microscopic information that cannot be obtained with deterministic solvers.
PDF (17 pages)
Project website with source code and a
companion paper focusing on the chemistry side of the research.
This page is part of Manuel Chakravarty's WWW-stuff.