Coral is a framework that allows the distributed acceleration of large data sets across clusters of FPGA resources using simple programming models. It is designed to scale up from single devices to thousands of FPGAs, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of FPGAs, each of which may be prone to failures.
Coral abstracts FPGA resources (device, memory), enabling fault-tolerant heterogeneous distributed systems to easily be built and run effectively.
Write applications quickly in Java, Scala and Python.InAccel offers all the required high-level functions that make it easy to build and accelerate parallel apps. No need to modify your application to use an unfamiliar parallel programming language (like OpenCL). And you can use it interactively from the Scala and Python shells.
Build your own repository of accelerators.InAccel provides a stack of cores including Machine Learning techniques, Financial formulas, SQL functions and Cryptographic algorithms. You can combine all these libraries, along with your own ones, seamlessly in the same application.
Industry proven to easily scale to unlimited FPGA resources.
Runs on any FPGA platform (Xilinx, Intel), giving you the freedom to take full advantage of on-premises, or public Cloud (AWS, Alibaba, Nimbix, etc.) infrastructure.
Launch a container with InAccel's Docker image or even deploy it as a daemonset on a Kubernetes cluster and enjoy acceleration services at the drop of a hat.
Coral provides an acceleration abstraction layer for applications, virtualizing, managing and monitoring the available FPGA resources.
Automatic resource configuration and task scheduling across entire FPGA clusters in private datacenters or public cloud environments.Coral examines the state of the FPGAs and implements load-balancing policies across them, efficiently taking care of all the required device configurations and memory transfers.
Coral allows the secure sharing of the hardware resources among different users and multiple processes or threads.First class isolation support for accelerator cores and FPGA memory.
Built-in Web UI for viewing cluster state, navigating in memory objects and monitoring acceleration tasks.