High School Summer Student Sanjana Shah 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/