The 2012 [HPC]^3 workshop at KAUST just ended. It’s been a busy week with lots of exciting developments — this was a workshop with an emphasis on work. Each morning there were a few talks, but the afternoons were devoted to working in groups developing new software capabilities, much of it related to Clawpack and in particular the PyClaw suite of software. This was the second such workshop at KAUST and some of the projects were continuations of things started at the 2011 workshop.
The title [HPC]^3 refers to 3 different interpretations of the acronym HPC. The full title is High Performance Computing and Hybrid Programming Concepts for Hyperbolic PDE Codes.
The workshop program is on the web and eventually videos and slides from the talks will also appear, so I won’t say too much about these here. Instead I’ll mention a few of the highlights and accomplishments of the working groups. Eventually a final report from each group will be posted. For now you can find out more about what went on in some groups on the workshop wiki.
- The AMR group (Donna Calhoun, Tobias Weinzierl, Carsten Burstedde, Kristof Unterweger, Amal Alghamdi, Qi Tang, Kyle Mandli, and Marsha Berger via Skype) made progress on two different approaches to incorporating tree-based adaptive mesh refinement into PyClaw, one based on p4est and the other on Peano.
- The Manycore group (George Turkiyyah, Nathan Bell, Andy Terell, Garune Ohannessian, Rio Yokota) made it possible to call CUDAClaw from Python and started re-engineering it to simplify other manycore implementations, including OpenCL, TBB, and ISPC.
- The implicit group (Jed Brown, Matteo Parsani, Lulu Liu) did some interesting work on using preconditioners for hyperbolic systems that equalize the wave speeds and on an implementation of downwind WENO for Runge-Kutta stages with negative coefficients.
- The Discontinuous Galerkin group (James Rossmanith and Scott Moe) wrapped DoGPack in Python and got it working with VisClaw. They started planning how to more fully incorporate DG into a DoGClaw code.
- Matt Emmett started working on applying WENO on mapped grids, and has a working code in 1d.
- The geosciences group (Chris Kees, Marc Hesse, Robert Weiss) worked on Clawpack implementations of two problems: two-phase flow in porous media with an interesting nonconvex and multimodal flux function, and sediment transport with an eye towards tsunami deposits. The final presentation also had a nice demo of the new IPython Notebook.
- The visualization and steering group (Madhu Srinivasan, Chris Knox, Atanas Atanasov, Bruce D’Amora) made progress on several fronts: improvement in the HDF5 PyClaw output routines and conversion of this output to xdmf form, starting to add VisIt and Paraview capabilities into VisClaw using this form, and coupling on-the-fly visualization into PyClaw so that the solution can be plotted during computation rather than as postprocessing. The ultimate goal is to use this to help steer the computation.
- A documentation sprint one evening got us started working on using Sphinx to better document each example and produce a better set of galleries of sample results. Yiannis Hadjimichael and Amal Alghamdi fixed many documentation pages to reflect recent changes to the code, and got the doctests working.
Thanks to everyone who participated and worked so hard, often late into the night. Thanks to my co-organizers and the other plenary speakers who moved between groups and helped out with many issues. And a special thanks to [David K]^2 (Ketcheson and Keyes) for helping create the wonderful environment at KAUST for computational science and multi-cultural interaction (including elliptic/hyperbolic and FEM/FV!), and for the financial support of the workshop and participants.