Abstract Modified Moving Particle Semi-implicit (MMPS) is a particle-based method used to simulate pore-scale fluid flow through disordered porous media. We present a multi-GPU implementation of MMPS for hybrid CPU–GPU clusters using NVIDIA’s Compute Unified Device Architecture (CUDA). Message Passing Interface (MPI) functions are used to communicate between different nodes of the cluster and hence their respective GPUs. The accuracy and stability of the GPU implementation of MMPS are verified through careful comparison with the results obtained on conventional CPU-only clusters. We then examine the speedup and scalability of the GPU implementation for pore-scale flow simulations in samples with various sizes taken from the same natural porous system. We achieve a 134 × speedup with 60 graphics cards compared to 6 CPU cores while maintaining a linear scalability. Incompressible fluid flow simulation to reach steady-state through a 1 mm×1 mm×8 mm microtomography image of Bentheimer sandstone is also performed in less than 1 h.
[1]
Jie Cheng,et al.
Programming Massively Parallel Processors. A Hands-on Approach
,
2010,
Scalable Comput. Pract. Exp..
[2]
Mohammad Piri,et al.
Direct pore-level modeling of incompressible fluid flow in porous media
,
2010,
J. Comput. Phys..
[3]
Mohammad Piri,et al.
Pore-scale modeling of dispersion in disordered porous media.
,
2011,
Journal of contaminant hydrology.
[4]
Anoop Gupta,et al.
Parallel computer architecture - a hardware / software approach
,
1998
.
[5]
Inanc Senocak,et al.
An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters
,
2010
.