QDK/Chemistry

QDK/Chemistry is an open-source C++/Python toolkit, part of the Microsoft Quantum Development Kit (QDK), that connects classical electronic structure methods to chemistry-aware quantum algorithms for quantum computing applications.

GauXC

  • Principal Developer / Maintainer 2019-present
  • Github

GauXC is a modern C++ library for massively parallel, GPU accelerated Gaussian basis DFT simulations. It is the primary DFT driver for NWChemEx and is used by a number of other packages, including ExaChem, Psi4, MPQC, QDK/Chemistry, and the Skala deep-learned exchange-correlation functional.

ExchCXX

  • Principal Developer / Maintainer 2019-present
  • Github

ExchCXX is a modern C++ library for GPU accelerated evaluation of exchange-correlation functionals required for DFT simulations. It is the underlying XC implementation for GauXC, but can be used for any software which requires spacial evaluation of XC functions on GPU accelerators.

IntegratorXX

  • Principal Developer / Maintainer
  • Github

IntegratorXX is a modern C++ library for the generation of numerical quadratures, including the atomic and molecular integration grids used in DFT simulations.

MACIS

  • Principal Developer / Maintainer
  • Github

MACIS (Many-Body Adaptive Configuration Interaction Suite) is a modern C++ library for massively parallel, distributed memory selected configuration interaction methods, including the adaptive sampling CI (ASCI) method.

NWChemEx

  • Contributor 2018-2024
  • Github

NWChemEx is a quantum chemistry code originally funded by the DOE Exascale Computing Project (ECP). My contributions have been in the development of their density functional theory implementation as well as in the integration of scalable linear algebra solvers suitable for exascale computing.

Chronus Quantum (ChronusQ)

  • Principal Developer / Maintainer 2014-2018
  • Contributor 2018-2024
  • Github

ChronusQ is a production quantum chemistry software package written in C++11 specializing in electronic dynamics and relativistic effects in molecular quantum mechanics. It was the primary deliverable from my Ph.D research and is currently maintained by the Li Research Group.

TiledArray

  • Contributor (2020-2024)
  • Github

TiledArray is a distributed memory tensor contraction library developed by the Valeev group at Virginia Tech. My primary contributions to TiledArray have been in the development of interfaces for TiledArray data structures to high-performance linear algebra software (e.g. ScaLAPACK, SLATE, etc).

scalapackpp

  • Developer / Maintainer
  • Github

scalapackpp is a C++17 wrapper around the ScaLAPACK distributed memory linear algebra package.

blacspp

  • Developer / Maintainer
  • Github

blacspp is a C++17 wrapper around the BLACS library utilized in distributed memory linear algebra software (e.g. ScaLAPACK)

HAXX

  • Developer / Maintainer
  • Github

HAXX (Hamilton’s Quaternion Algebra for CXX) is a C++14 software infrastructure for the development of efficient scalar and tensorial quaternion algorithms. The novelty of HAXX is that it contained an optimized implementation of quaternionic matrix multiplication for AVX / AVX2.

HAXX was the product of my MolSSI software fellowship in 2017–2018.

PEXSI

The Pole EXpansion and Selected Inversion (PEXSI) method is a fast method for electronic structure calculation based on Kohn-Sham density functional theory. It efficiently evaluates certain selected elements of matrix functions, e.g., the Fermi-Dirac function of the KS Hamiltonian, which yields a density matrix. It can be used as an alternative to diagonalization methods for obtaining the density, energy and forces in electronic structure calculations. The PEXSI library is written in C++, and uses message passing interface (MPI) to parallelize the computation on distributed memory computing systems and achieve scalability on more than 10,000 processors.

My contribution to PEXSI has been in the development of the modern CMake build system.

CMake Modules

I also curate and maintain a set of CMake modules which target HPC software Github.