High-Performance Scientific Computing

Our research group uses a variety of HPC resources and methods. In most cases these are embedded in papers that focus on a scientific question and are published in the astronomical literature. This page highlights a few of the cases when we have described algorithms in more detail.


My research group has several projects making use of Julia, a modern language designed for high-performance numerical computing. Julia has many advantages compared to C/C++, Fortran, IDL, Java, Matlab, Perl, Python, R, etc. I encourage all astronomers and statisticians to learn about Julia and consider adopting for their futures projects.

N-body Integrators

Planet formation simulations often make use of sophisticated n-body integrators, including geometric and symplectic algorithms. My group collaborated with compute scientists to develop Swarm-NG a GPU-based n-body integrator. While the code hasn’t gained widespread use, the algorithms and parallelization strategies (described in New Astronomy) are likely still of interest for researchers interested in parallelizing n-body codes.

Bayesian Computing

We develop practical tools for performing Bayesian analyses of multiple planet systems, the hierarchical modeling of exoplanet populations, and analyzing time-series of high-resolution Echelle spectra. In some cases, we build our codes so that they can make use of extensive parallelization, including distributed computing and GPU accelerators.


My research group includes several users of Penn State’s Advanced CyberInfrastructure operated by ICDS-ACI. We group also uses CyberLAMP, a hybrid cluster that includes multi-core CPU nodes, 101 GPUs (NVIDIA P100) and 12 Intel Phis (Knights Landing).