Implementing Finite Volume algorithms on GPUs - many-core.group ...
Implementing Finite Volume algorithms on GPUs - many-core.group ...
Implementing Finite Volume algorithms on GPUs - many-core.group ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Avoid flux-update kernel<br />
Initially, performed update as:<br />
calcFlux(u, flux, X COORD) flux = f x (u)<br />
addFlux(u, flux) u = u + f x (u)<br />
calcFlux(u, flux, Y COORD) flux = f y (u)<br />
addFlux(u, flux) u = u + f y (u)<br />
Instead, we can calculate updated soluti<strong>on</strong> directly in extra array:<br />
advanceSoln(u, u plus, X COORD) u + = u + f x (u)<br />
advanceSoln(u plus, u, Y COORD) u = u + + f y (u + )<br />
Time now: 7.13s (126.6×)<br />
<str<strong>on</strong>g>Finite</str<strong>on</strong>g> <str<strong>on</strong>g>Volume</str<strong>on</strong>g> Methods<br />
Laboratory for Scientific<br />
Computing<br />
15 / 22