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

Refactor device_malloc, queue::copy, and queue::fill calls #10

Open
kris-rowe opened this issue Jan 19, 2023 · 0 comments
Open

Refactor device_malloc, queue::copy, and queue::fill calls #10

kris-rowe opened this issue Jan 19, 2023 · 0 comments
Labels
clean-up Improvements to code quality (e.g. refactoring) sycl

Comments

@kris-rowe
Copy link

Details

  • Similar calls to sycl::device_malloc and sycl::queue::copy are repeated throughout sycl backends
    • Requires boilerplate code for retrieving a Ceed_Sycl pointer using CeedGetData
  • These patterns can be refactored into wrapper functions which
    • Take a Ceed argument
    • Have an interface similar to cudaMalloc and cudaMemcpy
  • Ensures all copies are synchronized in the same manner, e.g.
    • Currently queues are in-order and calls to queue::copy are followed by a wait_and_throw
    • Use of out-of-order queues will require either
      • Synchronization before calling queue::copy
      • Passing a vector of sycl::event dependencies
@kris-rowe kris-rowe added the sycl label Jan 19, 2023
@kris-rowe kris-rowe added this to the Sycl-ref Backend milestone Jan 19, 2023
@kris-rowe kris-rowe self-assigned this Jan 19, 2023
@kris-rowe kris-rowe added the clean-up Improvements to code quality (e.g. refactoring) label Jan 19, 2023
@kris-rowe kris-rowe changed the title Refactor device_malloc and queue::copy calls Refactor device_malloc, queue::copy, and queue::fill calls Jun 21, 2023
@kris-rowe kris-rowe removed their assignment Jun 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clean-up Improvements to code quality (e.g. refactoring) sycl
Projects
None yet
Development

No branches or pull requests

1 participant