360.ilbdc
SPEC ACCEL Benchmark Description File

Benchmark Name

360.ilbdc


Benchmark Author

Thomas Zeiser (RRZE); motivated by joint work of the International Lattice Boltzmann Development Consortium (ILBDC).

OpenACC directives added by Mathew Colgrove from SPEC OMP2012 360.ilbdc


Benchmark Program General Category

Fluid Mechanics.


Benchmark Description

The benchmark kernel is geared to the collision-propagation routine of an advanced 3-D lattice Boltzmann flow solver using a two-relaxation-time (TRT-type) collision operator for the D3Q19 model. The benchmark kernel is not a complete flow solver.

Lattice Boltzmann flow solvers use a velocity-discrete Boltzmann equation and discretize space and time in such a way that an explicit (finite difference) numerical scheme with Euler forward time-stepping is obtained. The resulting fluid mechanical results satisfy the incompressible athermal Navier-Stokes equations with second order accuracy.

The specific data structures of the benchmark kernel use a list-based "sparse" data representation resulting in indirect data access patterns. However, especially for flow in porous media or blood flow simulations, such data structures are highly beneficial to efficiently recover the complex geometries.


Input Description

All input data is provided by the file "input.par" which must be located in the current working directory at execution time.

GX, GY, GZ : domain size; a domain of 100 x 100 x 100 will result in approx. 400 MB memory footprint
GEONME : activate exactly one of the sample lines; i.e. one must start without ! at the beginning of the line; see Makefile or sample for possible values
MAX_RUNTIME : maximum runtime in seconds
MAX_ITERAT : maximum number of iterations

The code stops when either MAX_RUNTIME or MAX_ITERAT is reached. This is disabled for the benchmark. The test data set is a 100x100x100 grid, the train data set is a 150x150x150 grid and the reference data set is a 500x300x300 grid.


Output Description

The output line "true FluidMLUPS" gives the performance; the higher the better. This has been disabled for the SPEC benchmark. Several values are output and checked for correctness.


Programming Language

Fortran


Known portability issues

None


Reference

Wellein:99
G. Wellein, T. Zeiser, G. Hager, S. Donath, On the single processor performance of simple lattice Boltzmann kernels, Computers & Fluids, Volume 35, Issues 8-9, September-November 2006, Pages 910-919, ISSN 0045-7930, DOI

Axer:08
L. Axner, J. Bernsdorf, T. Zeiser, P. Lammers, J. Linxweiler, A.G. Hoekstra, Performance evaluation of a parallel sparse lattice Boltzmann solver, Journal of Computational Physics, Volume 227, Issue 10, 1 May 2008, Pages 4895-4911, ISSN 0021-9991, DOI

Zeiser:09
T. Zeiser, G. Hager, G. Wellein, Benchmark analysis and application results for Lattice Boltzmann simulations on NEC SX vector and Intel Nehalem systems, Parallel Processing Letters (PPL), Volume 19, Issue 4, 2009, Pages 491-511, DOI


Last Updated: 15 Mar 2012