Modern scientific computing applications, such as simulations, modeling, and artificial intelligence, are counting on a mix of heterogeneous processing units—like a combination of CPUs and GPUs—to enable capabilities that have been previously out of reach. However, creating programs that fully utilize the power of heterogeneous computing is very challenging and technical. That’s why Tsung-Wei “TW” Huang, who started as an assistant professor in electrical and computer engineering at the University of Wisconsin-Madison in August 2023, creates software systems to simplify building high-performance scientific computing applications.
“Nobody wants to use software that runs very slowly. But if you want to make software run fast, it is very, very tricky,” he says. “So writing software that efficiently utilizes these kinds of parallel and heterogeneous computing resources is critical.”
Huang received bachelor’s and master’s degrees in computer science from the National Cheng Kung University in Taiwan. He received his PhD in electrical and computer engineering from the University of Illinois at Urbana-Champaign before becoming an assistant professor at the University of Utah. During his academic career, Huang has earned several prestigious awards recognizing his research contributions, including an ACM SIGDA Outstanding PhD Dissertation Award, an NSF CAREER Award, a Humboldt Research Fellowship Award and an ACM SIGDA Outstanding New Faculty Award.
Huang’s interest in computer engineering began as an undergraduate, after he joined a hackathon. At the end of the 10-hour competition, he knew he wanted to pursue computing research. As a sophomore, he began doing research helping to build software to enable circuit design for computer chips.
He continued work on similar topics in graduate school, when he had something of an epiphany. “I thought, now we can design software to help people design high-performance hardware. Why don’t we go another route and design software to help people design high-performance software?” he says. “Because building high-performance software really needs different types of knowledge—not just about software, but also about hardware. So I was bringing multiple disciplines together.”
A key result is a tool he developed called Taskflow, a general purpose parallel and heterogenous task programming system. It has been successfully deployed by thousands of researchers and companies for various applications, including machine learning, computer aided design, computer graphics, gaming, and quantum computing. Since 2019, Huang has secured over $1.5 million in research dollars to support the building of Taskflow and other high-performance programming systems.
After his move to UW-Madison, Huang plans to continue the research and use the university’s many resources to develop even more powerful tools. “We need to come up with abstractions that can separate concerns between software and hardware,” he says. “So people can just focus on building their application on top of our software, while the mapping of the software to the hardware is completely handled by our system.”
UW-Madison is a great place to continue his work he says, not only because there are several colleagues working in similar fields that he’s excited to collaborate with, but because the university has several high-performance computing clusters using heterogenous processing units. “They could definitely benefit a lot from my research group,” he says.
Top photo by Joel Hallberg