AIgean
, pronounced like the sea, is an open framework to build and deploy machine learning (ML) algorithms on a heterogeneous cluster of devices (CPUs and FPGAs). We leverage two open source projects:
Galapagos
, for multi-FPGA deployment, and
hls4ml
, for generating ML kernels synthesizable using Vivado HLS.
AIgean
provides a full end-to-end multi-FPGA/CPU implementation of a neural network. The user supplies a high-level neural network description, and our tool flow is responsible for the synthesizing of the individual layers, partitioning layers across different nodes, as well as the bridging and routing required for these layers to communicate. If the user is an expert in a particular domain and would like to tinker with the implementation details of the neural network, we define a flexible implementation stack for ML that includes the layers of Algorithms, Cluster Deployment & Communication, and Hardware. This allows the user to modify specific layers of abstraction without having to worry about components outside of their area of expertise, highlighting the modularity of
AIgean
. We demonstrate the effectiveness of
AIgean
with two use cases: an autoencoder, and ResNet-50 running across 10 and 12 FPGAs.
AIgean
leverages the FPGA’s strength in low-latency computing, as our implementations target batch-1 implementations.