Table of contents
In this article
Technical page · Kernels
Kernel portability across NVIDIA and AMD
HIP, ROCm and portable kernel languages
- Published
- 8 November 2026
- Last reviewed
- 8 November 2026
- Re-checked every
- 90 days
- Reviewed by
- Ales Analytics engineering
In one paragraph
Most AI kernels are written for NVIDIA GPUs first. AMD's ROCm stack and its HIP language mirror much of CUDA, and several newer languages aim to make kernels portable across vendors. Portable source does not mean portable performance: the hardware differs enough that a kernel tuned for one vendor usually needs retuning for the other.
How it works
- HIP. Mirrors much of the CUDA API; tools exist to translate CUDA source. Not a drop-in replacement.
- Hardware differences. AMD data-centre GPUs schedule 64-thread wavefronts rather than 32-thread warps, and differ in memory hierarchy and matrix instructions.
- Portable layers. ThunderKittens (tile primitives) and its AMD port HipKittens; TileLang (tile-level language with several backends); Mojo (a language aimed at portable high-performance code); Triton also has an AMD backend.
Design choices and trade-offs
- Engine support first. For serving, check whether the chosen engine and its attention kernels support the target AMD GPU before considering custom kernels.
- Portability vs peak speed. Portable code is cheaper to maintain across vendors; vendor-specific code reaches peak performance.
When not to use it
When the deployment will only ever run on one vendor's hardware.
How we evaluate it
The same correctness tests and benchmarks on each target, with results reported per vendor and never mixed.
Sources
Should you have any questions regarding this page, please contact us at solutions@alesanalytics.com.