In 2017, Colleen Bertoni, a recent PhD graduate from Iowa State University, joined the Argonne Leadership Computing Facility (ALCF) as the recipient of its Margaret Butler Fellowship in Computational Science.
Now entering the second year of the two-year fellowship, Bertoni is working to improve the performance and accuracy of a new quantum chemistry code that can be used to calculate the properties of complex chemical systems, such as excitons for solar cells. Using this new code, she aims to carry out large-scale computational studies on ALCF supercomputers, with the goal of providing insights into chemical systems that could ultimately help scientists to design better materials.
Bertoni is the second postdoctoral researcher to receive the ALCF fellowship, which honors the lifetime achievements of Butler, a pioneering researcher in both computer science and nuclear energy. In the Q&A below, Bertoni discusses her ongoing research at the ALCF and how she got interested in high-performance computing (HPC) in the first place.
In graduate school, I was a developer for the GAMESS code, a quantum chemistry software package that runs on everything from laptops to supercomputers. I was involved in the development of an electronic structure method for GAMESS that aimed to study large molecular clusters and proteins (where “large” is hundreds and thousands of atoms). To enable the method to perform large-scale molecular dynamics simulations, I derived and implemented the gradient, which gives the force on each atom needed at every step of a molecular dynamics simulation. During this project, I realized that I really enjoyed finding hotspots in the code and parallelizing them. After that, I wanted to get more experience with HPC, and when a friend, who was a postdoc at Argonne, mentioned this fellowship to me, I jumped at the opportunity to apply.
I also was a graduate intern at Argonne in 2016, as part of the RAM Area Network (RAN) project, which seeks to treat RAM as a schedulable resource in compute clusters. I really enjoyed learning from computational and computer scientists at the ALCF. It was eye opening to see how they approached performance analysis and how they debugged problems. I’d recommend interning at the ALCF to any graduate student with an interest in HPC!
Probably the most exciting thing is the chance to work with the scientists and engineers at Argonne. A lot of the top researchers in HPC are here. It’s been great to learn from and collaborate with scientists from all different backgrounds—computing oriented and science oriented.
Additionally, it’s been interesting to see how each generation of supercomputer—from Mira to Theta—has new benefits and challenges for writing efficient code. Since Argonne is at the forefront of HPC, it’s an amazing place to see all the changes happen.
It’s also really exciting to have a chance to use the supercomputers here. One of my favorite things I’ve done so far is run calculations on Theta and Mira that use the whole machine.
Right now I’m mostly working with an electronic structure code that solves an approximation to the Schrödinger equation (the fundamental equation for describing quantum mechanical behavior) to calculate the properties of complex chemical systems. The code implements a method called Variational Subspace Valence Bond (VSVB), developed by my supervisor, Graham Fletcher, a computational scientist at the ALCF. VSVB is a unique electronic structure method in that it’s a valence bond method, which is different from standard molecular orbital-based electronic structure methods. However, it’s able to take advantage of separability and locality of a wave function in a way that lends itself to a highly efficient parallel implementation.
Working with Graham and other colleagues at Argonne, I just finished a project (hopefully soon to be published) that implemented some optimizations to the method and evaluated the scalability and parallel efficiency of the implementation, using all of Mira and almost all of Theta. One of the main molecular systems we’ve looked at has been an exciton, which is part of the process by which a type of solar cell can harness energy from light and use it as a source of electricity. Currently we’re using the exciton as a test case, but we look forward to trying other molecular systems in the future.
I’m also working on adding explicitly correlated integrals to the code for the VSVB method. With the addition of these integrals, we should be able to significantly improve the accuracy of the method by incorporating more electron-electron correlation, much of which is missing in the current VSVB wavefunction.
Another project I’m excited to be working on involves application work for Argonne’s future exascale system.
Most quantum chemistry methods have a high computational complexity and a large memory footprint. We can perform high-accuracy calculations on small systems (< 100 atoms or so), but large systems are still a challenge. Since a lot of chemistry happens in a solvated environment, this means that performing quantum chemistry calculations on molecular systems in realistic environments requires a lot of computational power.
I really enjoyed working with the GAMESS code in graduate school, and seeing how computation and simulation can inform theory and experiment, so it seemed like a natural decision to continue pursuing a career in computational science. My time at the ALCF has only got me more excited about the field. It has been interesting to see how each new generation of supercomputer brings with it new challenges to develop code with high parallel efficiency.
Some of what I’ve done is just trying to improve the performance of code, which involves modifying the code so that it runs more efficiently on supercomputers.
For the project that studied excitons, we performed calculations to gain insight into an object that’s a fundamental part of some solar cells. Understanding the shape and size of excitons can help scientists design new materials that can take energy from sunlight and turn it into electricity more efficiently.
I like hiking, reading, and playing puzzle games.