Skip to content

Conversation

@kunkunblueberry
Copy link

Reminder

  • Have you linked an issue with this pull request?
  • Have you added adequate unit tests and/or case tests for your pull request?
  • Have you noticed possible changes of behavior below or in the linked issue?
  • Have you explained the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi? (ignore if not applicable)

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)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant