NVIDIA / NVIDIA/cccl

[BUG]: Ensure cudaMemcpy is called by thrust::copy

Open
#210 12 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.