High School Summer Student is 'Posit-ive' About Coding
August 17, 2018
By Theresa Duque
When Computer Architecture Group Leader David Donofrio was looking for potential summer interns last year, a particular resume caught his eye. “She had a long list of achievements and awards, including getting her code run at an international STEM conference,” he said. “Then I noticed she’s in the 10th grade. I thought, ‘Who is this person?’”
That person is Sanjana Shah, a high school student from the San Francisco Peninsula who loves to swim, and on weekends, teaches little kids how to code at public libraries. She’s even invented an award-winning smart flood sensor (patent pending). She first discovered her passion for programming when she attended a coding workshop for youth sponsored by a local tech company.
She is also the first (and so far, the only) high school student Donofrio has ever hired through the Computing Sciences Summer Student program.
For 10 weeks over the summer last year, Shah worked on evaluating and implementing Posit, a new number format originally developed at Stanford that has the potential to double the memory capacity in high-performance computing – a potential game-changer for scientific computing applications used by NERSC and other supercomputer user facilities to quickly and accurately crunch the big data sets behind simulations of, for example, earthquakes and neutron star mergers.
A self-described problem-solver who “has always been the kind of person who prioritizes and doesn’t procrastinate,” Shah said that “learning the Posit format was really challenging, because there isn’t much documentation on it.”
So to test Posit’s robustness in solving complex equations, she used Chisel, an open source hardware construction language developed at UC Berkeley, to devise her own numeric algorithms.
When her internship last summer ended, Shah went back to school to start her junior year. Donofrio wasn’t sure if she would return, but he hoped she would. “Sanjana is very conscientious about her work,” he said. “She did all the groundbreaking work. She’s the person who’s doing the homework to see if we can implement Posit for scientific applications.”
As this summer approached, Donofrio and his team realized that they “needed help understanding the details behind how Posit might be used in scientific calculations and to evaluate how well they perform in comparison with existing number representations,” he said.
Luckily, Shah returned to the Lab for three weeks this summer to work with Donofrio and Computer Science Department Head John Shalf. Together, they used an algorithm known as a Conjugate Gradient Solver to verify that Posit arithmetic allows for greater precision for the same amount of memory – an important accomplishment that will help Donofrio’s team advance to the next stage of their project.
“Sanjana’s work will make it possible to complete this analysis, and thanks to her help this summer, we are now ready to test an implementation of Posit inside a prototype CPU,” he said.
Shah wrapped up her second summer interning at the Lab last Friday, and is starting her senior year of high school. She sees her time at the Lab as a special opportunity that provided her with important lessons you can’t get in school. “Over the last two years, the research I have done here has taught me that there is no book or cheat sheet that has clear answers. It is up to us to find the answers to our own questions,” she said.
Information about Berkeley Lab’s Computing Sciences Summer Student program is available: https://cs.lbl.gov/careers/summer-student-program/
About Computing Sciences at Berkeley Lab
The Computing Sciences Area at Lawrence Berkeley National Laboratory(Berkeley Lab) provides the computing and networking resources and expertise critical to advancing Department of Energy Office of Science (DOE-SC) research missions: developing new energy sources, improving energy efficiency, developing new materials, and increasing our understanding of ourselves, our world, and our universe. ESnet, the Energy Sciences Network, provides the high-bandwidth, reliable connections that link scientists at 40 DOE research sites to each other and to experimental facilities and supercomputing centers around the country. The National Energy Research Scientific Computing Center (NERSC) powers the discoveries of 7,000-plus scientists at national laboratories and universities. NERSC and ESnet are both Department of Energy Office of Science National User Facilities. The Computational Research Division (CRD) conducts research and development in mathematical modeling and simulation, algorithm design, data storage, management and analysis, computer system architecture and high-performance software implementation.
Berkeley Lab addresses the world's most urgent scientific challenges by advancing sustainable energy, protecting human health, creating new materials, and revealing the origin and fate of the universe. Founded in 1931, Berkeley Lab's scientific expertise has been recognized with 13 Nobel prizes. The University of California manages Berkeley Lab for the DOE’s Office of Science. The DOE Office of Science is the United States' single largest supporter of basic research in the physical sciences and is working to address some of the most pressing challenges of our time. For more information, please visit science.energy.gov.