<div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Fri, Dec 14, 2018 at 2:47 PM Samuel Miller via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><div>I’m in the process of planning a basic fluids code based on the lattice Boltzmann method (LBM) and would like some input from the petsc user base. All the computation in LBM is local, so parallelization is straightforward and can be simply done in a threaded application; a simple google search yields numerous of simple LBM codes on GitHub. I’d like to possibly use petsc's dmda to facilitate splitting the grid across multiple compute nodes and use a framework like libocca (cuda/opencl/openmp backend) to handle the on-node computation through kernels. In my limited knowledge, it looks like libraries like libCEED do something similar to this. I’ve also looked through a LANL code called Taxila that uses fortran and petsc for LBM, but that doesn’t use kernels.</div><div><br></div><div>Is it overkill (or recommended even) to have petsc split the grid across nodes, while the majority of the computation is handled by a cuda/opencl/openmp kernel?</div></div></blockquote><div><br></div><div>The streaming operation is not completely local, because it connects adjacent vertices. In parallel, this may mean</div><div>moving between processes. This can be managed by DMDA efficiently for regular grids. This is exactly how</div><div>PetCLAW (<a href="https://github.com/clawpack/pyclaw">https://github.com/clawpack/pyclaw</a>) uses DMDA.</div><div><br></div><div>  THanks,</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word">Thanks for your input,<div><br><div>
<div style="color:rgb(0,0,0);font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">Sam</div><br class="gmail-m_2321674347744321124Apple-interchange-newline">
</div>

<br></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div></div>