Princeton University held its first computing bootcamp for graduate students and postdocs on Oct. 29 to Nov. 1, four days of short introductory-level lectures and hands-on exercises on a variety of topics, tools and techniques necessary for modern computational research careers. Some 80 graduate students and postdocs from 21 departments signed up for this new training.
Organized and sponsored by the Princeton Institute for Computational Science and Engineering (PICSciE) and OIT Research Computing, the program was co-sponsored by the School of Engineering and Applied Science, Princeton Neuroscience Institute, Program in Applied and Computational Mathematics, and Center for Statistics and Machine Learning.
Said bootcamp organizer Ian Cosden, manager of HPC Software Engineering and Performance Tuning: “We’ve been offering individual workshops and training courses ‘a-la-carte’ for a long time. But students can still wind up with significant holes in their knowledge, because people don’t always know what they don’t know. We sought input from a dozen faculty members all over campus as we crafted this wide-ranging overview curriculum. Their contributions were very helpful and their response was overwhelmingly positive. That’s when I knew we were on to something.”
Bootcamp participant Beatriz Gonzalez del Rio, a mechanical and aerospace engineering postdoctoral researcher in Dean Emily Carter’s group, is investigating the different properties of liquid metal alloys in order to discover the right materials to withstand the heat inside fusion reactors.
“All of my research is based on high-performance computing simulations,” Gonzalez del Rio said. “Some are conducted using commercial software and others using software developed within my research group. To be successful, I need to understand how to apply various computational techniques to customize the code to my research and make it as efficient as possible.”
When designing the bootcamp curriculum, Cosden said he and his colleagues wanted to address some of the most common questions graduate students bring to the weekly Help Sessions (run by PICSciE, OIT and other academic departments) on topics such as version control, command line tools and how to use an HPC cluster.
“We also tried to hit on as many subjects that faculty felt their students needed, regardless of background or research area: visualization techniques, debugging, reproducibility and basic software engineering principles,” added Cosden. “Finally we wanted to shed light on a few subjects that are, in some cases, completely foreign to new researchers, such as parallel programming, data transfer and performance tuning.
“We had 13 instructors leading 18 different sessions ranging from 30 minutes to 2 hours, each with the modest goal of exposure rather than expertise. To use an imperfect analogy, it’s like the first plate at a huge buffet, enough to get a taste and decide what you want to go back for more of.”
That sampling approach “has been the most valuable aspect of the bootcamp,” said Gonzalez del Rio. “While there wasn’t enough time to learn all of these techniques in detail, now when faced with a problem during my research, I’ll know exactly what tool I can look for in order to solve it.”
Bootcamp attendee Peter Wang is a graduate student conducting research on steel plate girders in bridges and buildings, as part of Professor Maria Garlock’s Creative and Resilient Urban Engineering Group in the Department of Civil and Environmental Engineering.
“I’m driven by the challenge of increasing the durability and life cycle performance of slender steel structures,” he explained. “I signed up for bootcamp because I needed some resources and techniques — things that are not explicitly taught within graduate programs — in order to run computational simulations that test the behavior of slender metal girders under stress loads. I found the sessions about version control, data transfer and scientific visualization to be most valuable. These will allow me to save a lot of time, back up my data, visualize data on the cluster and create more reproducible results.”
Zahra Bajalan, a first-year civil and environmental engineering doctoral student in Assistant Professor Ian Bourg’s Interfacial Water Group, said the training taught her the “steps for making software that is documented, paralleled, debugged and visualized appropriately.”
Bajalan is studying the migration of pollutants in soils to freshwater flowing in aquifers. “All of the physical conditions under investigation need to be implemented in the programming language,” she said. The better the computational techniques are, the more the insight we’ll gain about physical processes.”
The demand for this kind of training at Princeton was greater than even anticipated, reflected Ian Cosden, who is Co-PI of the Framework for Integrated Research Software Training in High Energy Physics (FIRST HEP) grant from the National Science Foundation awarded in July of 2018: “We were overwhelmed at the response when we first opened registration. We had to move rooms twice to accommodate more people. Given that participants had to give up most of their fall break to attend, we were only expecting a handful of people. But both times we moved to larger spaces, the registration filled up within two days. Clearly the demand was there.”
“Thanks to the team behind it, the inaugural Research Computing Bootcamp was a great success,” said Jeroen Tromp, PICSciE director and the Blair Professor of Geology and professor of geosciences and applied and computational mathematics. “I expect we will be offering it on an annual basis, and in years to come I anticipate it will grow in scope and size.”
In answer to how next year’s bootcamp might change, Cosden noted: “The computational techniques needed by social scientists can be different from those in the natural sciences, which are different from those in engineering. We are already reaching out to participants and faculty for feedback so we can figure out how to get the most useful and discipline-specific training into the hands of those that want it.”