Skip to content

AMD GPU Support via HIP/ROCm - #1379

Draft
ptheywood wants to merge 75 commits into
masterfrom
amdgpu
Draft

AMD GPU Support via HIP/ROCm#1379
ptheywood wants to merge 75 commits into
masterfrom
amdgpu

Conversation

@ptheywood

@ptheywood ptheywood commented Apr 13, 2026

Copy link
Copy Markdown
Member

Adds AMD GPU support via HIP / ROCm

Caution

This is still a WIP - do not review, merge or expect CI to be happy

It will be rebased many times, and may become the base branch for other AMD/HIP/ROCm/clang related PRs so they can all be merged into master in a single go.

Decisions to make during review

  • FLAMEGPU_GPU=CUDA/HIP/OFF - Best I've come up with, but not super keen on this cmake option name.
    • support lower case values as well (i.e. make it upper case before validation)?
    • BACKEND, VENDOR (prolyl not), PLATFORM, API
  • FLAMEGPU_CURAND_ENGINE - deprecate and rename? Its a bit grim to do with it being a cache var not an option.
  • flamegpu::detail::gpu::Stream_t is used in classes which belong in the public API (but not sure if it is actaulyl part of the true public API, i.e. users arent' supposed to provide those values themselves?) Should this be flamegpu::gpu::Stream_t instead?
  • Rename CUDASimulation -> GPUSimulation etc? with a deprecated type alias?
    • This is not too bad just for class names, as using X [[deprecated(("msg")]] = Y should make that trivial, but CUDAConfig means a deprecated member is needed too to fully make the change, so is just a decent chunk more effort.
  • Ensure consistency in use of new macros? i.e. defined(FLAMEGPU_USE_CUDA) vs ifdef FLAMEGPU_USE_CUDA. Maybe do HIP first and fallback to the CUDA version so intellisense doesn't get offended?
  • Update Docs repo accordingly
  • TODO: DO NOT MERGE in test suite, where wrapper function changes happened but I didn't update the test suite.
  • Still don't understand why the wrapper helper is needed for agent functions but not for agent function conditions....
  • Fully udpated changelog from this PR (more breaking changes / deprecations not yet included)
  • Telemetry NVCCVersion. Or maybe use a diff field name anyway?

As of 2026-06-10 tests pass with:

  • CUDA 13.2 on linux
  • HIP 7.0 on linux
  • CUDA 12.4 on windows

ptheywood and others added 16 commits June 9, 2026 12:05
The (vendored) 3rd party action for the CLA bot is no longer being updated, and does not support node 24. This mitigates the issue until fall 2026
Our minimum CMake updated for CUDA C++20 allows us to use this.
…StateWriter

This was only used for a workaround in rapidJSON
ptheywood added 28 commits June 9, 2026 18:02
…re no longer required due to cleaner abstraction
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.

AMD ROCTx support AMD + GLM Initial AMD GPU Support (ROCm/HIP)

1 participant