Skip to content

Validate the HIP backend on Instinct MI300X/MI350X and native Windows - #77

Merged
Ruochun merged 2 commits into
mainfrom
amd-cdna-validation
Aug 30, 2026
Merged

Validate the HIP backend on Instinct MI300X/MI350X and native Windows#77
Ruochun merged 2 commits into
mainfrom
amd-cdna-validation

Conversation

@DanNegrut

Copy link
Copy Markdown
Collaborator

Summary

Validation of the ROCm/HIP backend (#69) on GPUs it had not been tested on, plus two small Windows fixes.

  • AMD Instinct MI300X (gfx942) and MI350X (gfx950), ROCm 7.2.0, Linux: builds with -DUSE_HIP=ON and CMAKE_HIP_ARCHITECTURES="gfx90a;gfx942;gfx950"; DEMdemo_SingleSphereCollide and DEMdemo_Mixer run to completion on both architectures, with output files free of NaN/Inf. DEMdemo_GameOfLife and DEMdemo_BallDrop also ran correctly (time-boxed, not to completion).
  • Native Windows 11, HIP SDK 7.1, Radeon 8060S (gfx1151): builds with the SDK's clang++ for both CXX and HIP under the Ninja generator (CMake rejects mixing MSVC for CXX with clang for HIP); smoke demos pass.

Two fixes were needed for Windows (details in the commit messages):

  1. hiprtc has no implicit ROCm include path on Windows, so runtime kernel compilation failed with 'hip/hip_runtime.h' file not found. The JIT include lookup now also honors HIP_PATH (the Windows HIP SDK convention) and the Windows clang builtin-header layout.
  2. Exceptions escaping the kT/dT worker threads are now reported to stderr before terminating; on Windows they previously died silently, which hid the error above.

The README gained the validated architectures and the native Windows build recipe. CUDA builds are unaffected.

This work used computing resources made available through the AMD University Program (AUP) AI & HPC Cluster.

DanNegrut and others added 2 commits August 29, 2026 12:39
Two fixes found while validating the HIP backend on a Windows machine
with the AMD HIP SDK 7.1 (Radeon 8060S, gfx1151):

1. JitHelper: hiprtc on Windows has no implicit ROCm include path, so
   every runtime kernel compilation failed with 'hip/hip_runtime.h file
   not found'. The include-path lookup now accepts HIP_PATH (the Windows
   HIP SDK convention) in addition to ROCM_PATH, and the clang builtin
   header scan also covers the Windows SDK layout (lib/clang/<version>)
   in addition to the Linux one (lib/llvm/lib/clang/<version>).

2. kT/dT worker threads: an exception escaping a std::thread calls
   std::terminate, which on Windows prints nothing, so JIT compilation
   errors were silently swallowed (exit 0xC0000409 with no message).
   The worker-thread entry points now catch, report to stderr, and
   rethrow.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Validation performed on the AMD University Program AI & HPC Cluster
(this work used computing resources made available through the AMD
University Program (AUP) AI & HPC Cluster) and on a Windows 11 machine:

- MI300X (gfx942) and MI350X (gfx950), ROCm 7.2.0, Linux: build with
  -DUSE_HIP=ON and a multi-arch CMAKE_HIP_ARCHITECTURES list; the
  SingleSphereCollide and Mixer demos run to completion on both, with
  output files free of NaN/Inf and physically sensible.
- Radeon 8060S (gfx1151), HIP SDK 7.1, native Windows: builds with the
  SDK's clang++ for both CXX and HIP under the Ninja generator (CMake
  rejects mixing MSVC cl for CXX with clang for HIP); smoke demos pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Ruochun
Ruochun merged commit 5b7c774 into main Aug 30, 2026
7 checks passed
@Ruochun
Ruochun deleted the amd-cdna-validation branch August 30, 2026 10:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants