Executable programs and extensions

Local AI with ROCm and Radeon: Reading Support Combinations and Runtime Paths

Radeon support depends on the GPU, OS, driver, ROCm and framework combination—not just the GPU name.

Before running local AI on a Radeon, distinguish the ROCm1 software stack from HIP2 source porting, then check the exact hardware and OS combination in AMD’s current unified support documentation. Native Windows, WSL and Linux are separate runtime3 paths, and Vulkan is a backend separate from ROCm.

Requirements and key details
  • Existing CUDA executables do not run unchanged on Radeon; HIP and HIPIFY are tools that help port source code.
  • Verify the exact GPU, OS and kernel, driver, ROCm release and framework as one officially supported combination.
  • Check separate support tables for Radeon and Instinct, and do not interchange Windows, WSL and Linux procedures. Vulkan is a separate runtime backend, not ROCm.

ROCm Is a Software Stack; HIP Is a Porting Path

To run a PyTorch4 image task on a Radeon, first identify the exact GPU5 and operating system, then find a supported combination for both in AMD’s compatibility table. This guide follows the steps for finding an official route and testing a small task on one Radeon you already own. ROCm is the software stack used to run the work; HIP is a path for porting source code. A CUDA6 executable cannot simply be copied and run on an AMD GPU. Instinct accelerators are a separate product family, so this guide focuses on consumer Radeon cards.

ROCm is a software stack that brings together drivers, runtimes, compilers, math libraries and framework integrations so computations can run on AMD GPUs. Running PyTorch also requires a compatible PyTorch build, ROCm components and GPU-kernel support. So a document saying “ROCm supported” does not mean that every PyTorch version and every Radeon model is supported. The meaningful unit for an installation decision is the combination of GPU, OS, driver, ROCm release and framework specified in the documentation.

This is where HIP enters the picture; its name can look similar to CUDA. HIP is a C++ runtime API7 and GPU-kernel language, while HIPIFY8 helps convert some CUDA source API calls and notation into HIP form. Being able to port source code is different from running an already-compiled CUDA program as-is. A CUDA executable may contain code targeting NVIDIA GPUs and links to NVIDIA libraries. Copying it to a Radeon does not turn it into AMD code. Even with an open-source project, you still need a HIP port or ROCm build and AMD support for the required libraries. Automatic conversion can help you get started, but it does not validate missing features or device-specific behavior.

An open notebook with code-like marks, a graphics card and a separately packaged drive sit on a wooden desk.
HIP is an API that helps port CUDA source; it does not mean existing CUDA binaries run unchanged on Radeon.

Check Support as a Combination in the Table for Each Product Family

So the first decision is not a performance comparison between GPUs; it is whether your setup falls within the scope of the support documentation. AMD documents Radeon, Instinct and Ryzen APUs along separate paths. For the consumer Radeon GPUs covered here, check the ROCm on Radeon table. Instinct is a data-center accelerator family with its own server distributions, kernels and software combinations. Do not infer support for one product family because a GPU appears in another family’s table. A table defines support for a specified software configuration; it does not compare performance across every workload.

AMD unified its supported-hardware documentation starting with ROCm Core SDK 7.13.0, and the current 10.0 documentation uses that unified compatibility guidance. Do not decide that a particular Radeon is supported from the release overview alone. Check whether the table lists your GPU, OS, driver, ROCm release and framework together as one combination. The key is not to assemble versions from different rows or documentation cycles.

Two different graphics cards sit separately on a wooden workbench beside papers and a calendar.
Matching the GPU name is not enough. Check the OS, driver, ROCm and framework combination too.

Choose the Path Your OS and App Actually Provide First

Your choice of operating system matters too. On Linux, you match the distribution, kernel and driver yourself. The native Windows Radeon path may cover a limited set of PyTorch configurations and tools explicitly listed in the documentation. WSL is not the same as native Windows; it has a separate setup such as ROCDXG and its own support matrix. Do not treat the three paths as interchangeable installation recipes. Choose the one where your familiar development environment overlaps with the official deployment path for the app you want to use. For example, if an app’s ROCm support on Windows applies only to a specific PyTorch version, do not simply apply Linux instructions to it.

Suppose you want to keep your current Windows PC and try a PyTorch image workflow. If the app provides an AMD package for Windows, start by checking that path. If it only provides Linux installation instructions, check WSL support separately. Copying Linux commands into WSL does not create the same environment unless the app says it supports that setup. Conversely, someone already using Linux does not need to switch to Windows first. Start by finding a combination that supports both the app and GPU on the operating system you already use.

Can a Docker image let you skip this process? A container packages the app and Python libraries, but it does not create the host’s GPU or driver. You still need to meet the host requirements and GPU pass-through settings in the official container guide. If installation succeeds but the GPU is not visible inside the container, check that connection before downloading the model files again. Running in a container does not make an unsupported GPU officially supported.

A laptop showing a landscape on screen and two desktop computers are arranged along one side of a workbench.
Windows, WSL and Linux have different installation and support requirements; do not apply one path’s steps unchanged to another.

PyTorch’s CUDA Naming Does Not Always Mean NVIDIA

If the program you want to use is CUDA-only, ROCm will not automatically turn its executable into an AMD version. Check whether the program provides open source and a ROCm or HIP build. Do not assume a PyTorch program is NVIDIA-only just because its code contains .to("cuda"). For API compatibility, PyTorch on ROCm retains parts of the torch.cuda namespace and the "cuda" device notation, so identify the installed build with torch.version.hip. Conversely, CUDA in a name does not prove ROCm support either. Base your decision on the runtime path and installation instructions officially supported by the app.

This distinction also changes how you investigate an error. If PyTorch cannot find the GPU, first check the installed build and device connection. If the GPU is visible but a particular image app will not run, check whether the app requires a separate operation or extension package. A successful basic PyTorch operation does not mean that CUDA extensions called by the app also work on AMD. That is why the app’s documentation should cover both the ROCm installation path and support for any required extension packages.

Vulkan Is a Runtime Backend Separate from ROCm

Some programs offer Vulkan as an alternative to ROCm. For example, llama.cpp can be built with a Vulkan backend. But Vulkan is not the ROCm runtime: its driver requirements, build options and feature support differ from installing a PyTorch ROCm wheel. An app using a Radeon GPU through Vulkan does not mean ROCm is installed, and PyTorch support in a ROCm table does not apply to the Vulkan path. First check which backends the app you plan to use supports.

The options can therefore differ by app, even on the same Radeon. If your goal is to chat with a GGUF9 model, check whether llama.cpp’s Vulkan path supports the features you need. That success would not answer the question for someone trying to run a PyTorch-based image workflow. The model file, app and features you plan to use come first; the backend is the route that performs that work. When comparing speed across different backends, match the model, quantization10 and input conditions as closely as possible.

Before Buying, Match the App’s Installation Path and GPU Model

If you already own a Radeon, avoid additional spending for now and run one small task all the way through using the app’s officially supported path. Check that the model loads and produces the result you want, and that it still works after you close and reopen the app. If it does, the next questions are memory and runtime—not basic support. Increase the input or resolution to see what becomes a constraint, then adjust the settings. Finding the point where your current machine falls short is more useful than starting by choosing the newest graphics card.

If you plan to buy a new GPU, do not reverse the order of the decision. First choose the app and model, then check candidate cards against the Radeon path documented by that app. Even a card with more VRAM11 cannot do the job if a required extension module will not run. Community success stories may help with combinations without official support, but factor in the work of fixing and maintaining the setup. If you do not want to take that on, choosing another GPU or backend supported by the app is reasonable. Before deciding whether to buy a Radeon, determine how you will run the work you need to do.

Terminology notes

  1. ROCm — AMD’s software platform for AI and high-performance computing on GPUs. Support depends on the combination of GPU, operating system, driver, and framework versions.

    Back to the text
  2. HIP — An API and runtime for writing portable GPU C++ code. It helps with CUDA porting but does not guarantee compatibility of every library or operation, or equivalent speed.

    Back to the text
  3. Runtime — The software environment that provides facilities needed while a program runs. In local AI it can also refer to a model execution engine; a GPU runtime library and a complete serving app are different components.

    Back to the text
  4. PyTorch — A software framework for building and running AI models. Check the compatible PyTorch version and hardware support along with the model.

    Back to the text
  5. GPU — A processor designed to handle many calculations in parallel. It performs model computations during AI inference.

    Back to the text
  6. CUDA — A software platform for general-purpose computing on NVIDIA GPUs. Programs built for CUDA are not guaranteed to run unchanged on other GPUs.

    Back to the text
  7. API — A defined interface that lets other code call a program’s functions. The term API alone does not imply sending data to an external server.

    Back to the text
  8. HIPIFY — Tools that translate CUDA source constructs and API calls into HIP. Builds, correctness checks, and performance tuning may still be needed after conversion.

    Back to the text
  9. GGUF — A file format for model data, widely used by llama.cpp-based tools. The format alone does not guarantee compatibility or speed on particular hardware.

    Back to the text
  10. Quantization — Representing model values with fewer bits. Memory use, accuracy, or execution speed may change; the effects depend on the format and implementation.

    Back to the text
  11. VRAM — Memory used by a graphics card’s GPU for model weights and intermediate values. It is distinct from system RAM.

    Back to the text