FastCUDA — Open Source FPGA Accelerator and Hardware-Software Co-design Toolset for CUDA Kernels

Europe has a strong leadership in the domains of intelligent telecommunications, multimedia, and automotive systems. However, the exponential increase in complexity of intelligent systems threatens the European competitiveness.

In order to solve today’s challenges of high-complexity design for embedded electronic systems, a number of approaches have been tried. Hardware-software co-design is the first big step and an essential enabling technology towards this end. Electronic System Level (ESL) design methodologies is the next big step which addresses the complexity problem by elevating design to a higher level of abstraction, resulting in a more predictable and productive design process. Finally, parallel hardware platforms, such as GPUs and FPGAs, are becoming very popular in PC-based heterogeneous systems for speeding up compute-intensive applications.

FastCUDA system architecture FastCUDA combines all above approaches by enabling hardware-software co-design and ESL design methodologies onto a low-power parallel platform.

FastCUDA is a platform that provides the necessary software tools, hardware architecture, and design methodology to efficiently adapt CUDA (a parallel-computing architecture and API driven by the GPU industry, with wide adoption in many diverse fields ranging from molecular dynamics, to computational chemistry, to image or video processing, etc.) into a new FPGA design flow. With FastCUDA, the CUDA kernels of a CUDA-based application are automatically partitioned into two groups: some are compiled and executed in parallel software, while the remaining are synthesised and implemented in hardware. A modern low-power FPGA provides the processing power (via hundreds of embedded micro-CPUs) and the logic capacity for the execution and communication needs of all software and hardware components.

We plan to join the numerous on-going efforts in industry and academia to create a unified best-practice, industrial-quality, open-source framework that will enable an easier transition from research results to industrial exploitation. The FastCUDA consortium is uniquely qualified to carry this project out successfully, through provable know-how in key areas including reconfigurable computing, compilers and CAD tools, applications, programming environments, and custom architectures, to name a few.