Skip to content

Getting Started

InAccel Coral is a fast and general-purpose FPGA resource management system. It provides high-level APIs in Java, Scala, Python and C++, and a unified engine that supports every multi-FPGA platform. Coral is also shipped with a rich set of higher-level integrations including Apache Arrow for zero-copy, lightning-fast data accesses and Apache Spark for seamlessly accelerated machine learning.

This document gives a short overview of how Coral runs on clusters of FPGAs, to make it easier to understand the components involved. Read through the accelerator deployment guide to learn about submitting your accelerators on an FPGA cluster through Coral.

Installing Coral-

All Coral versions are packaged as platform-tagged docker images hosted in InAccel Docker Hub.

Docker Pull Command

docker pull "inaccel/coral-free:current-amazonf1"
docker pull "inaccel/coral-free:current-alveou200"

Coral runs on any UNIX-like system (e.g. Linux). It’s really easy to deploy on any machine, since it lives inside a containerized environment — all you need is to have the vendor-specific FPGA runtime installed on your system and run it with the container pointing to that installation.

For example:

MY_PLATFORM=/path/to/my/amazonf1/platform

docker run --name "inaccel-coral" \
    -h coral -p 55677:55677 \
    --ipc=host --privileged --restart=on-failure \
    -v ${MY_PLATFORM}:/opt/inaccel/platform \
    -e CORAL_HOSTNAME="coral" -e CORAL_PORT="55677" \
    -e CORAL_MAX_SLAVES="2" \
    -v ${XILINX_XRT}:/opt/inaccel/rte -e XILINX_XRT="/opt/inaccel/rte" \
    -d "inaccel/coral-free:current-amazonf1"
MY_PLATFORM=/path/to/my/alveou200/platform

docker run --name "inaccel-coral" \
    -h coral -p 55677:55677 \
    --ipc=host --privileged --restart=on-failure \
    -v ${MY_PLATFORM}:/opt/inaccel/platform \
    -e CORAL_HOSTNAME="coral" -e CORAL_PORT="55677" \
    -e CORAL_MAX_SLAVES="2" \
    -v ${XILINX_XRT}:/opt/inaccel/rte -e XILINX_XRT="/opt/inaccel/rte" \
    -d "inaccel/coral-free:current-alveou200"

Using Coral API-

This documentation is for Coral API version 1.1. Java and Scala users can include Coral API in their projects using its Maven coordinates, C++ users can install it through the available Debian or RPM packages and in the future Python users can also install Coral API from PyPI.