January 23, 2019
For Tom Epperly, writing software is both a lifelong avocation and a hobby. So, working on a major redesign of NIF’s Virtual Beam Line (VBL) code is a dream come true. As the software architect of the VBL++ project, he is part of the team responsible for reimplementing the older Java-based VBL code into C++ so it can run on supercomputers.
“The chance to be the software architect for the redesign of a significant LLNL code from the ground up is a wonderful opportunity,” he said. “I’ve only done that one other time in my career.”
VBL has been used since 2000 to model laser beams traveling through space and optical components, such as those used on NIF. “Now we want to model broadband lasers,” said Epperly. “Because a broadband laser has a wider array of frequencies, you need to significantly increase the resolution in time and space. That takes a lot more computing power.”
The project is more than moving from Java to C++; it’s also about taking advantage of computing advances.“The thinking on how to maximize computation speed has changed. At the time the VBL was originated, you did that by minimizing the number of operations a computer performed,” Epperly explained. “Now we understand writing to memory is more time-consuming, in terms of computational speed, than performing an operation. Now we write code to minimize data movement, not the number of operations.”
Barry Fishler leads the VBL++ team, which also includes Kathleen McCandless, Jarom Nelson, Maxwell Osawe, and Ashka Shah. The team met its “First Light” milestone in July 2017 and the HPC milestone in March 2018. The upcoming Rigel release, the next major milestone, will be able to run the full NIF model as it exists today. The team will also begin building the infrastructure to model broadband.
A Software Dream Come True
The roots of Epperly’s career as a software architect go back to elementary school. “One of my friends got a TRS-80 and later an Apple II,” Epperly said. “We started playing around with these machines and trying to write programs. Then I got really into it and learned everything I could about the Apple II.”
In high school, he wrote accounting software for a local homebuilder. As a chemical engineering undergraduate at Carnegie Mellon University, he continued working as a programmer. These two interests came together in his junior year of college when Epperly began working on ASCEND, a mathematical modeling program for chemical engineering problems.“This became my thing,” he said. “Using software systems to solve mathematical problems that can’t be solved any other way.”
He received a DOE Computational Science Graduate Fellowship (CSGF) while pursuing his PhD in chemical engineering with an emphasis on computer science at the University of Wisconsin-Madison. Next was a postdoctoral appointment at Imperial College London, where he developed design tools using mathematical optimization techniques. His first job brought him back to the United States – to Aspen Technology in Cambridge, Massachusetts – where he developed a framework for mathematical modeling of chemical engineering projects and plants with a real-time optimization capability.
Epperly had begun thinking about a career change when the DOE CSGF program contacted him to update their alumni records. “I mentioned I was looking for a new job, and within weeks I had interviews at both Lawrence Livermore and Sandia national labs,” he said. “I was hired for the Common Component Architecture, which was my first opportunity to work on a software project from the ground up.”Dancing and Hamming It Up
In his free time, Epperly has returned to an old pastime – ballroom dancing with his wife, Meg. Before having children, the couple were such avid dancers that at their wedding reception, they had ballroom dance instructors teach guests to waltz and to do the Jitterbug so they could all dance together. Now facing a looming empty nest, with one son in college and the other a high school senior, they are out on the dance floor several nights a week.
It’s not surprising Epperly’s other hobby involves writing software for scoring competitive amateur radio contests. In ham radio contesting, enthusiasts connect with as many other operators as possible during a set time period, earning points for the number of contacts they make, with multipliers for geographic diversity.
Ultimately, this creates a lot of data. “It turns into an interesting data science problem,” he said. In the California QSO party last October, Epperly scored the logs of 888 ham operators. Collectively, the participants made nearly 200,000 contacts.
“I guess I seek out programming opportunities,” said Epperly. “I’m just a real software kind of guy.”