Skip to content
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

Convert class templates to Kokkos memory spaces #585

Merged
merged 7 commits into from
Sep 8, 2023

Conversation

streeve
Copy link
Member

@streeve streeve commented Oct 27, 2022

Convert all class template parameters to memory space rather than device type to close #407.

  • Convert classes
  • Add explicit execution space class methods (pass default exec space for existing methods)
  • Default device typedefs deprecated.
  • Deprecation warning emitted when device type passed
  • Examples and tests updated accordingly (Note only the comm plan used the device type explicitly in tests - the rest already used memory spaces)

@streeve streeve requested review from dalg24 and sslattery October 27, 2022 17:44
@streeve streeve self-assigned this Oct 27, 2022
@streeve streeve force-pushed the device_class_templates branch from 9564598 to 49176e5 Compare October 27, 2022 17:54
@streeve streeve force-pushed the device_class_templates branch 3 times, most recently from b35bb09 to 9f88936 Compare November 1, 2022 23:06
@streeve streeve force-pushed the device_class_templates branch 2 times, most recently from c35376e to 58f7fd4 Compare August 25, 2023 21:47
@streeve streeve force-pushed the device_class_templates branch 2 times, most recently from 0ae494d to 48aaf86 Compare August 28, 2023 14:02
@streeve streeve force-pushed the device_class_templates branch 7 times, most recently from 003ba5e to 727e585 Compare August 30, 2023 13:18
@streeve streeve force-pushed the device_class_templates branch from 727e585 to 33d8091 Compare September 6, 2023 20:26
Copy link
Collaborator

@kwitaechong kwitaechong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please explain why template classes on Memoryspace and function on ExecutiionSpace?

cajita/src/Cajita_BovWriter.hpp Show resolved Hide resolved
@streeve
Copy link
Member Author

streeve commented Sep 8, 2023

Overall, we only need the memory space to store the class Views, then the execution space to execute the member functions kernels (except in a few very specific instances). This mostly clarifies what’s needed where and when we use the default I mentioned in the comment above

@streeve
Copy link
Member Author

streeve commented Sep 8, 2023

Failures unrelated

@streeve streeve merged commit 5e429e0 into ECP-copa:master Sep 8, 2023
31 of 32 checks passed
@streeve streeve deleted the device_class_templates branch September 8, 2023 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Separate memory and execution spaces
3 participants