[BUG]: Ensure cudaMemcpy is called by thrust::copy
Open
libcu++
nvbug
thrust
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 487
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 296
Description
We should ensure that this:
```c++
void test(double* in, double* out, size_t n) {
thrust::copy(thrust::device, in, in + n, out);
}
```
calls `cudaMemcpy` or `cudaMemcpyAsync` with `cudaMemcpyDefault`.
Right now it does not seem to be happening. @jrhemstad
Contributor guide
Research direction
Start with the thrust::copy implementation and its existing tests; reproduce the shown device-to-device case and trace which CUDA copy operation is used. Done means a regression test verifies that the operation uses cudaMemcpy or cudaMemcpyAsync with cudaMemcpyDefault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100