CUDA中cudeMallocHost函数使用方法。 10

哪位好心的大神能帮忙解释一下,什么是page-lockedmemory,具体怎么正确使用?我在写CUDA程序的时候,使用cudaMallocHost,然后使用cudaMe... 哪位好心的大神能帮忙解释一下,什么是page-locked memory,具体怎么正确使用?我在写CUDA程序的时候,使用cudaMallocHost,然后使用cudaMemcpyAsync进行数据到拷贝。做了一个a+b到例子,在kernel中是 __device__ void kernel(int a, int b, int d_result) {
int tid = threadIdx.x;
d_result[tid] = a + b + tid;
} 在这个函数里面打印的时候d_result的值都是正确的,为什么cudaMemcpyAsync之后在cpu端输出的时候就都是初始值呢?
想知道cudaMemcpyAsync的具体操作步骤是什么样子的。谢谢啦!
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
泷皖莲6
2015-02-06 · TA获得超过622个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:315万
展开全部
你好,

你的kernel应该用__global__啊,用__device__只是定义了一个让device来调用的函数而已。而且你的 d_result是按值传递底,必须按地址传递才行,应该改成*d_result。

望采纳,谢谢。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
塔翊宿夏旋
2020-02-11 · TA获得超过3771个赞
知道大有可为答主
回答量:3106
采纳率:28%
帮助的人:238万
展开全部
你好,
cuda默认的都是pageabled的memory,page-locked也就是pinned
memory可以加快host和device之间的数据传输速度,但是使用太多的page-locked的memory会带来整个程序的效率降低。如果程序中存在频繁的cudamemcpy
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式