Skip to content

Default DMA memcpy Operation. #182

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

Open
NicolasDenoyelle opened this issue Apr 28, 2021 · 0 comments
Open

Default DMA memcpy Operation. #182

NicolasDenoyelle opened this issue Apr 28, 2021 · 0 comments

Comments

@NicolasDenoyelle
Copy link

NicolasDenoyelle commented Apr 28, 2021

The proposed is feature consists in adding a default operator in DMA abstraction that would perform copy of a contiguous
chunk of data into a non-overlapping region.

Providing such method in the abstraction makes sense since all available backends (linux, cuda, OpenCL, level_zero) do provide a memcpy functionality. There are currently only few rarely used accelerated copies for 2D/3D matrices and no real programmable dma engine other than the CPU itself.

On top of that, there are currently two use cases for such a functionality:

  • Currently all layouts transform operations are implemented using memcpy operations. Providing such a method would enable layouts to provide a backend-agnostic copy operator for transforming into another layout.
  • The WIP deepcopy abstraction uses many flat copies and has to go through the layout abstraction every time when such a data description is really not needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant