-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable ROCm target based on existing CUDA/Thrust implementation. #1914
Conversation
…pport/cuda-refactor
…pport/cuda-refactor
…ment requirement used by State data.
This reverts commit f07234e.
I believe the docs parsing issues have been fixed in the last update. @doichanj, let me know your thoughts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove prelude section from release note.
Could you add similar explanation how to build from source for AMD GPU in CONTRIBUTING.md
?
Add ROCm build instructions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was so impressed that we can enable AMD GPU by small changes. I think it will be easy to maintain codes in the future
@doichanj, yes, it was designed to be as little disruptive as possible for ports of already existing CUDA implementations. I added the Contribution.md changes in the last commit. Let me know if you'd like to include more there. |
Summary
Enable ROCm target based on existing CUDA/Thrust implementation.
Changelog: New Feature
Details and comments
Add the
AER_THURST_ROCM
to signal the a ROCm target is desired. Build system changes included to select specific GPU targets and leverage CMake support for HIP. The porting approach uses macro replacement to match CUDA runtime calls with their HIP counterparts. There is an assumption being made that the wavefronts/warps have all threads active, expanding that assumption to the ROCm implementation that uses a wider wave-front.