Mitglied der Helmholtz-Gemeinschaft
S7260: Microswimmers on Speed: Simulating Spheroidal Squirmers on GPUs
Elmar Westphal - Forschungszentrum Jülich GmbH
S7260: Microswimmers on Speed: Simulating Spheroidal Squirmers on - - PowerPoint PPT Presentation
S7260: Microswimmers on Speed: Simulating Spheroidal Squirmers on GPUs Mitglied der Helmholtz-Gemeinschaft Elmar Westphal - Forschungszentrum Jlich GmbH Spheroids Spheroid: A volume formed by rotating an ellipse around one of its axes
Mitglied der Helmholtz-Gemeinschaft
Elmar Westphal - Forschungszentrum Jülich GmbH
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
2
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
Ein grünes Pantoffeltierchen Frank Fox / www.mikro-foto.de license CC BY-SA 3.0 de
Example: Paramecium bursaria
3
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
4
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
5
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
Dynamics” (MPC) to simulate the fluid
millions of fluid particles
6
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
Dynamics” (MPC) to simulate the fluid
millions of fluid particles
GPU to the Rescue!
6
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
Please note that our simulation is in fact a 3-dimensional system. To explain the algorithms, 2D-drawings are used for the sake of simplicity.
7
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
8
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
One thread per particle, memory-bound
9
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
sorted into cells of a randomly shifted grid
10
One thread per particle, memory-bound
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
sorted into cells of a randomly shifted grid
mass velocity, kinetic energy and angular momentum are computed
11
One thread per particle, atomic-bound, then one thread per cell, memory-bound
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
sorted into cells of a randomly shifted grid
mass velocity, kinetic energy and angular momentum are computed
12
One thread per particle, memory-bound by random cell-data reads (texture cache)
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
sorted into cells of a randomly shifted grid
mass velocity, kinetic energy and angular momentum are computed
rotated around a random axis
13
One thread per particle, memory-bound by random cell-data reads (texture cache)
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
sorted into cells of a randomly shifted grid
mass velocity, kinetic energy and angular momentum are computed
rotated around a random axis
need to be restored
several steps using one thread per particle or cell, mostly atomic-bound
14
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
*the speed of atomic operations has improved significantly over time, so parts of the implementation described here have been abandoned
15
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
16
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
17
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
17
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
17
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
17
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
requires rotating particles into the squirmers frame of reference and scaling according to its ratio
against every squirmer is too much work, even for a GPU
18
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
requires rotating particles into the squirmers frame of reference and scaling according to its ratio
against every squirmer is too much work, even for a GPU
18
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
requires rotating particles into the squirmers frame of reference and scaling according to its ratio
against every squirmer is too much work, even for a GPU X
18
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
spheroid can not exceed a sphere matching its centre and largest radius
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
spheroid can not exceed a sphere matching its centre and largest radius
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
particles it contains
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
spheroid can not exceed a sphere matching its centre and largest radius
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
particles it contains
from Nsq x Nfluid to ~Nsq x Vsq* ρ
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
particles it contains
spheroid can not exceed a sphere matching its centre and largest radius
affected by its surrounding sphere (they may overlap)
spheroid can not exceed a sphere matching its centre and largest radius
19
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
contains its surrounding sphere
dimensions:
threads per block)
threadIdx.x threadIdx.y
blockIdx.y blockIdx.x
20
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
21
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
additional cell in one direction)
the performance of the MPC implementation on GPU:
22
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
23
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
24
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
25
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
26
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
The next version (currently testing) will definitely feature…
executables from the same sources (real kernels, not pragma-based)
… and is prepared for
27
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
28
800 Squirmers in slit, Lx=Lz=300, Ly=7, ~7M fluid particles, 20M timesteps, 2-3 weeks walltime Simulation and rendering courtesy of Mario Theers Further reading:
DOI: 10.1039/C6SM01424K (Paper) Soft Matter, 2016, 12, 7372-7385
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
28
800 Squirmers in slit, Lx=Lz=300, Ly=7, ~7M fluid particles, 20M timesteps, 2-3 weeks walltime Simulation and rendering courtesy of Mario Theers Further reading:
DOI: 10.1039/C6SM01424K (Paper) Soft Matter, 2016, 12, 7372-7385
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
29
~100 Squirmers in flow, Lx=300, Ly=Lz=60, ~11M fluid particles, 1M timesteps, 14h walltime
Simulation courtesy of Hemalatha Annepu, rendering courtesy of Mario Theers
Mitglied der Helmholtz-Gemeinschaft
Squirmers on Speed - Elmar Westphal - Forschungszentrum Jülich
29
~100 Squirmers in flow, Lx=300, Ly=Lz=60, ~11M fluid particles, 1M timesteps, 14h walltime
Simulation courtesy of Hemalatha Annepu, rendering courtesy of Mario Theers