2014/12/01 by Mario Mulansky, Mulansky, Mario
Computer Science · Decision Sciences · Mathematics · #Advanced Data Storage Technologies #Chaotic Dynamics (nlin.CD) #Computational Physics (physics.comp-ph) #FOS: Computer and information sciences #FOS: Physical sciences #Numerical methods for differential equations #Performance (cs.PF) #Simulation Techniques and Applications
paper · pdf · doi:10.48550/arxiv.1412.0544
openalex publication_date 2014/12/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
We present a strategy to speed up Runge-Kutta-based ODE simulations of large systems with nearest-neighbor coupling. We identify the cache/memory bandwidth as the crucial performance bottleneck. To reduce the required bandwidth, we introduce a granularity in the simulation and identify the optimal cluster size in a performance study. This leads to a considerable performance increase and transforms the algorithm from bandwidth bound to CPU bound. By additionally employing SIMD instructions we are able to boost the efficiency even further. In the end, a total performance increase of up to a factor three is observed when using cache optimization and SIMD instructions compared to a standard implementation. All simulation codes are written in C++ and made publicly available. By using the modern C++ libraries Boost.odeint and Boost.SIMD, these optimizations can be implemented with minimal programming effort.