gpt4 book ai didi

cuda - 如何将 Thrust::host_vector 复制到 char*

转载 作者:行者123 更新时间:2023-12-04 04:58:56 32 4
gpt4 key购买 nike

我正在尝试使用 CUDA 推力。
但是我工作的环境需要我把最后的数据复制到char*而不是 thrust::host_vector<char>所以我的代码现在看起来像下面这样。

thrust::device_vector<unsigned int> sortindexDev(filesize);
thrust::host_vector<char>BWThost(filesize);
thrust::device_vector<char>BWTdev(filesize);
thrust::device_vector<char>inputDataDev(filesize);
.
.
some code using thrust:: sort, thrust::transform, etc
.
.
.
.
BWThost = BWTdev;

我在 BWThost 中复制了数据后.
我想把它复制到 char*为了我的框架的需要。
我该怎么做?
下面的代码不起作用。
for(int i = o; i < upper; i++) {
charData[i] = BWThost[i]
}

最佳答案

只需使用 thrust::copy ,例如:

thrust::device_vector<char>BWTdev(filesize);
char *chardata = malloc(filesize);

thrust::copy(BWTdev.begin(), BWTdev.end(), &chardata[0]);

[免责声明:在浏览器中编写,未经编译或测试,使用风险自负]

这是直接从 device_vector 复制的到主机阵列而无需任何中间 host_vector或明确的主机端循环。

关于cuda - 如何将 Thrust::host_vector<char> 复制到 char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389072/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com