rule4ml: An Open-Source Tool for Resource Utilization and Latency Estimation for ML Models on FPGA
Mohammad Mehdi Rahimifar, Hamza Ezzaoui Rahali, Audrey C. Therrien

TL;DR
This paper presents rule4ml, an open-source tool that predicts FPGA resource utilization and latency of neural networks before synthesis, significantly speeding up FPGA-based ML model development.
Contribution
It introduces trained regression models for pre-synthesis prediction of FPGA resource usage and latency, reducing development time for FPGA-implemented neural networks.
Findings
High prediction accuracy with R2 scores between 0.8 and 0.98
Predictions for BRAM, DSP, FF, LUT, and clock cycles are reliable
Accelerates FPGA neural network deployment process
Abstract
Implementing Machine Learning (ML) models on Field-Programmable Gate Arrays (FPGAs) is becoming increasingly popular across various domains as a low-latency and low-power solution that helps manage large data rates generated by continuously improving detectors. However, developing ML models for FPGAs is time-consuming, as optimization requires synthesis to evaluate FPGA area and latency, making the process slow and repetitive. This paper introduces a novel method to predict the resource utilization and inference latency of Neural Networks (NNs) before their synthesis and implementation on FPGA. We leverage HLS4ML, a tool-flow that helps translate NNs into high-level synthesis (HLS) code, to synthesize a diverse dataset of NN architectures and train resource utilization and inference latency predictors. While HLS4ML requires full synthesis to obtain resource and latency insights, our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques
MethodsSparse Evolutionary Training
