Git has emerged as a favorite version control system within the open-source community and various software development groups at LLNL. Essentially, Git allows multiple people on a project to work on files in their individual “repositories,” without being connected to a central network, and then push to the remote project when they are ready.
Designed to emphasize speed, data integrity, and support for distributed, nonlinear workflows, Git is a powerful and robust technology, but the learning curve can be steep, requiring users to make numerous decisions on how best to organize and use their Git repository effectively.
Enter computer scientist Peter Robinson and the GRAPE (Git Replacement for the “Awesome” PARSEC Environment) tool. Peter developed GRAPE in an effort to assert some uniformity on code processes at the Laboratory by abstracting many of the required decisions.
That is, GRAPE allows how users do work to be encoded as part of their repository. This allows project maintainers to encode and evolve workflows as they see fit, while enabling developers to apply established workflows across multiple Git repositories without requiring them to have a deep knowledge of Git’s many intricacies.
“The GRAPE tool flattens the learning curve and removes much of the complexity of branching and merging for nonexperts,” explains computer scientist Todd Gamblin. “It lowers the barrier to entry for Git considerably. The workflows Peter is using also interface with the Atlassian tools now deployed LLNL-wide, particularly Stash and JIRA.”
Aside from being the “de-facto Git guy” in the Applications, Simulations, and Quality Division, Peter is the computer science lead on the ALE3D code team. His principal responsibility is directing the development of the major infrastructure components and code development processes for ALE3D, a two- and three-dimensional multiphysics numerical simulation tool for examining hydrodynamics and structures. Scientists around the world use ALE3D to model detonation, deflagration, and convective burn processes of high explosives, propellants, and more.
“I love being able to push simulation codes to their limits,” Peter says. “It’s just an awesome feeling to launch a large-scale job on a machine like Sequoia knowing that you added a critical piece of technology to direct hundreds of thousands or millions of processors to act in concert. The fact that I can do things like that without writing National Science Foundation grants for compute time is a bonus.”
Peter is also the lead developer for Chizu, a domain-to-processor mapping application programming interface that assigns computational domains in an application’s problem space to appropriate locations on Livermore clusters to reduce communication overhead.
Peter’s fascination with technology and interest in math and science started at an early age. Growing up in Massachusetts, he attended a high school that garnered national attention when a group of seniors discovered a Kuiper Belt Object with the help of “a scrappy astronomy department.” Peter, a freshman at the time, was inspired to enroll in some of the astronomy classes and got hooked.
During his graduate studies at the University of Colorado at Boulder, he earned an M.S. in astrophysical and planetary sciences and an M.S. in computer science. Before becoming a staff member at LLNL in 2011, Peter spent three summers at the Laboratory as a student developing radiation transport and geodesic transport algorithms for Cosmos++ .
“The internship balanced my interest in the simulation side of the astrophysics coin with the challenging world of high performance computing,” Peter says, “and I haven’t looked back since.”