Open Programmable Acceleration Engine (OPAE) is a software framework for managing and accessing programmable accelerators (FPGAs). Its main parts are:
OPAE Software Development Kit (OPAE SDK),
OPAE Linux driver for Intel(R) Xeon(R) CPU with Integrated FPGAs and Intel(R) PAC with Arria(R) 10 GX FPGA
Basic Building Block (BBB) library for accelerating AFU development (not part of this release, but pre-release code is available on GitHub: https://github.com/OPAE/intel-fpga-bbb
OPAE is under active development to extend to more hardware platforms, as well as to build up the software stack with additional abstractions to enable more software developers.
OPAE SDK is a collection of libraries and tools to facilitate the development of software applications and accelerators using OPAE. It provides a library implementing the OPAE C API for presenting a streamlined and easy-to-use interface for software applications to discover, access, and manage FPGA devices and accelerators using the OPAE software stack. The OPAE SDK also includes the AFU Simulation Environment (ASE) for end-to-end simulation of accelerator RTL together with software applications using the OPAE C API.
OPAE's goal is to accelerate FPGA adoption. It is a community effort to simplify the development and deployment of FPGA applications, so we explicitly welcome discussions and contributions! The OPAE SDK source, unless otherwise noted, is released under a BSD 3-clause license.
More information about OPAE can be found at http://01.org/OPAE.
OPAE 1.4.1 release provides SDK and tools that have been incorporated into Fedora to support FPGA kernel driver that is upstreamed to Linux 5.6 kernel as of March 2020. The main features that this package and the driver include are:
OPAE git repository layout changes
The opae-sdk repository has been reorganized into five total repositories. The following table describes the repositories and how they are integrated into opae-sdk.
Repository | Description | Integration |
---|---|---|
opae-sdk | Contains tools built on top of OPAE libraries and/or kernel interfaces. | Master repository. |
opae-libs | Contains libraries that implement the OPAE APIs. | Added as a git subtree to opae-sdk/opae-libs. |
opae-legacy | Contains legacy tools designed for Skylake + FPGA platforms. | Added as an external project in CMake. |
opae-sim | Contains simulation projects like ASE. | Added as an external project in CMake. |
opae-test | Contains mock framework for unit tests. | Added as an external project in CMake. |