Linux accelerated computing instances - Amazon Elastic Compute Cloud

Linux accelerated computing instances

Note

For detailed instance type specifications, see the Amazon EC2 Instance Types Guide. For pricing information, see Amazon EC2 Instance Types.

Accelerated computing instances 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. These instances enable more parallelism for higher throughput on compute-intensive workloads.

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), Field Programmable Gate Arrays (FPGAs), or AWS Inferentia.

GPU instances

GPU-based instances provide access to NVIDIA GPUs with thousands of compute cores. You can use these 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.

G5 instances

G5 instances use NVIDIA A10G GPUs and provide high performance for graphics-intensive applications such as remote workstations, video rendering, and cloud gaming, and deep learning models for applications such as natural language processing, computer vision, and recommendation engines. These instances feature up to 8 NVIDIA A10G GPUs, second generation AMD EPYC processors, up to 100 Gbps of network bandwidth, and up to 7.6 TB of local NVMe SSD storage.

For more information, see Amazon EC2 G5 Instances.

G5g instances

G5g instances use NVIDIA T4G GPUs and provide high performance for graphics-intensive applications such as game streaming and rendering that leverage industry-standard APIs, such as OpenGL and Vulkan. These instances are also suitable for running deep learning models for applications such as natural language processing and computer vision. These instances feature up to 2 NVIDIA T4G Tensor Core GPUs, AWS Graviton2 processors, and up to 25 Gbps of network bandwidth.

For more information, see Amazon EC2 G5g Instances.

G4ad and G4dn instances

G4ad instances use AMD Radeon Pro V520 GPUs and 2nd generation AMD EPYC processors, and are well-suited for graphics applications such as remote graphics workstations, game streaming, and rendering that leverage industry-standard APIs such as OpenGL, DirectX, and Vulkan. They provide up to 4 AMD Radeon Pro V520 GPUs, 64 vCPUs, 25 Gbps networking, and 2.4 TB local NVMe-based SSD storage.

G4dn instances use NVIDIA Tesla GPUs and provide a cost-effective, high-performance platform for general purpose GPU computing using the CUDA or machine learning frameworks along with graphics applications using DirectX or OpenGL. These instances provide high- bandwidth networking, powerful half and single-precision floating-point capabilities, along with INT8 and INT4 precisions. Each GPU has 16 GiB of GDDR6 memory, making G4dn instances well-suited for machine learning inference, video transcoding, and graphics applications like remote graphics workstations and game streaming in the cloud.

For more information, see Amazon EC2 G4 Instances.

G4dn instances support NVIDIA GRID Virtual Workstation. For more information, see NVIDIA Marketplace offerings.

G3 instances

These 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.

For more information, see Amazon EC2 G3 Instances.

G3 instances support NVIDIA GRID Virtual Workstation and NVIDIA GRID Virtual Applications. To activate either of these features, see Activate NVIDIA GRID Virtual Applications.

G2 instances

These 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.

P5 instances

P5 instances provide 8 NVIDIA H100 GPUs with 640 GB of high-bandwidth GPU memory. They feature 3rd generation AMD EPYC processors and provide 2 TB of system memory, 30 TB of local NVMe instance storage, 3,200 Gps aggregated network bandwidth, and GPUDirect RDMA support. P5 instances also support Amazon EC2 UltraCluster technology, which provides lower latency and improved network performance using EFA. For machine learning and HPC workloads, P5 instances provide up to 6 times higher performance than previous generation GPU instances.

P5 instances can accelerate a broad range of GPU-enabled workloads, and are well-suited to large-scale distributed machine learning and high-performance computing applications.

For more information, see Amazon EC2 P5 instances.

P4d instances

These instances use NVIDIA A100 GPUs and provide a high-performance platform for machine learning and HPC workloads. P4d instances offer 400 Gbps of aggregate network bandwidth throughput and support, Elastic Fabric Adapter (EFA). They are the first EC2 instances to provide multiple network cards.

For more information, see Amazon EC2 P4d Instances.

P4d instances support NVIDIA NVSwitch GPU interconnect and NVIDIA GPUDirect RDMA.

P4de instances offer NVIDIA 80GB-A100s GPUs

P3 instances

These 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 up to 32 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. Tesla V100 GPUs do not support graphics mode.

For more information, see Amazon EC2 P3 Instances.

P3 instances support NVIDIA NVLink peer to peer transfers. For more information, see NVIDIA NVLink.

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 NVIDIA GPUDirect peer to peer transfers. For more information, see NVIDIA GPUDirect.

Instances with AWS Trainium

Amazon EC2 Trn1 and Trn1n instances, powered by AWS Trainium, are purpose built for high-performance, cost-effective deep learning training. You can use Trn1 and Trn1n instances to train natural language processing, computer vision, and recommender models used across a broad set of applications, such as speech recognition, recommendation, fraud detection, and image and video classification. Use your existing workflows in popular ML frameworks, such as PyTorch and TensorFlow. AWS Neuron SDK integrates seamlessly with these frameworks so that you can get started with only a few lines of code changes.

For more information, see Amazon EC2 Trn1 instances.

Instances with AWS Inferentia

These instances are designed to accelerate machine learning using AWS Inferentia, a custom AI/ML chip from Amazon that provides high performance and low latency machine learning inference. These instances are optimized for deploying deep learning (DL) models for applications, such as natural language processing, object detection and classification, content personalization and filtering, and speech recognition.

There are a variety of ways that you can get started:

  • Use SageMaker, a fully-managed service that is the easiest way to get started with machine learning models. For more information, see Get Started with SageMaker in the Amazon SageMaker Developer Guide.

  • Launch an Inf1 or Inf2 instance using the Deep Learning AMI. For more information, see AWS Inferentia with DLAMI in the AWS Deep Learning AMI Developer Guide.

  • Launch an Inf1 or Inf2 instance using your own AMI and install the AWS Neuron SDK, which enables you to compile, run, and profile deep learning models for AWS Inferentia.

  • Launch a container instance using an Inf1 or Inf2 instance and an Amazon ECS-optimized AMI. For more information, see Amazon Linux 2 (Inferentia) AMIs in the Amazon Elastic Container Service Developer Guide.

  • Create an Amazon EKS cluster with nodes running Inf1 instances. For more information, see Inferentia support in the Amazon EKS User Guide.

For more information, see Machine Learning on AWS.

Inf1 instances

Inf1 instances use AWS Inferentia machine learning inference chips. Inferentia was developed to enable highly cost-effective low latency inference performance at any scale.

For more information, see Amazon EC2 Inf1 Instances.

Inf2 instances

Inf2 instances use AWS Inferentia2 machine learning inference chips. These second-generation instances offer up to 25 percent improvement in cost-per-inference over Inf1 instances and up to 70 percent better cost-per-inference over comparable Amazon EC2 instances. These instances are ideal for a wide range of workloads that use deep learning models.

For more information, see Amazon EC2 Inf2 Instances.

Instances with Habana accelerators

These instances are designed to accelerate deep learning model (DL) training workloads. They use accelerators from Habana Labs, an Intel company. These instances are optimized for DL models for applications such as image recognition, object detection and classification, and recommendation systems.

For more information, see Machine Learning on AWS.

DL1 instances

DL1 instances use Habana Gaudi accelerators. They offer up to 400 Gbps of aggregate network bandwidth, along with 32 GB of high bandwidth memory (HBM) per accelerator. DL1 instances are designed to provide high performance and cost efficiency for training deep learning models.

There are a variety of ways that you can get started:

For more information, see Amazon EC2 DL1 Instances.

Instances with Qualcomm accelerators

DL2q

DL2q instances use Qualcomm AI100 inference accelerators, which feature 7th generation Qualcomm Edge AI cores. They can be used to cost-efficiently deploy deep learning (DL) workloads in the cloud or to validate performance and accuracy of DL workloads that will be deployed on Qualcomm edge devices.

DL2q instances support up to 1.4 petaFLOPS of machine learning performance with 8 Qualcomm AI100 accelerators, 96 vCPUs across dual Intel Cascade Lake CPUs, 768 GB of system memory, and 100 Gbps of network bandwidth. Each Qualcomm AI100 accelerator provides up to 175 TFLOPs of FP16 performance and 16 GB of accelerator memory.

Dl2q instances are ideal for validating edge AI workloads before deploying them across smartphones, automobiles, robotics, and extended reality headsets. They also support cloud inference to run popular DL applications, such as content generation, image analysis, text summarization, and virtual assistants.

To get started with DL2q instances, we recommend that you use the AWS Deep Learning AMI (DLAMI), which comes prepackaged with the Qualcomm Apps and Platform software development kit (SDK), and popular machine learning frameworks, such as PyTorch and TensorFlow.

For more information, see Amazon EC2 DL2q Instances.

Video transcoding instances

These instances are designed to accelerate video transcoding workloads, such as live broadcast, video conferencing, and just-in-time transcoding.

VT1 instances

VT1 instances feature Xilinx Alveo U30 media accelerators and are designed for live video transcoding workloads. These instances offer up to 8 Xilinx Alveo U30 acceleration cards, provide up to 192 GB of system memory, and up to 25 Gbps of network bandwidth. VT1 instances feature H.264/AVC and H.265/HEVC codecs and support up to 4K UHD resolutions for multi-stream video transcoding.

There are a variety of ways that you can get started:

  • Launch a VT1 instance using the Xilinx U30 AMIs on AWS Marketplace.

  • Launch a VT1 instance using your own AMI and install the Xilinx U30 drivers and Xilinx Video SDK.

  • Launch a container instance using a VT1 instance and an Amazon ECS-optimized AMI.

  • Create an Amazon EKS cluster with nodes running VT1 instances.

For more information, see Amazon EC2 VT1 Instances.

FPGA instances

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.

The FPGA Developer AMI provides the tools for developing, testing, and building AFIs. You can use the FPGA Developer AMI on any EC2 instance with at least 32 GB of system memory (for example, C5, M4, and R4 instances).

For more information, see the documentation for the AWS FPGA Hardware Development Kit.

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 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.

Hardware specifications

A virtual central processing unit (vCPU) represents a portion of the physical CPU assigned to a virtual machine (VM). For x86 instances, there are two vCPUs per core. For Graviton instances, there is one vCPU per core.

For hardware specifications, see Accelerated computing instances in the Amazon EC2 Instance Types Guide.

Instance performance

There are several GPU setting optimizations that you can perform to achieve the best performance on your instances. For more information, see Optimize GPU settings.

EBS-optimized instances enable you to get consistently high performance for your EBS volumes by eliminating contention between Amazon EBS I/O and other network traffic from your instance. Some accelerated computing instances are EBS-optimized by default at no additional cost. For more information, see Amazon EBS–optimized instances.

Some accelerated computing instance types provide the ability to control processor C-states and P-states on Linux. C-states control the sleep levels that a core can enter when it is inactive, while P-states control the desired performance (in CPU frequency) from a core. For more information, see Processor state control for your EC2 instance.

Network performance

You can enable enhanced networking on supported instance types to provide lower latencies, lower network jitter, and higher packet-per-second (PPS) performance. Most applications do not consistently need a high level of network performance, but can benefit from access to increased bandwidth when they send or receive data. For more information, see Enhanced networking on Linux.

For network specifications, see Accelerated computing instances in the Amazon EC2 Instance Types Guide.

Amazon EBS I/O performance

Amazon EBS optimized instances use an optimized configuration stack and provide additional, dedicated capacity for Amazon EBS I/O. This optimization provides the best performance for your Amazon EBS volumes by minimizing contention between Amazon EBS I/O and other traffic from your instance.

For more information, see Amazon EBS–optimized instances.

SSD-based instance store volume I/O performance

Instance store volumes persist only for the life of the instance. When you stop, hibernate, or terminate an instance, the applications and data in its instance store volumes are erased. We recommend that you regularly back up or replicate important data in your instance store volumes. For more information, see Amazon EC2 instance store and SSD instance store volumes.

For instance store volume specifications, see Accelerated computing instances in the Amazon EC2 Instance Types Guide.

As you fill the SSD-based instance store volumes for your instance, the number of write IOPS that you can achieve decreases. This is due to the extra work the SSD controller must do to find available space, rewrite existing data, and erase unused space so that it can be rewritten. This process of garbage collection results in internal write amplification to the SSD, expressed as the ratio of SSD write operations to user write operations. This decrease in performance is even larger if the write operations are not in multiples of 4,096 bytes or not aligned to a 4,096-byte boundary. If you write a smaller amount of bytes or bytes that are not aligned, the SSD controller must read the surrounding data and store the result in a new location. This pattern results in significantly increased write amplification, increased latency, and dramatically reduced I/O performance.

SSD controllers can use several strategies to reduce the impact of write amplification. One such strategy is to reserve space in the SSD instance storage so that the controller can more efficiently manage the space available for write operations. This is called over-provisioning. The SSD-based instance store volumes provided to an instance do not have any space reserved for over-provisioning. To reduce write amplification, we recommend that you leave 10 percent of the volume unpartitioned so that the SSD controller can use it for over-provisioning. This decreases the storage that you can use, but increases performance even if the disk is close to full capacity.

For instance store volumes that support TRIM, you can use the TRIM command to notify the SSD controller whenever you no longer need data that you have written. This provides the controller with more free space, which can reduce write amplification and increase performance. For more information, see Instance store volume TRIM support.

Release notes

  • For the best performance with P5 instances, we recommend that you do the following:

  • You must launch the instance using an HVM AMI.

  • Instances built on the Nitro System have the following requirements:

    The following Linux AMIs meet these requirements:

    • AL2023

    • Amazon Linux 2

    • Amazon Linux AMI 2018.03 and later

    • Ubuntu 14.04 or later with linux-aws kernel

      Note

      AWS Graviton-based instance types require Ubuntu 18.04 or later with linux-aws kernel

    • Red Hat Enterprise Linux 7.4 or later

    • SUSE Linux Enterprise Server 12 SP2 or later

    • CentOS 7.4.1708 or later

    • FreeBSD 11.1 or later

    • Debian GNU/Linux 9 or later

  • GPU-based instances can't access the GPU unless the NVIDIA drivers are installed. For more information, see Install NVIDIA drivers on Linux instances.

  • Launching a bare metal instance boots the underlying server, which includes verifying all hardware and firmware components. This means that it can take 20 minutes from the time the instance enters the running state until it becomes available over the network.

  • To attach or detach EBS volumes or secondary network interfaces from a bare metal instance requires PCIe native hotplug support. Amazon Linux 2 and the latest versions of the Amazon Linux AMI support PCIe native hotplug, but earlier versions do not. You must enable the following Linux kernel configuration options:

    CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEASPM=y
  • Bare metal instances use a PCI-based serial device rather than an I/O port-based serial device. The upstream Linux kernel and the latest Amazon Linux AMIs support this device. Bare metal instances also provide an ACPI SPCR table to enable the system to automatically use the PCI-based serial device. The latest Windows AMIs automatically use the PCI-based serial device.

  • There is a limit of 100 AFIs per Region.

  • There is a limit on the total number of instances that you can launch in a Region, and there are additional limits on some instance types. For more information, see How many instances can I run in Amazon EC2? in the Amazon EC2 FAQ.