Skip to content
Snippets Groups Projects

Draft: [RFC] Remove support for using OpenCL as GPU backend

OpenCL has been deprecated for years and has not seen any of the new features add to the CUDA and SYCL backends.

It also restricts us when it comes to writing host code because we still need to be able to pass it to the OpenCL JIT compiler that only understands C99, meaning we can't use templated types as arguments.

Also remove clfft from the repository, as it was only used with OpenCL.

Closes #5079

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
7 7 Also, please use the syntax :issue:`number` to reference issues on GitLab, without
8 8 a space between the colon and number!
9 9
10 Removed OpenCL backend
11 """"""""""""""""""""""
12
13 The OpenCL GPU backend has been deprecated for years and seen no work to support the additional
14 GPU offload parts that are now supported with CUDA and SYCL.
    • I'm generally in favor of this step. Unfortunately we don't have much information on whether GROMACS users are using it to run on devices not supported by ROCm. AFAIK AMD has not made any official statement on routinely supporting ROCm on consumer devices, but there has been a (slow) trend of more devices being officially supported (and others that happened to work).

      At some point we should pull off the bandage and recognize that if AMD doesn't care about ROCm on these devices, the number of potential GROMACS users who will have them and want to try to use them is not going to grow. That's particularly true given that we've had OpenCL support deprecated for a few years. We periodically have to drop support for older CUDA devices (and will start having to do so for Intel and AMD at some future time), and this decision has a similar characteristics.

      Meanwhile,

      • GROMACS has extra CI testing burden (which limits the number of configurations we could otherwise have if we weren't spending them on OpenCL testing) and
      • it's harder to make improvements to the GPU code (because you have to ensure the OpenCL build does not degrade and perhaps contort things to make them work).
    • Author Maintainer

      I'm starting a conversation here with the people responsible for the consumer devices at AMD, and hope I will be able to point out to them that people first start using consumer hardware on their personal machines and then move to the HPC system.

      So having a positive user experience there will be beneficial when getting people familiar with the ROCm stack, so maybe we will be able to get some more information about it.

      But I also think we will need to do this anyway at some point, and just like when we removed the group scheme there will be people upset about it. So better to get it done now that there is a good reason (in my biased opinion) instead of kicking the can down the road

    • Please register or sign in to reply
  • Paul Bauer added 5 commits

    added 5 commits

    Compare with previous version

    • I think a policy decision is required before code review so I suggest doing so first (and follow up on #5079).

    • Author Maintainer

      yes, I agree on that and hope we can come to a decision in the near future. I can continue my work also without this change but it would include quite a bit of hassle if there is a lot of back and forth

    • Please register or sign in to reply
  • changed milestone to %2026.devcycle1

  • Please register or sign in to reply
    Loading