doonny/PipeCNN
FreeAn OpenCL-based FPGA Accelerator for Convolutional Neural Networks
About doonny/PipeCNN
PipeCNN is an open-source, OpenCL-based FPGA accelerator designed for large-scale convolutional neural networks (CNNs). It leverages high-level synthesis (HLS) tools to enable faster hardware development cycles compared to traditional RTL design. The project provides a generic and efficient pipelined architecture that improves inference throughput and is scalable in both performance and hardware resources. PipeCNN supports both Intel OpenCL SDK and Xilinx Vitis design flows, and has been tested on several FPGA boards including Terasic DE5a-net, Intel Arria-10 Dev Kit, Xilinx U50, ZCU102, and ZC706. It comes with a ModelZoo containing pre-quantized models for VGG-16 and ResNet-50, and can run classification on the ImageNet dataset.
Key Features
Pros & Cons
- Open-source and free to use
- Generic design that can be deployed on various FPGA boards from Intel and Xilinx
- Pipelined architecture improves inference throughput
- Scalable to different resource budgets
- Comes with pre-quantized models for popular networks (VGG-16, ResNet-50)
- Supports both major FPGA vendor toolchains (Intel and Xilinx)
- Performance may be outdated as the project was released several years ago
- Limited to specific FPGA boards that have been tested (others may require additional effort)
- Requires knowledge of OpenCL and FPGA development tools (Intel OpenCL SDK or Xilinx Vitis)
- Only supports two pre-trained models out-of-the-box (VGG-16 and ResNet-50)
- Documentation is primarily on GitHub; no dedicated support outside community