Merge HIP and CUDA policies, namespaces, and implementation into "gpu"
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 598
- Forks
- 118
- Avg merge
- 21h 29m
- Merged PRs (30d)
- 1
Description
We have a ever growing amount of duplicated code that starts with cuda_XXX and hip_XXX.
Since HIP is supposed to be almost completely CUDA compatible (esp for how we are using it) we should be able to completely merge the two into a gpu_XXX naming.
I'm assuming that HIP and CUDA cannot be enabled at the same time (correct me if that's not true). So we can easily ifdef anything that has to call hip/cuda specific APIs.
This would eliminate the need to implement features in both places, keeping everything more up-to-date and bug free
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the duplicated cuda_XXX and hip_XXX code described in the issue and determine how HIP and CUDA are enabled and whether they can be mutually exclusive. Done means consolidating the shared policies, namespaces, and implementation under gpu_XXX while preserving the required backend-specific API calls and keeping both configurations working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100