Coral Resource Manager


A reliable, scalable, distributed acceleration system




Program against your FPGAs like it’s a single pool of accelerators

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.


Features

Coral abstracts FPGA resources (device, memory), enabling fault-tolerant heterogeneous distributed systems to easily be built and run effectively. It also provides virtualization, management and monitoring of the abstracted resources.


Ease of Use

Write applications quickly in C++, 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. It also allows seamless integration with Apache Spark.

Generality

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.

Scalability

Industry proven to easily scale to unlimited FPGA resources.

Easy to Deploy

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.

Resource Management

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.

Privacy / Isolation

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.

Web UI

Built-in Web UI for viewing cluster state, navigating in memory objects and monitoring acceleration tasks.

Runs Anywhere

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.


Instant Scaling



Scale-out your applications to multiple FPGAs on the same server or to multiple servers (using Kubernetes plug-in) without changing your code.

InAccel’s Coral FPGA cluster manager dispatches the accelerated functions to the FPGA cluster automatically.

It also allows automatically scaling to multiple kernels on the same FPGA






Resource management



InAccel’s Coral FPGA cluster manager allows seamless sharing of the FPGA resources from:


It also allows dynamic resource management and scheduling of the accelerated functions out of the box as well as automatic management of the bitstream files.

It also allows automatic management of the bitstreams.


Seamless integration



InAccel offers all the required high-level functions (APIs) that make it easy to accelerate your applications by offloading the most computationally intensive tasks to the FPGAs.

No need to modify your application or to use an unfamiliar parallel programming language (like OpenCL).

And you can use it interactively from C/C++, Scala and Python shells. No need for OpenCL directives.






Bitstream repository


  • Multiple threads
  • Multiple processes
  • Multiple applications
  • Multiple users

InAccel decouples the bitstreams from the Software developer.

SW developers do not need any more to work with bitstreams.

FPGA Resource Manager automatically fetch the right bitstream based on the requested function invoking and handles the programming and scheduling of the FPGAs.

Deploy FPGAs as easy as any other software library.



Coral Monitor



InAccel FPGA orchestrator comes with a unique Monitor tool that allows to get valuable insight on the performance of the kernels in the FPGAs.

The monitor tool can be used to get information for the execution of the accelerators in the FPGAs helping optimize the performance of your applications.







Instant deployment



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.

Deploy your accelerators from Apache Spark, Scikit-learn, Keras, Jupyter notebooks and H2O.

Instant deployment with zero code changes.

Kubernetes on FPGA extends the industry standard container orchestration platform with FPGA acceleration capabilities.

With first class support for FPGA resources scheduling, developers and DevOps engineers can now build, deploy, orchestrate and monitor FPGA-accelerated application deployments on heterogeneous, multi-cloud clusters.

Pricing




Community edition
Helping developers build, deploy, and run their accelerated applications.

FREE

APIs in Scala, Java, Python and C++
Up to 2 nodes / Unlimited FPGAs per node
Native CLI automation tool
Bitstream protection mechanism

Enterprise edition
Enabling teams to speed acceleration delivery with security, automation, advanced configuration and workflow.

300$ / Node / Month

All features from Community Edition plus:
Unlimited nodes
Web UI for monitoring your FPGAs' performance
Bitstream deployment pipelines
24x7 uptime support