Over at the University of Delaware, Julie Stewart writes that assistant professor Sunita Chandrasekaran has received an NSF grant to develop frameworks to adapt code for GPU supercomputers. She is working with complex patterns known as wavefronts, which are commonly found in scientific codes used in analyzing the flow of neutrons in a nuclear reactor, extracting patterns from biomedical data or predicting atmospheric patterns.
Chandrasekaran is looking at scientific applications to see how they were written, how they have been performing on outdated architectures, what kind of programming models have been used, and what challenges have arisen.
Most of the time the programming models are created in a broad stroke,” she said. “Because they are generalized to address a large pool of commonly found parallel patterns, often the models miss creating features for some complex parallel patterns, such as wavefronts, that are hidden in some scientific applications.”
This project will benefit scientific application developers who are not necessarily computer scientists. “They can concentrate more on the science and less on the software,” said Chandrasekaran. Scientists come to her with data sets and problems that take hours, days, sometimes months to compute, and she figures out how to make them run faster, thus enabling newer science.
The goal is not to simply create a software tool,” she said. “The goal is to build real-life case studies where what I create will matter in terms of making science easy.”
In this video from SC17, Sunita Chandrasekaran from OpenACC.org and Stan Posey from NVIDIA describe how OpenACC eases GPU programming for HPC.
Directive-based parallel programming models such as OpenACC and OpenMP will be explored to do this. Chandrasekaran aims to maintain performance and portability as she redesigns algorithms. She will also keep the scientists who use the algorithms in mind.
You can’t create a programming model by only looking at the application or only looking at the architecture,” she said. “There has to be some balance.”
Chandrasekaran is looking for an additional graduate student with an aptitude for parallel programming to help with this project.