cud多gpu编程问题请教

Marathonist 2016-05-24 08:05:22
用俩个gpu卡写一个利用字典进行字符串验证的程序,字符串大约为1000万条,每次导入gpu1一万多条,导入gpu2同样多的条数,
导入数据用的
cudaMemcpyAsync(..., Stream1);
cudaMemcpyAsync(..., Stream2);

然后执行核函数:
set(gpu1),kernel<<< blocksum, threads, Stream1 >>>;
set(gpu2), kernel<<< blocksum, threads, Stream2 >>>;

最后将结果分别用cudaMemcpyAsync拷贝到两个数组中,
再利用函数等每个Stream操作结束:
cudaStreamSychronize( Stream1 ),
cudaStremSynchronize( Stream2 ).

在cpu中对两个数组结果进行比对,但在后续的调试过程中发现:
如果正确的字符串在gpu1中进行运算时,可以得到正确的比对验证,如果分配到gpu2中则不能正确验证

请问这是因为什么情况?
...全文
216 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

581

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧