Field Programable Gate Arrays are reprogrammable hardware devices that can implement any logic function. This makes FPGAs similar to custom silicon (aka Application-Specific Integrated Circuits, or ASICs), allowing developers to create custom processors/accelerators that provide optimized compute tailored to accelerate a specific workload. This enables in specific cases a significant acceleration compared to fixed-function compute solutions like CPUs and GPUs.
Challenges for development and environment maintenance…
Initial cost for the introduction of FPGA board
Setup of FPGA development/test environment
System deployment, maintenance, operation after development etc.
F1 instances that provide FPGAs in the cloud solve the challenge!
Unlike showed in above diagramm, the F1 instance does not offer FPGA to FPGA links!
F1 instances offer customizable hardware acceleration with field programmable gate arrays (FPGAs).
Instances Features:
FPGA Features:
F1 FPGA Acceleration Process Flow
Xilinx Vivado custom logic development environment
If you want to develop devices other than F1, Xilinx also provides Vivado Developer AMI’s (license fee is charged hourly) and Vitis Developer AMI’s (free)
AWS FPGA GitHub contains all the drivers, code, examples, and tutorials needed to develop hardware acceleration for the AWS FPGAs
https://github.com/aws/aws-fpga
Hardware Development Kit (HDK)
Software Development Kit (SDK)
By separating HDK and SDK from FPGA Developer AMI, you can install HDK under on-pre development environment and develop for F1 instances. In addition, F1 instances are available only in the SDK during actual operation.
AWS marketplace offers multiple versions of the FPGA Developer AMI. The following compatibility table describes the mapping of currently supported developer kit versions to AMI versions:
Developer Kit Version | Tool Version Supported | Compatible FPGA Developer AMI Version |
---|---|---|
1.4.18+ | 2020.2 | v1.10.X (Xilinx Vivado/Vitis 2020.2) |
1.4.16+ | 2020.1 | v1.9.0-v1.9.X (Xilinx Vivado/Vitis 2020.1) |
1.4.13+ | 2019.2 | v1.8.0-v1.8.X (Xilinx Vivado/Vitis 2019.2) |
1.4.11+ | 2019.1 | v1.7.0-v1.7.X (Xilinx Vivado/SDx 2019.1) |
⚠️ Developer kit release v1.4.16 will remove support for Xilinx 2017.4, 2018.2, 2018.3 toolsets. While developer kit release v1.4.16 onwards will not support older Xilinx tools, you can still use them using HDK releases v1.4.15a or earlier. Please checkout the latest v1.4.15a release tag from Github to use Xilinx 2017.4, 2018.2, 2018.3 toolsets.
⚠️ Developer kit versions prior to v1.3.7 and Developer AMI prior to v1.4 (2017.1) reached end-of-life. See AWS forum announcement for additional details.
Both host (CPU) and device (FPGA) are available on AWS side, so users can focus on developing applications.
F1 FPGA Shell is a pre-defined and validated secure I/O component and hardware health monitor so developers can focus on developing their own acceleration logic Ring function available
Easy to use and optimized for performance
Vitis compiler uses OpenCL, C, C++ to generate kernel (.xo) generating
Highly optimized for FPGA devices
Compiler assembles FPGA design
Perform logic synthesis and placement wiring on assembled FPGA designs
Generate FPGA binaries (.xclbin) to perform logic synthesis and placement wiring on assembled FPGA designs