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. © Springer-Verlag Berlin Heidelberg 2008.
CITATION STYLE
Keller, G., Chaffey-Millar, H., Chakravarty, M. M. T., Stewart, D., & Barner-Kowollik, C. (2007). Specialising simulator generators for high-performance Monte-Carlo methods. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4902 LNCS, pp. 116–132). https://doi.org/10.1007/978-3-540-77442-6_9
Mendeley helps you to discover research relevant for your work.