Skip to content

Conversation

@joaander
Copy link
Member

@joaander joaander commented Nov 20, 2025

Description

  • Remove the vendored hip and hipcub headers. Instead, use find_package(hip) to find external headers.
  • Change compiler definitions to support modern versions of hip.

Motivation and context

CUDA 13 contains many breaking changes and the vendored headers do not support it.
By using external hip libraries, HOOMD-blue will gain support for new versions of CUDA as soon as upstream adds support (at this time the latest release of hipcub does not support CUDA 13).

conda-forge does not support HIP_PLATFORM=nvidia (conda-forge/hip-feedstock#9) in hip-devel and lacks a hipcub package entirely. Therefore, users that build HOOMD from source for NVIDIA GPUs will need to install hip and hipcub headers:

How has this been tested?

HOOMD-blue compiles and passes tests with CUDA 12.9, rocm-systems:hip-version_7.2.53220, and rocm-libraries:rocm-7.1.0 locally. CI checks have been updated accordingly. Patches to hip and hipcub fix build errors with CUDA 12.5–12.8.

Checklist:

  • I have reviewed the Contributor Guidelines.
  • I agree with the terms of the HOOMD-blue Contributor Agreement.
  • My name is on the list of contributors (sphinx-doc/credits.rst) in the pull request source branch.
  • I have summarized these changes in CHANGELOG.rst following the established format.

@joaander joaander marked this pull request as draft November 20, 2025 15:13
@joaander joaander added the release Build and unit test all support compiler/python configurations label Nov 20, 2025
@joaander
Copy link
Member Author

@mphoward, what do you think of using an external HIP library even when HOOMD_GPU_PLATFORM=CUDA?

Ideally we could avoid this by using hipper everywhere, but that would be a lot more work.

In any case, I won't merge this until hipcub supports CUDA 13. Until then, these changes introduce additional complexity for developers with no benefit.

@joaander joaander deleted the branch trunk-major November 21, 2025 22:03
@joaander joaander closed this Nov 21, 2025
@mphoward
Copy link
Collaborator

Hmm, it isn't ideal to require CUDA users to download and compile HIP, but I agree this fix is substantially less work than getting hipper updated to modern rocm and implemented everywhere in HOOMD. (This work is still on my todo list for a long time, but I've been unable to get to it.)

Do you have a rough sense of when hipcub will support for CUDA 13 and this will be ready to merge? We could always temporarily require HIP, then relax this requirement later if we did complete the extra work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Build and unit test all support compiler/python configurations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants