DEV Community

Cover image for AMD Releases ROCm 10.1.0 with WSL2 Technical Preview and Three New Libraries
Joho no Todai
Joho no Todai

Posted on Edited on Originally published at joho-todai.com AI-assisted

AMD Releases ROCm 10.1.0 with WSL2 Technical Preview and Three New Libraries

AMD released ROCm 10.1.0, the first point release in version 10 of its GPU computing platform, on October 5 local time. It arrived around 40 days after ROCm 10.0.0 on August 26, marking the first installment of the planned six-week release cycle.

Key points

  • What happened: AMD released ROCm 10.1.0 with a WSL2 technical preview, three libraries (hipThreads, libhipcxx, and RPP), and updates including PyTorch 2.14.0 and vLLM 0.29.0.
  • Why it matters: WSL2 support, a longstanding weakness of ROCm compared with CUDA, is included in TheRock builds for the first time, enabling GPU computing in WSL2 without compiling from source.
  • Developer impact: ROCprofiler-SDK's beta kernel replay and on-demand tool configuration bring PyTorch and Triton workload profiling closer to production usability.
  • What to watch: The range of changes delivered in 10.1.0, just 40 days after ROCm 10.0.0, suggests a six-week release cycle could accelerate ROCm's development.

WSL2 support arrives as a technical preview

The most striking addition in ROCm 10.1.0 is initial WSL2 support.

Previously, using ROCm GPU computing from Windows required developers to compile the WSL2 driver interface library librocdxg from source themselves. Version 10.1.0 includes librocdxg in TheRock build artifacts. TheRock has been ROCm's build and release system since version 7.14. This allows ROCm workloads to run on WSL2 without the additional build step.

The ROCr runtime automatically detects WSL2 by checking for the /dev/dxg device and loads librocdxg, so manual configuration is normally unnecessary.

This is still a technical preview, with limitations. Only Ubuntu .deb packages and Python wheels are supported; RPM packages are excluded. Profiling, debugging, and KFD-dependent tools do not work in WSL2.

AMD SMI, the GPU monitoring and management tool, also gained a WSL2 backend in technical preview. It can report telemetry such as temperature, power, memory use, and clock speed inside WSL2. Configuration and management operations and per-process GPU utilization remain unavailable, but basic GPU monitoring now works.

The longstanding complaint that ROCm, unlike CUDA, could not be used on Windows is beginning to be addressed. The technical-preview label remains important, but removing the need for source builds lowers the barrier to entry substantially.

Three new libraries join ROCm Core SDK

Version 10.1.0 adds three libraries to the ROCm Core SDK.

hipThreads (version 1.0.0) offers an API resembling C++ std::thread inside GPU kernels. It provides primitives such as hip::wthread, hip::mutex, hip::lock_guard, and hip::condition_variable, making it possible to reuse existing CPU-threading code on GPUs without a complete rewrite for ROCm or CUDA. It supports Linux and Windows and can be used with Radeon and Ryzen GPUs.

libhipcxx (version 3.0.2) makes the C++ standard library available in both HIP host and device code. Standard features such as atomics, type traits, and containers can be invoked directly in HIP kernels, reducing the need to write device-side equivalents. It supports Instinct, Radeon, and Ryzen.

RPP (ROCm Performance Primitives, version 3.2.0) is a computer vision library that accelerates 2D and 3D image augmentation on GPUs for AI training and inference pipelines. It is available on Linux for Instinct and Radeon GPUs.

Together, these additions show ROCm moving toward lowering the barrier of having to rewrite everything to use a GPU.

AI framework updates and the end of TensorFlow 2.19.1 support

Framework compatibility has been raised across the board. Support now includes PyTorch 2.14.0, JAX 0.11.1, vLLM 0.29.0, SGLang 0.5.18, and MIGraphX 2.18, replacing versions previously supported, such as PyTorch 2.11.0 and vLLM 0.27.0.

At the same time, TensorFlow 2.19.1 support has ended. TF 2.19.1, which was included in ROCm 10.0.0, was removed. However, the AI ecosystem support matrix still lists TensorFlow 2.21 and 2.20 for certain GPUs such as gfx950 and gfx942, so TensorFlow support as a whole has not disappeared.

Figure omitted — see the original article

PyTorch 2.14.0 includes Windows support with ROCm 10.1.0 and supports up to Python 3.14. vLLM 0.29.0 supports a broad range of GPUs, from Instinct to Radeon and Ryzen APUs, expanding options for running inference servers on ROCm.

Profiler usability improves significantly

Several less visible but important improvements center on profiling tools.

ROCprofiler-SDK introduces kernel replay in beta. GPU hardware limits how many performance counters can be collected in one kernel execution. Previously, collecting different counter groups required restarting the entire application through "application replay," adding substantial startup overhead. Kernel replay reruns individual kernels, saving device-memory snapshots before each run and restoring them between passes so the groups observe identical inputs.

Joho no Todai found that the ROCprofiler-SDK release notes also list on-demand tool configuration and initialization. Profiling tools can be enabled or disabled at arbitrary points during an application's execution. Framework-integrated profilers that start after an interpreter or runtime is initialized, such as PyTorch's Kineto backend and Triton's Proton profiler, are especially likely to benefit.

A PyTorch interoperability issue has also been fixed. Previously, when ROCprofiler-SDK bundled with PyTorch initialized alongside rocprofv3, code object tracing conflicts caused crashes while rocprofv3 generated output, making PyTorch and Triton profiling effectively impossible. Version 10.1.0 resolves the problem.

Signal handling has been revised as well. The old ROCprofiler-SDK performed finalization involving memory allocation, locks, and I/O inside signal handlers, leading to deadlocks, truncated output, and processes that could not be forcibly stopped. Version 10.1.0 moves finalization to a dedicated worker thread, eliminating those issues.

Breaking change: ROCm SMI removed from the build

The sole breaking change in 10.1.0 is that the legacy ROCm SMI (rocm-smi-lib) has been removed from standard builds. Already deprecated, it is no longer built or installed by TheRock in 10.1.0. Users must move to its successor, the AMD SMI library and command-line tool (amd-smi).

AMD SMI is now also distributed as a PyPI wheel and can be installed with pip install amd-smi. This makes GPU monitoring easier in containers and CI/CD environments without requiring a complete ROCm installation.

Other major changes

GPU support adds the AMD Radeon AI PRO R9600. Supported operating systems add Ubuntu 26.04.1 (kernel 7.0 GA) and Ubuntu 24.04.5, replacing 26.04 and 24.04.4 respectively.

Virtualization support expands as well, adding Ubuntu 26.04 host and guest configurations for KVM SR-IOV on MI355X/MI350X and ESXi SR-IOV support for MI350P.

The hipSPARSE library gains generic APIs for batched SDDMM (sampled dense-dense matrix multiplication) and SpGEAM (sparse matrix addition), broadening sparse-computing coverage. hipFFT gains the ability to JIT-compile load/store callbacks directly into FFT kernels, allowing integrated optimization of kernels and callbacks that was not possible with the previous function-pointer approach.

ROCm 10.0.0 laid out a major direction at the platform's ten-year milestone. Version 10.1.0 looks like the release that began putting that direction into practice: WSL2 support, new libraries, and more usable profiling. Delivering changes of this scope in six weeks is one indication that the shortened release cycle is working. Which area ROCm 10.2.0 will advance next remains unknown.


Originally published on Joho no Todai. The Japanese original is here.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.