Fix: Realize different device for force calculation #6817
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reminder
Linked Issue
Fix # (None.)
Unit Tests and/or Case Tests for my changes
Local Test Status: 9 out of 11 unit tests passed.
Failure Analysis: One of the failures existed prior to my changes (pre-existing in the upstream/environment); the other is unrelated to the current logic.
What's changed?
Interface Refactoring: Refactored the force calculation interface which was previously bound to CUDA-specific calls.
Heterogeneous Support: Implemented HIP support for ROCm platforms.
Compile-time Dispatch: Utilized template-based or macro-based compile-time confirmation to dispatch between different computation kernels (CUDA vs. HIP) based on the target architecture.
Numerical Consistency: Verified that the results match the original CUDA implementation without any loss in precision.
Any changes of core modules? (ignore if not applicable)