Implementing Particle Based Numerical Methods on Multi-Core. Holmes, D., Williams, J., Tilke, P, & Leonardi, C. Journal of Computational Physics, 0.
abstract   bibtex   
This paper discusses the implementation of meshless and particle based numerical methods for parallel computing architectures based on multi-core. General strategies are developed for spatial management and thread coordination that optimally suit the performance characteristics of such hardware configurations. Hashing cell techniques have been used widely in particle based numerical methods to achieve algorithmically efficient interaction tracking. In this paper, we extend such a technique so that hashed cells double as fine grained spatial domains that align to parallel execution tasks. Such an approach is easily implemented on shared memory platforms like multi-core and has been found to have optimal load balancing, cache and task coordination characteristics. Additionally, the way in which tasks are mapped to execution threads has a significant influence on the memory footprint of an application and it is shown that memory efficiency is one of, if not the, most important factor in achieving execution speed and performance on multi-core. The H-Dispatch algorithm developed in a previous work (Holmes et al, Comput. Phys. Commun. 2010; 181: 341-354) is used to distribute tasks to processing cores. The performance of the developed numerical strategies are demonstrated in speed-up and efficiency tests on a smooth particle hydrodynamics (SPH) fluid flow simulator. Results for efficiency of upwards of 90% are achieved on a 24-core machine.
@article{Holmes_Implementing,
  author={Holmes, {D.W.} and Williams, {J.R.} and Tilke, P and Leonardi, {C.R.}},
  title={Implementing Particle Based Numerical Methods on {Multi-Core}},
  abstract={This paper discusses the implementation of meshless and particle based numerical methods for parallel computing architectures based on multi-core. General strategies are developed for spatial management and thread coordination that optimally suit the performance characteristics of such hardware configurations. Hashing cell techniques have been used widely in particle based numerical methods to achieve algorithmically efficient interaction tracking. In this paper, we extend such a technique so that hashed cells double as fine grained spatial domains that align to parallel execution tasks. Such an approach is easily implemented on shared memory platforms like multi-core and has been found to have optimal load balancing, cache and task coordination characteristics. Additionally, the way in which tasks are mapped to execution threads has a significant influence on the memory footprint of an application and it is shown that memory efficiency is one of, if not the, most important factor in achieving execution speed and performance on multi-core. The {H-Dispatch} algorithm developed in a previous work {(Holmes} et al, Comput. Phys. Commun. 2010; 181: 341-354) is used to distribute tasks to processing cores. The performance of the developed numerical strategies are demonstrated in speed-up and efficiency tests on a smooth particle hydrodynamics {(SPH)} fluid flow simulator. Results for efficiency of upwards of 90\% are achieved on a 24-core machine.},
  journal={Journal of Computational Physics},
  year={0},
  keywords={02
05
07
20
60
70
89
cb
ff
h-dispatch
hydrodynamics
multi-core
ns
pacs
particle based numerical method
partition of unity
smooth particle
spacial hashing
thread safety
tp}
}

Downloads: 0