首页 > 代码库 > 向Kernel函数传递thrust vector的方法

向Kernel函数传递thrust vector的方法

废话不说,直接上代码

C/C++ code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
__global__ 
void Kernel(int* dv)
{
    int i = threadIdx.x;
    dv[i] = i;
}
 
int main()
{
    thrust::device_vector<int> dv(10);
     
    Kernel<<<1,10>>>(thrust::raw_pointer_cast(&dv[0])); 
 
 
    thrust::host_vector<int> hv = dv;
 
    for (int i=0; i<10; ++i)
    {
        printf("%d\n", hv[i]);
    }
 
    return 0;
}



运行结果:

0
1
2
3
4
5
6
7
8
9