Using AmgX to Accelerate PETSc-Based CFD Codes

2017-05-18T17:45:09Z (GMT) by Pi-Yueh Chuang Lorena A. Barba
[This file set supplements the presentation by Pi-Yueh Chuang at 2016 GPU Technology Conference, on Thu. April 7th: see session S6355.]<div><br></div><div>Please cite as:<div><br></div><div>Chuang, Pi-Yueh; Barba, Lorena A. (2017): Using AmgX to Accelerate PETSc-Based CFD Codes. figshare.</div><div><a href="https://doi.org/10.6084/m9.figshare.5018774.v1">https://doi.org/10.6084/m9.figshare.5018774.v1</a></div><div><br></div><div>The file set includes a Jupyter notebook that reports how we accelerated our PETSc-based CFD solver, <a href="https://github.com/barbagroup/PetIBM">PetIBM</a>, with multi-GPU capability enabled through AmgX library. <a href="https://www.mcs.anl.gov/petsc/">PETSc</a>, developed by Argonne National Laboratory, is a toolkit for parallel scientific computing. <a href="https://developer.nvidia.com/amgx">AmgX</a> is an NVIDIA library providing multigrid preconditioners and Krylov linear solvers. It features the capability of multi-GPU computing through MPI. We developed <a href="https://github.com/barbagroup/AmgXWrapper">AmgXWrapper</a> to couple PETSc and AmgX, so that we can easily integrate AmgX into PetIBM with less than 10 lines of code modification.</div><div><div><br></div><div>The links in references are:</div><div>* Video record of GTC 2016 presentation</div><div>* Rendered version of the notebook viewed on nbviewer</div><div>* GitHub repository of AmgXWrapper</div><div>* GitHub repository of PetIBM<br></div></div></div>