Article ID Journal Published Year Pages File Type
429357 Journal of Computational Science 2011 11 Pages PDF
Abstract

We present a software approach to hardware-oriented numerics which builds upon an augmented, previously published set of open-source libraries facilitating portable code development and optimisation on a wide range of modern computer architectures. In order to maximise efficiency, we exploit all levels of parallelism, including vectorisation within CPU cores, the Cell BE and GPUs, shared memory thread-level parallelism between cores, and parallelism between heterogeneous distributed memory resources in clusters. To evaluate and validate our approach, we implement a collection of modular building blocks for the easy and fast assembly and development of CFD applications based on the shallow water equations: We combine the Lattice-Boltzmann method with fluid-structure interaction techniques in order to achieve real-time simulations targeting interactive virtual environments. Our results demonstrate that recent multi-core CPUs outperform the Cell BE, while GPUs are significantly faster than conventional multi-threaded SSE code. In addition, we verify good scalability properties of our application on small clusters.

Research highlights► We exploit all levels of parallelism with the hardware-oriented numerics approach. ► This covers parallelism within CPU cores, the Cell BE, GPUs and clusters. ► We combine the Lattice-Boltzmann method with fluid-structure interaction techniques. ► We achieve real-time simulation performance for interactive virtual environments.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics
Authors
, , , ,