Computers are designed to process multiple tasks simultaneously. A team of engineers at Washington University in St. Louis is working to make it easier for programmers to tell computers to do more things at once while putting less strain on their resources.
Jeremy Buhler, professor of computer science & engineering in the School of Engineering & Applied Science, has received a two-year, $249,966 grant from the National Science Foundation to develop new designs, techniques and implementation strategies to make programs on Single Instruction, Multiple Data (SIMD) computer processors more efficient. These high-performance processors would be in demand by those working in bioinformatics, machine learning and other fields that require parallel computing.
With Roger Chamberlain, professor of computer science & engineering, Buhler will address challenges in building irregular applications on SIMD devices, particularly graphics processing units (GPUs). GPUs are commonly used for gaming but also can serve as powerful, general-purpose computing engines. Buhler says problems arise when users try to run "irregular" applications, or those in which different pieces of data take different kinds or amounts of work to process, on a GPU. To execute irregular applications, GPUs must dynamically choose which among thousands of parallel threads will work on each piece of data in each part of the application. These choices, called "remapping," must be specified by the programmer and can impact the speed of an application.
Specifically, Buhler and his team will build software components for GPUs that perform all necessary remapping operations behind the scenes, allowing the programmer to focus on describing only the interesting parts of a computation.
"We will determine if we can build these components, if these components are efficient and if we can optimize over the space of possible remappings to make the whole application as fast as possible without the programmer having to do it manually," Buhler said. "If we are successful, this would lead to an infrastructure that makes it easier to implement high-performance irregular applications on the GPU."
Buhler, whose interest is in bioinformatics and computational biology, says this work would benefit biologists, who need accelerated applications to perform large-scale genomic data analysis and to develop new computational tools to handle new technologies and experiments.
As part of the grant, Buhler and Chamberlain plan to bring in undergraduate researchers through the department's summer Research Experiences for Undergraduates program. In addition, they will incorporate the new technologies into the courses they teach on digital system design and architecture and parallel application design.
The School of Engineering & Applied Science at Washington University in St. Louis focuses intellectual efforts through a new convergence paradigm and builds on strengths, particularly as applied to medicine and health, energy and environment, entrepreneurship and security. With 88 tenured/tenure-track and 40 additional full-time faculty, 1,300 undergraduate students, more than 900 graduate students and more than 23,000 alumni, we are working to leverage our partnerships with academic and industry partners — across disciplines and across the world — to contribute to solving the greatest global challenges of the 21st century.