The function of computers depends on a myriad of intricate interactions between the hardware and software inside the machine. As computers become faster, more powerful and increasingly sophisticated, so too does the complexity of those hardware-software “conversations” – and that poses a significant problem for computer engineers.
“Looking at the fit between parallel hardware and software would enable us to tackle more interesting problems, such as higher computing performance,” says A.J. Guillon, a University of Toronto computer science graduate and a software developer with a vision of advancing the field of parallel computer systems design.
The promise of heterogeneous computing, in which multiple, different processors work together to perform a complicated task, has made addressing that hardware-software gap even more urgent.
For Guillon, that gap presented an opportunity, and today his startup company, Yetiware, is offering a novel solution for developing parallel software programs that operate much more efficiently on modern hardware systems.
The result, a Heterogeneous Computing Middleware Platform (HCMP), is an operating system for heterogeneous processors, making it easier for application developers to write programs for these complex hardware systems.
The idea for the Yetiware product was aided by Guillon’s recruitment to the OpenCL working group of Khronos, a non-profit consortium of companies and universities dedicated to creating open standards for developing sophisticated computer applications. Through this group he met University of Toronto Professor Paul Chow, highly respected for his work in computer architectures. “We realized we’d make better progress if we worked together,” Guillon says.
Their aim was to develop something similar to an operating system so that a computer's various processors could “cooperate” with one another using OpenCL, a common, open-access computing standard supported by major processor companies.
“We wondered, can we provide something so that applications will continue to function even as new processors are shipped with functionality we don’t know?” says Guillon.
It was an ambitious plan, but Chow’s relationship with CMC Microsystems helped them overcome an early hurdle. Chow had already identified issues with existing heterogeneous computing infrastructure that were impeding his own research and could see how Yetiware’s idea could make the platform easier to use. They approached CMC Solutions for R&D assistance. Recognizing that the work could also be of benefit to other researchers in Canada’s National Design Network (CNDN), CMC provided $50K and 100 hours of engineering time to develop the technology that would be in Yeti’s first product.
With the help of CMC’s senior platform design engineer, Yassine Hariri, Guillon used OpenCL as the basis for his software, and then built on its capabilities. “OpenCL provides a view of how the hardware really works, but there were abstractions that weren’t quite right,” Guillon says. “Part of our project was to change those base abstractions.” Hariri integrated and tested the software, with Chow advising and “test driving” the product.
The value-add of working with CMC was substantial, Guillon says. “CMC understands technology – they could judge the merit of our proposal because they have deep technical understanding. This is an amazing advantage that puts CMC at the cutting edge of research in Canada.”
Yetiware’s solution reduces the complexity of writing heterogeneous software by orders of magnitude by shifting complex operations to the HCMP, Guillon says, making developers more productive and shortening project times from years to months. “It’s done in a way that as a developer, you need to know relatively little about how the underlying platform works. And it allows you to run the same program on any system.”
The platform is now available to academics across Canada’s National Design Network, who are exploring its capabilities. Guillon says this access also enables course preparation and training for faculty and graduate students to use it in their research. “And it helps our ability to recruit talent.”
Yetiware’s next target is data centres, just one of many future applications, says John Reynolds, co-founder of the company. “This product goes across any industry that wants faster performance, whether it’s for high-performance computing and mathematical research to climate modelling, image-guided research, artificial intelligence, and autonomous vehicles,” he says. “We are very much at the forefront of innovation.”
“The scale of what we’ve done is phenomenal, and wouldn’t have been successful without CMC,” says Guillon. “Our challenge now is scaling our business and attracting investors so we can grow rapidly and capture this emerging market.”
Photo: Rodney Daw/Photo Features