eyalroz / cuda-api-wrappers

Thin, unified, C++-flavored wrappers for the CUDA APIs
BSD 3-Clause "New" or "Revised" License
766 stars 79 forks source link

Rethink numerous copy functions vis-a-vis the copy parameters structure #641

Open eyalroz opened 4 months ago

eyalroz commented 4 months ago

With recent CUDA versions, we have the CUDA_MEMCPY3D_PEER struct, which is quite flexible. We also have a large host of copy functions - 40 all told - almost all of which are covered by a copy function taking this struct. And - we probably don't even cover all of its possibilities - w.r.t. inter-context copying.

We have (at least) two choices:

I'd appreciate some input from users of the library who have opined on design questions in the past, or have contributed code.