
Porting a CUDA kernel to ROCm is easy to start and hard to trust. HIPIFY rewrites cuda* calls to hip* through mechanical text substitution, but it has no way to know that a warp-level shuffle correct on NVIDIA's 32-thread warp can silently compute the wrong answer on AMD's 64-thread wavefront. The build succeeds. The kernel runs. The numbers are wrong. Nothing in the toolchain tells you. AMP closes that gap. It runs your kernel against a CPU reference and a same-shape run on the other vendor, then diffs the actual output arrays instead of just checking that it compiled. A static analyzer flags the exact bug-prone lines before you even touch a GPU, with a mechanical fix you can review before applying. A Hugging Face Space, powered by Fireworks AI, turns each finding into a plain-English explanation of why it matters. We validated this on real hardware: a matmul kernel run on Tesla T4 and AMD Instinct MI300X via AMD Developer Cloud, across four tile configurations, after finding and fixing 15 real bugs along the way, including wrong argument counts, missing headers, FP8 type renames, and warp versus wavefront reduction mismatches. Every configuration now passes the parity gate: max relative error under one in a thousand, within FP32 tolerance. What is still open is documented honestly, not hidden. The business case: management will not approve AMD Instinct procurement while engineers cannot guarantee correctness. AMP turns that open-ended feasibility phase into a same-day, reproducible proof, the missing instrument between "the port compiles" and "we can deploy.
11 Jul 2026