  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.
