A Superb Student Gets an Edge on His Aspirations in Supercomputing
Matt Swartz, former JICS/NICS intern
Sometimes, an internship provides just the right combination of experiences, mentoring, and resources to boost an already bright academic and professional future. Such was the case for Matt Swartz.
Swartz had an independent study course on parallel computing while an undergraduate in applied mathematics at Oklahoma State University, but he shares that his internship at the Joint Institute for Computational Sciences (JICS) and its supercomputing center, the National Institute for Computational Sciences (NICS), was his real introduction to the world of high-performance computing (HPC).
“I came into the internship with an adequate understanding of C and Fortran programming languages and had done some multi-threading with OpenMP, but didn’t really grasp what was going on,” Swartz says. “Vince Betro [of JICS/NICS at the time] helped me get started by peer-programming a 2D heat dispersion solver in hybrid OpenMP and MPI. It was about as basic as it gets in terms of physics, but that little project kind of lit the spark in my understanding of HPC.”
Glenn Brook, JICS' chief technology officer, was also a major help to Swartz.
“If Vince was the lab teacher providing the hands-on experience, Glenn taught the theory,” Swartz explains. “He really hammered home the idea that HPC is an art. You have a problem that you need to solve in a generic way and you have the tools to do so, but mapping the problem to the architecture and utilizing that architecture to squeeze out the performance is really what HPC is all about.”
Swartz had the good fortune of using the Beacon computer system at JICS/NICS. It has Intel® Xeon Phi™ coprocessors and the distinction of having topped the Green500 list of the most energy-efficient computers. He ended up testing the performance of Intel’s Automatic Offload capabilities on specific linear algebra subroutines and got the opportunity to present his findings in a poster presentation at XSEDE13, the annual conference of the National Science Foundation’s eXtreme Science and Engineering Discovery Environment.
When Swartz was accepted into the mathematics master’s degree program at the University of South Carolina (USC), he concluded his internship at JICS/NICS, but the connections he had forged would later emerge to again benefit his academic endeavors.
“I didn’t do much with Beacon my first year [of the master’s program], but Glenn let me keep access to it from my internship,” Swartz says. “This turned out to be a lifesaver when I decided on my thesis.”
During his time in the master’s program at USC, he secured an internship at Los Alamos National Laboratory. His job: optimizing and testing a covariance matrix calculation on none other than Intel Xeon Phi coprocessors. So, he called upon former mentor Betro and also Ryan Hulguin, an HPC consultant in the NICS User Assistance group, for advice.
“Ryan was especially helpful since I had to install and initialize an Intel Xeon Phi coprocessor on the machine I was working on, and he’s a guru in that area,” Swartz says. “And I got the opportunity to work with a great professor back at USC on my thesis, which happened to involve an anomalous diffusion, finite difference code written in Fortran.”
Swartz’s thesis was titled "Algorithm Analysis, Code Analysis, Code Vectorization, and Code Parallelization of a Fast Finite Difference Method for Space Fractional Diffusion Equations in Three Space Dimensions."
“That sounds scary, but the long and the short is that I made a computer code go faster,” Swartz explains. “The original runtime of the code for certain problem sizes ranged from almost a day to nearly a month on a conventional CPU [cited in Hong Wang and Ning Du. ‘Fast alternating-direction finite difference methods for three-dimensional space-fractional diffusion equations.’ In: J. Comput. Phys. 258(2014), pp. 305–318. Issn: 0021-9991.] The methods of optimization I performed were as Glenn described, an art.
“The final code is almost unrecognizable relative to what I started with, and I gained a lot of know-how through Jim Jeffers’ Intel Xeon Phi coprocessor books, which I would not have had access to without my internship with JICS/NICS. The runtimes I produced on Beacon at the same problem sizes I just mentioned ranged between a quarter of a second and 11 minutes. The benefit of methods of optimization, algorithm, and code design I learned either directly or indirectly from my internship at JICS/NICS cannot be overstated.”
Swartz adds that the industrialization process he put his master’s thesis code through went a long way toward preparing him for the software development position he obtained afterward at Integrity Applications, Inc., where he is still employed today.
“I’m seeking opportunities to do the type of work I performed on my master’s thesis, but in the meantime, I am designing an internal Web site for the company,” Swartz says. “It is an entirely new experience, and I’m hoping to use this knowledge to do some Web development of my own. Who knows, I might be able to strike it big off of a Web app.”
One thing he is certain of is that he’s glad he interned at JICS/NICS. “Living in Knoxville was one of the most enjoyable experiences of my life,” he says, “and I had a great time working at JICS/NICS. The atmosphere was awesome, and that’s hard to come by.”
[Writer’s notes: Matt Swartz has also interned at Ultra Electronics–ProLogic, NASA, and, his current employer, Integrity Applications, Inc. He is a member of the Phi Beta Kappa Society, the nation’s oldest academic honor society. He received the Oklahoma State University non-resident achievement scholarship (four years), and the Professor Emeritus Award, which is presented in the spring semester to outstanding undergraduates who have declared a major in mathematics. Swartz also received the Mathematics Department Hazel Bucy Award for Outstanding Freshman, which is awarded on a competitive basis to the top freshman, sophomore, junior, or senior mathematics majors. And back in 2007, he earned the honor of becoming an Eagle Scout.]
Article posting date: 22 January 2016
About JICS: The Joint Institute for Computational Sciences was established by the University of Tennessee and Oak Ridge National Laboratory (ORNL) to advance scientific discovery and leading-edge engineering, and to further knowledge of computational modeling and simulation. JICS realizes its vision by taking full advantage of petascale-and-beyond computers housed at ORNL and by educating a new generation of scientists and engineers to be well-versed in the application of computational modeling and simulation for solving the most challenging scientific and engineering problems. JICS operates the National Institute for Computational Sciences (NICS), which had the distinction of deploying and managing the Kraken supercomputer, the first academic computer to break the petaflop barrier. NICS is a leading academic supercomputing center and a major partner in the National Science Foundation's eXtreme Science and Engineering Discovery Environment (XSEDE).