Linux Accelerated Computing Instances
If you require high processing capability, you'll benefit from using accelerated computing instances, which provide access to hardware-based compute accelerators such as Graphics Processing Units (GPUs) or Field Programmable Gate Arrays (FPGAs). Accelerated computing instances enable more parallelism for higher throughput on compute-intensive workloads.
GPU-based instances provide access to NVIDIA GPUs with thousands of compute cores. You can use GPU-based accelerated computing instances to accelerate scientific, engineering, and rendering applications by leveraging the CUDA or Open Computing Language (OpenCL) parallel computing frameworks. You can also use them for graphics applications, including game streaming, 3-D application streaming, and other graphics workloads.
FPGA-based instances provide access to large FPGAs with millions of parallel system logic cells. You can use FPGA-based accelerated computing instances to accelerate workloads such as genomics, financial analysis, real-time video processing, big data analysis, and security workloads by leveraging custom hardware accelerations. You can develop these accelerations using hardware description languages such as Verilog or VHDL, or by using higher-level languages such as OpenCL parallel computing frameworks. You can either develop your own hardware acceleration code or purchase hardware accelerations through the AWS Marketplace.
Important
FPGA-based instances do not support Microsoft Windows.
You can cluster accelerated computing instances into a cluster placement group. Cluster placement groups provide low latency and high-bandwidth connectivity between the instances within a single Availability Zone. For more information, see Placement Groups.
Contents
- Accelerated Computing Instance Families
- Hardware Specifications
- Accelerated Computing Instance Limitations
- AMIs for GPU-Based Accelerated Computing Instances
- Installing the NVIDIA Driver on Linux Instances
- Activate NVIDIA GRID Capabilities (G3 Instances Only)
- Optimizing GPU Settings (P2, P3, and G3 Instances)
- Getting Started with FPGA Development
For information about Windows accelerated computing instances, see Windows Accelerated Computing Instances in the Amazon EC2 User Guide for Windows Instances.
Accelerated Computing Instance Families
Accelerated computing instance families use hardware accelerators, or co-processors, to perform some functions, such as floating point number calculations, graphics processing, or data pattern matching, more efficiently than is possible in software running on CPUs. The following accelerated computing instance families are available for you to launch in Amazon EC2.
F1 Instances
F1 instances use Xilinx UltraScale+ VU9P FPGAs and are designed to accelerate computationally intensive algorithms, such as data-flow or highly-parallel operations not suited to general purpose CPUs. Each FPGA in an F1 instance contains approximately 2.5 million logic elements and approximately 6,800 Digital Signal Processing (DSP) engines, along with 64 GiB of local DDR ECC protected memory, connected to the instance by a dedicated PCIe Gen3 x16 connection. F1 instances support enhanced networking with the Elastic Network Adapter (ENA), are EBS-optimized by default, and provide local NVMe SSD volumes.
Developers can use the FPGA Developer AMI and AWS Hardware Developer Kit to create custom hardware accelerations for use on F1 instances. The FPGA Developer AMI includes development tools for full-cycle FPGA development in the cloud. Using these tools, developers can create and share Amazon FPGA Images (AFIs) that can be loaded onto the FPGA of an F1 instance.
For more information, see Amazon EC2 F1 Instances.
P3 Instances
P3 instances use NVIDIA Tesla V100 GPUs and are designed for general purpose GPU computing using the CUDA or OpenCL programming models or through a machine learning framework. P3 instances provide high bandwidth networking, powerful half, single, and double-precision floating-point capabilities, and 16 GiB of memory per GPU, which makes them ideal for deep learning, computational fluid dynamics, computational finance, seismic analysis, molecular modeling, genomics, rendering, and other server-side GPU compute workloads.
-
P3 instances support enhanced networking with the Elastic Network Adapter. For more information, see Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances in a VPC.
-
P3 instances are EBS-optimized by default. For more information, see Amazon EBS–Optimized Instances.
-
P3 instances support NVIDIA NVLink peer to peer transfers. For more information, see NVIDIA NVLink.
-
There are several GPU setting optimizations that you can perform to achieve the best performance on P3 instances. For more information, see Optimizing GPU Settings (P2, P3, and G3 Instances).
-
The
p3.16xlargeinstance type provides the ability for an operating system to control processor C-states and P-states. For more information, see Processor State Control for Your EC2 Instance.
P2 Instances
P2 instances use NVIDIA Tesla K80 GPUs and are designed for general purpose GPU computing using the CUDA or OpenCL programming models. P2 instances provide high bandwidth networking, powerful single and double precision floating-point capabilities, and 12 GiB of memory per GPU, which makes them ideal for deep learning, graph databases, high performance databases, computational fluid dynamics, computational finance, seismic analysis, molecular modeling, genomics, rendering, and other server-side GPU compute workloads.
-
P2 instances support enhanced networking with the Elastic Network Adapter. For more information, see Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances in a VPC.
-
P2 instances are EBS-optimized by default. For more information, see Amazon EBS–Optimized Instances.
-
P2 instances support NVIDIA GPUDirect peer to peer transfers. For more information, see NVIDIA GPUDirect.
-
There are several GPU setting optimizations that you can perform to achieve the best performance on P2 instances. For more information, see Optimizing GPU Settings (P2, P3, and G3 Instances).
-
The
p2.16xlargeinstance type provides the ability for an operating system to control processor C-states and P-states. For more information, see Processor State Control for Your EC2 Instance.
G3 Instances
G3 instances use NVIDIA Tesla M60 GPUs and provide a cost-effective, high-performance platform for graphics applications using DirectX or OpenGL. G3 instances also provide NVIDIA GRID Virtual Workstation features, such as support for four monitors with resolutions up to 4096x2160, and NVIDIA GRID Virtual Applications. G3 instances are well-suited for applications such as 3D visualizations, graphics-intensive remote workstations, 3D rendering, video encoding, virtual reality, and other server-side graphics workloads requiring massively parallel processing power.
-
G3 instances support enhanced networking with the Elastic Network Adapter. For more information, see Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances in a VPC.
-
G3 instances are EBS-optimized by default. For more information, see Amazon EBS–Optimized Instances.
-
G3 instances support NVIDIA GRID Virtual Workstation and NVIDIA GRID Virtual Applications. To activate either of these features, see Activate NVIDIA GRID Capabilities (G3 Instances Only).
-
There are several GPU setting optimizations that you can perform to achieve the best performance on G3 instances. For more information, see Optimizing GPU Settings (P2, P3, and G3 Instances).
-
The
g3.16xlargeinstance type provides the ability for an operating system to control processor C-states and P-states. For more information, see Processor State Control for Your EC2 Instance.
G2 Instances
G2 instances use NVIDIA GRID K520 GPUs and provide a cost-effective, high-performance platform for graphics applications using DirectX or OpenGL. NVIDIA GRID GPUs also support NVIDIA’s fast capture and encode API operations. Example applications include video creation services, 3D visualizations, streaming graphics-intensive applications, and other server-side graphics workloads.
Hardware Specifications
For more information about the hardware specifications for each Amazon EC2 instance type, see Amazon EC2 Instance Types.
Accelerated Computing Instance Limitations
Accelerated computing instances have the following limitations:
-
You must launch the instance using an HVM AMI.
-
GPU-based instances can't access the GPU unless the NVIDIA drivers are installed.
-
There is a limit of 100 AFIs per region.
-
There is a limit on the number of instances that you can run. For more information, see How many instances can I run in Amazon EC2? in the Amazon EC2 FAQ. To request an increase in these limits, use the following form: Request to Increase Amazon EC2 Instance Limit.
AMIs for GPU-Based Accelerated Computing Instances
To help you get started, NVIDIA and others provide AMIs for GPU-based accelerated computing instances. These reference AMIs include the NVIDIA driver, which enables full functionality and performance of the NVIDIA GPUs.
For a list of AMIs with the NVIDIA driver, search AWS Marketplace as follows:
You can launch accelerated computing instances using any HVM AMI.
You can also install the NVIDIA driver manually. For more information, see Installing the NVIDIA Driver on Linux Instances.


