Lattice Boltzmann Solvers in DPC++

SankhyaSutra Labs builds massively high-fidelity multiphysics solvers that cater to design and optimization needs in the following sectors: 

  • Aerospace
  • Automotive
  • Healthcare
  • Petrochemical 
  • Semiconductor process engineering

Their high-fidelity solvers are complemented by reduced-order models (based on machine learning) that quickly filter out candidates of interest in large dimensional-design parameter spaces. This session highlights SankhyaSutra Labs experience of porting a core solver to DPC++. 

The lattice Boltzmann method simulates the movement and interaction of mesoscopic particles. It reproduces the continuum behavior of partial differential equations like the Fourier equation for thermal physics and Navier-Stokes equation for flow physics. The method involves manipulating vectors at each grid point of a lattice using repeated application of two kernels: 

  • A memory-bandwidth-limited advection kernel that performs a strided copy of variables along stencil directions
  • A compute-limited collision kernel that involves numerous matrix operations on small vectors

SankhyaSutra Labs runs fined-tuned C++ implementations of these solvers on CPUs. Through the Intel® oneAPI Base Toolkit and HPC Toolkits, they converted C++ solver modules to DPC++ device kernels. This process uses performance benefits from heterogeneous nodes containing CPUs, GPUs, and, FPGAs while maintaining a unified codebase.

Intel® oneAPI Base Toolkit

Get started with this core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures. 

Get It Now

See All Tools
Training
SankhyaSutra Labs