Amazon EC2 F1 is a compute instance with field programmable gate arrays (FPGAs) that you can program to create custom hardware accelerations for your application. F1 instances are easy to program and come with everything you need to develop, simulate, debug, and compile your hardware acceleration code, including an FPGA Developer AMI and Hardware Developer Kit (HDK). Once your FPGA design is complete, you can register it as an Amazon FPGA Image (AFI), and deploy it to your F1 instance in just a few clicks. You can reuse your AFIs as many times, and across as many F1 instances as you like.
Amazon EC2 F1 instances offered in two different instance sizes that include up to eight FPGAs per instance. F1 instances include 16 nm Xilinx UltraScale Plus FPGA. Each FPGA includes local 64 GiB DDR4 ECC protected memory, with a dedicated PCIe x16 connection. Each FPGA contains approximately 2.5 million logic elements and approximately 6,800 Digital Signal Processing (DSP) engines. Just like other Amazon EC2 On-Demand Instances, you pay for F1 compute capacity by the hour with no long-term commitments or upfront payments. There is no charge for the FPGA Developer AMI or HDK, and you can program the FPGA on your F1 instance as many times as you like with no additional fees.
Quickly Deploy Custom Hardware Accelerations
With F1 instances you can deploy custom FPGAs on AWS with just a few clicks in the AWS management console. F1 instances can have one or more AFIs associated with them, giving you speed and flexibility to run multiple accelerations on the same instance. F1 instances also provide easy-to-access tools that you need to program, simulate, debug, and compile your hardware acceleration code.
FPGAs are connected to your F1 instances through a dedicated PCI Express (PCIe) fabric that lets FPGAs share the same memory space and communicate with each other at up to 12 GBps. The PCI Express fabric is isolated from other networks and FPGAs are not shared across instances, users, or accounts. This design ensures only your logic is running on the FPGA while you are using it, and helps provide consistent performance.
Changing the Economics of FPGAs
With F1 instances you can deploy hardware acceleration for your workloads without having to buy your own FPGAs or specialized hardware to run them, dramatically reducing the cost to deploy hardware accelerations for your application. This lets you use FPGAs for more workloads like genomics research, and financial risk modeling.
Use Your Existing FPGA Algorithms
You can easily bring your existing acceleration algorithms to AWS and use them in your F1 instances. The FPGAs in F1 instances and the developer tools available in the HDK are compatible with hardware acceleration code and design tools that leverage common hardware design languages like Verilog and VHDL, or with higher layer languages such as C and Go.
Programmable Hardware Accelerations
F1 instances make it easy to deploy hardware acceleration for your workloads using FPGAs. FPGAs are programmable integrated circuits that you can configure using software. You can use FPGAs to accelerate your applications up to 30x when compared with servers that use CPUs alone. And the FPGAs in F1 instances are reprogrammable, so you get the flexibility to update and optimize your hardware acceleration without having to redesign any hardware.
Each F1 instance includes up to eight FPGAs that are dedicated to the instance. They are not shared between instances, users, or accounts. This ensures that the full power of the FPGA is dedicated to the instance, and improves security through user and account isolation.
Reusable Amazon FPGA Image (AFI)
The design that you create to program your FPGA is called an Amazon FPGA Image (AFI). AWS provides a service to register, manage, copy, query, and delete AFIs. After an AFI is created, it can be loaded on a running F1 instance. You can load multiple AFIs on the same F1 instance, and can switch between AFIs in runtime without reboot. This lets you quickly test and run multiple hardware accelerations in rapid sequence. You can also offer your FPGA acceleration to other customers on the AWS Marketplace.
Hardware Development Kit
AWS provides a Hardware Development Kit (HDK) to help you develop your hardware accelerations quickly. The HDK includes code samples, compile scripts, debug interfaces, and many other tools that you need to develop the FPGA code for your F1 instances. You can use the HDK either in an AWS-provided AMI, or in your on-premises development environment.
FPGA Developer AMI
The FPGA Developer AMI includes a prepackaged tool development environment, with scripts and tools for simulating your FPGA design, compiling code, and building and registering your AFI. The FPGA Developer AMI includes tools for debugging and compiling your code. You can deploy the FPGA Developer AMI on an Amazon EC2 instance and quickly provision the resources you need to write and test your FPGA design.
F1 Instance Details
|Instance Type||FPGA Cards||vCPUs||Instance Memory (GiB)||SSD Storage (GB)||Enhanced Networking||EBS Optimized|
|f1.16xlarge||8||64||976||4 x 940||Yes||Yes|
For F1.16xlarge instances, the dedicated PCI-e fabric lets the FPGAs share the same memory space and communicate with each other across the fabric at up to 12 GBps in each direction. The FPGAs within the F1.16xlarge share access to a 400 Gbps bidirectional ring for low-latency, high bandwidth communication.
Develop custom Amazon FPGA Images (AFI) using the Hardware Development Kit (HDK) and full set of design tools and simulators.
Deploy your AFI directly on F1 instances and take advantage of all the scalability, agility, and security benefits of EC2.
Offer AFIs you design on the AWS Marketplace for other customers.
Purchase AFIs built and listed on AWS Marketplace to quickly implement common hardware accelerations.
Using F1 instances to deploy hardware accelerations can be useful in many High Performance Computing (HPC) applications to solve complex science, engineering, and business problems that require high bandwidth, enhanced networking, and very high compute capabilities. F1 instances are particularly beneficial for applications that are time sensitive such as clinical genomics, real time video processing, and financial risk analysis.
The amount and complexity of biological data that must be processed by genomics researchers continues to grow and regularly reaches the petabyte range. Researchers and clinicians must process these data sets very quickly to meet the needs for physicians and their patients. F1 instances are an ideal solution for these time sensitive use cases.
The financial services industry has increasing needs for HPC capabilities for a wide range of applications including risk modeling and analysis, transaction analysis for security, high frequency trading and more. Financial services organizations can use F1 instances to improve the accuracy of risk modeling and analysis that helps dramatically improve their decision making processes.
Real Time Video Processing
High performance broadcast-quality video applications, such as image processing, video analytics, and video transcoding and compression have real time analysis requirements. F1 instances are an ideal solution to meet the requirements of these applications without compromising quality.
Big Data Search and Analytics
The volume, variety, and velocity of data analysis and search requirements in many big data applications have risen to the point where customers are looking for hardware acceleration to keep up. For those applications, customers can leverage the increased performance of F1 instances to meet their big data analytics and search requirements.
F1 instances are useful for many security applications including anti-tampering, information assurance, and trusted relationship management solutions.