Skip to content

Deploying Accelerators

InAccel platform directory (platform/) is used to deploy FPGA binaries on a cluster of FPGAs. It is the single source of information about user's repository of accelerators, that enables Coral to explicitly manage all the supported multi-FPGA platforms through a uniform interface, transforming any set of FPGA bitstreams/kernels to a single pool of hardware accelerators.

Structure-

-- platform
   -- program
      < binary name >.< aocx | xclbin | ... >
      < binary name >.< aocx | xclbin | ... >
      ...
   info.json

Programming Directory-

The platform programming directory (platform/program/) serves as the repository of the available FPGA binaries. Coral FPGA Resource Manager is compatible with every accelerator built for any of the two target vendors (Intel or Xilinx).

Information File-

The platform information file (platform/info.json) describes the properties of the FPGA binaries that are deployed on Coral FPGA Resource Manager.

It is a simple JSON object which is used to define:

  • General platform characteristics.
  • Accelerator specific properties.

By using a simple, declarative JSON object, Coral FPGA Resource Manager makes scheduling work-flows and user runtime experiences easy on any FPGA platform. No prior experience describing device configurations using an unfamiliar parallel programming language (like OpenCL) is required to deploy a high-performance computing application which leverages the built-in capabilities of any multi-FPGA platform.

Fields-

Field Name Type Required/Optional Description
Name string required Defines the name of the FPGA platform.
Vendor string required The FPGA platform vendor (Intel or Xilinx).
Version string required The FPGA platform version.
Library object required Describes the available FPGA bitestreams/kernels and their properties.
Library-

Each library entry provides information about the characteristics of a bitstream-kernel pair.

"Bitstream Name": {
    "Kernel Name": {
        "memory bank": ...,
        "alias name": "..."
    }
}

Field Name Type Required/Optional Description
memory bank integer optional Defines the memory bank (default: 0).
alias name string optional Defines the alias name (default: "Kernel Name").