In this paper, we present an efficient and simple solution to the parallelization of discrete integration programs of ordinary differential equations (ODE). The main technique used is known as loop tiling. To avoid the overhead due to code complexity and border effects, we introduce redundant tasks and we use non parallelepiped tiles. Thanks both to cache reuse (×4:3) and coarse granularity (×24:5), the speedup using 25 processors over the non-tiled sequential implementation is larger than 106.We also present the draft of a fuzzy methodology to optimize the tile size and we illustrate it using real measurements for the communication cost and the execution time. In particular, we observe that the model of communication latencies over a Myrinet network is not as simple as is usually reported.
['Fabrice Rastello', 'Thierry Dauxois']
Efficient tiling for an ODE discrete integration program: redundant tasks instead of trapezoidal shaped-tiles