Clawpack, a conservation laws package implemented in Fortran, and its Python-based
version, PyClaw, are existing tools providing nonlinear wave propagation solvers
that use state of the art finite volume methods. Simulations using those tools can
have extensive computational requirements to provide accurate results. Therefore,
a number of tools, such as BearClaw and MPIClaw, have been developed based on
Clawpack to achieve significant speedup by exploiting parallel architectures. However,
none of them has been shown to scale on a large number of cores. Furthermore,
these tools, implemented in Fortran, achieve parallelization by inserting parallelization
logic and MPI standard routines throughout the serial code in a non modular
Our contribution in this thesis research is three-fold. First, we demonstrate an
advantageous use case of Python in implementing easy-to-use modular extensible
scalable scientific software tools by developing an implementation of a parallelization
framework, PetClaw, for PyClaw using the well-known Portable Extensible Toolkit for Scientific Computation, PETSc, through its Python wrapper petsc4py.
Second, we demonstrate the possibility of getting acceptable Python code performance
when compared to Fortran performance after introducing a number of serial
optimizations to the Python code including integrating Clawpack Fortran kernels into
PyClaw for low-level computationally intensive parts of the code. As a result of those
optimizations, the Python overhead in PetClaw for a shallow water application is
only 12 percent when compared to the corresponding Fortran Clawpack application.
Third, we provide a demonstration of PetClaw scalability on up to the entirety
of Shaheen; a 16-rack Blue Gene/P IBM supercomputer that comprises 65,536 cores
and located at King Abdullah University of Science and Technology (KAUST). The
PetClaw solver achieved above 0.98 weak scaling efficiency for an Euler application
on the whole machine excluding the initialization overhead that is less significant in
potential long runs of PetClaw applications. The solver also achieved superlinear
strong scaling efficiency for an acoustics application on 1,024 cores.
Furthermore, we provide reproducibility information for all the computational
experiments presented in this thesis.
|Date of Award||Apr 2012|
- Computer, Electrical and Mathematical Science and Engineering
|Supervisor||David Ketcheson (Supervisor)|