A website for comparing Amazon EC2 instance types by specs, pricing and regional availability.
aws/aws-graviton-getting-started
A technical guide for running and optimizing software on AWS Graviton (Arm64) EC2 instances, covering migration, builds, languages and managed services.
- Stars
- 1,064
- Forks
- 232
- Open issues
- 4
- Last commit
- 4 days ago
What is it?
This repository is a technical guide for developers and operators running workloads on Amazon EC2 instances powered by AWS Graviton processors, from Graviton2 through Graviton5. It covers how to plan a transition from x86, how to build code for the Arm64 architecture (including recommended compiler flags and feature sets for each Graviton generation), and how to check for runtime CPU features.
The guide is organized by topic. It includes language-specific notes for C/C++, Go, Java, .NET, Node.js, Python, Rust and others, plus sections on containers, AWS Lambda, Linux kernels, operating systems, machine learning frameworks such as PyTorch, llama.cpp and vLLM, HPC, and Spark. A table lists minimum software versions that include Arm64 performance improvements, and a section on known issues describes workarounds such as LSE atomics for PostgreSQL and zlib-ng for compression.
The material is also useful for anyone running code on Arm-based systems in general. It links to a performance runbook, a monitoring tools page, and agent skills that assist with x86-to-Graviton migrations for Java, Python and .NET.
Key features
- 01Transition guide for moving workloads from x86 to Graviton instances
- 02Comparison of Graviton2, 3, 4 and 5 core, SIMD, cache and memory specs with recommended compiler flags
- 03Language-specific build and tuning notes for C/C++, Go, Java, Python, Rust, .NET and more
- 04Guidance on Lambda arm64 functions, containers, and machine learning frameworks on Graviton
- 05Known issues with workarounds, such as PostgreSQL LSE atomics and zlib-ng
Use cases
- Planning and executing a migration of an x86 service to AWS Graviton instances
- Building and tuning Arm64 binaries for a specific Graviton generation
- Checking whether a Python, Java or .NET dependency has aarch64 support before migrating
- Running LLM inference or PyTorch workloads on CPU-based Graviton instances
Things to know
- The license is unclear (listed as NOASSERTION), so check the repository's license before reusing its content.
Topics
FAQ
- What is aws-graviton-getting-started?
- A technical guide for running and optimizing software on AWS Graviton (Arm64) EC2 instances, covering migration, builds, languages and managed services. This repository is a technical guide for developers and operators running workloads on Amazon EC2 instances powered by AWS Graviton processors, from Graviton2 through Graviton5. It covers how to plan a transition from x86, how to build code for the Arm64 architecture (including recommended compiler flags and feature sets for each Graviton generation), and how to check for runtime CPU features.
- Is aws-graviton-getting-started free to use? What license does it have?
- aws-graviton-getting-started is open source under the Other license. Check the license terms before using it in commercial products.
- Is aws-graviton-getting-started still maintained?
- Actively maintained. The last commit to aws-graviton-getting-started was on Nov 3, 2026.
- What can I use aws-graviton-getting-started for?
- Planning and executing a migration of an x86 service to AWS Graviton instances Building and tuning Arm64 binaries for a specific Graviton generation Checking whether a Python, Java or .NET dependency has aarch64 support before migrating Running LLM inference or PyTorch workloads on CPU-based Graviton instances
- Where can I get aws-graviton-getting-started?
- The source code and installation instructions are on GitHub: https://github.com/aws/aws-graviton-getting-started
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A free, open-source local AWS emulator that lets you run AWS-shaped services on your machine with no account or auth token.
A lightweight CPU emulator framework based on QEMU that runs machine code for multiple architectures through a clean, architecture-neutral API.
A CLI and YAML-based framework for deploying code and cloud infrastructure, mainly on AWS Lambda and other managed cloud services.
Infrastructure as Code CLI and engine that lets you define and deploy cloud resources using general-purpose programming languages.
Official unified command line interface for managing Amazon Web Services from a terminal or scripts.