Morton-Ordered GPU Lattice Boltzmann CFD Simulations with Application to Blood Flow

Abstract

Computational fluid dynamics (CFD) is routinely used for numerically predicting cardiovascular-system medical device fluid flows. Most CFD simulations ignore the suspended cellular phases of blood due to computational constraints, which negatively affects simulation accuracy. A graphics processing unit (GPU) lattice Boltzmann-immersed boundary (LB-IB) CFD software package capable of accurately modelling blood flow is in development by the authors, focusing on the behaviour of plasma and stomatocyte, discocyte and echinocyte red blood cells during flow. Optimised memory ordering and layout schemes yield significant efficiency improvements for LB GPU simulations. In this work, comparisons of row-major-ordered Structure of Arrays (SoA) and Collected Structure of Arrays (CSoA) memory layouts with a Morton-ordered SoA memory layout for the LB plasma solver are presented, with speedups of up to 20% achieved against the base row-major-ordered SoA model. Further investigation is recommended on whether these efficiency increases remain for larger mesh densities in comparison to CSoA layouts, and hybrid Morton ordering schemes could alleviate any limitations with dimension sizing. The current optimisations are deemed useful for future blood simulation validation work involving cubic LB domains, such as optical tweezers tests and in-plane and out-of-plane shear flow

    Similar works