Skip to content

A SYCL based parallel implemetation of Lattice Boltzmann Method (2D Case)

Notifications You must be signed in to change notification settings

Ouadio/Parallel-Lattice-Boltzmann-SYCL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parallel Lattice Boltzmann Method : a SYCL DPC++ Implementation (CPU + GPU)

A minimal POC for 2D LBM (Lattice Boltzmann Method) simulation parallelized using the cross-architecture Programming Model DPC++ (by Intel) following the SYCL 2020 Khronos Standard.

Prepare and Build DPC++ Compiler

Check/install first prerequisites and build DPC++ Toolchain following the official documentation guide.

How to build with DPCPP as SYCL Compiler ?

Prepare build configuration ENV variables to use DPCPP clang compiler :

export PATH=$DPCPP_HOME/llvm/build/bin:$PATH
export LD_LIBRARY_PATH=$DPCPP_HOME/llvm/build/lib:$LD_LIBRARY_PATH

export CXX=clang++
export CC=clang

Build project for GPU or CPU :

mkdir build
cd build
cmake [-DUSE_GPU= OFF | ON] [-DENABLE_PROFILING = OFF | ON] [-DUSE_DOUBLE = OFF | ON]..
make

Run the simulation (optionally pass .ini parameters meta data file)

./src/runLBMSimulation [Path/to/parameters/file.ini]

About

A SYCL based parallel implemetation of Lattice Boltzmann Method (2D Case)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published