Grants and Contributions:

Title:
Applications and Programming Models for Large-Scale Heterogeneous Computing with FPGAs
Agreement Number:
RGPIN
Agreement Value:
$235,000.00
Agreement Date:
May 10, 2017 -
Organization:
Natural Sciences and Engineering Research Council of Canada
Location:
Ontario, CA
Reference Number:
GC-2017-Q1-03355
Agreement Type:
Grant
Report Type:
Grants and Contributions
Additional Information:

Grant or Award spanning more than one fiscal year. (2017-2018 to 2022-2023)

Recipient's Legal Name:
Chow, Paul (University of Toronto)
Program:
Discovery Grants Program - Individual
Program Purpose:

As we enter into the era of the Cloud and the Internet of Things (IoT), issues around the power and performance of computing are becoming ever more important. Computing using microprocessors is still the mainstay of all forms of computing but microprocessors are no longer enough because they are not always the most efficient in terms of power or performance. As a result, non-traditional computing approaches are being explored with more urgency. The acquisition of Altera by Intel in 2015 for USD$16.7B has woken up the world to the benefits of using Field-Programmable Gate Arrays (FPGAs), but also made the computing world more heterogeneous. For many applications, FPGAs can provide both a performance benefit and do it with lower power requirements. The problem is that they are difficult to use. The motivation and challenge of our work is to make FPGAs accessible by all application developers. This proposal focuses on the exploration of programming models and driving applications for using distributed FPGAs in high-performance computing, but many of the techniques can also be applied at the other end of the computing spectrum in the IOT world.

The long-term objective of this work is to make the use of FPGAs seamless so that application developers can focus on the problem they are trying to solve, rather than struggling with making FPGAs work, as it is today. The short-term objectives are to build programming infrastructures for heterogeneous systems incorporating FPGAs and test and validate them with exemplary applications. Our overall methodology is to always build working systems because that is the only way to prove that our ideas will work, and we can make measurements that are easy to justify.

While our goal is to improve the programmer experience of using FPGAs, the solution spans the entire computing platform, or computing "stack", putting the overall project in the area of computing systems. FPGAs have very different properties than microprocessors because of the way that they are programmed and managed, and the native capabilities that they have. This means that they do not easily fit into the existing microprocessor-based infrastructure and an important aspect of our overall work is to figure out how to fit them, or how to change the infrastructure to accommodate them well.

The Intel acquisition of Altera has disrupted the computing world and broadened the interest of reconfigurable computing from a small community to the much larger computer architecture community because of the belief that there are now significant commercial benefits from using FPGAs. FPGAs are no longer a niche technology because of Intel. The most significant impact of the proposed project is to address the programmability issue and enable application developers to use FPGAs so that the constraints of performance and power can be met. The proposed work is applicable across the computing spectrum, from the IOT to high-performance computing.