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的具体操作步骤是什么样子的。谢谢啦! 展开
int tid = threadIdx.x;
d_result[tid] = a + b + tid;
} 在这个函数里面打印的时候d_result的值都是正确的,为什么cudaMemcpyAsync之后在cpu端输出的时候就都是初始值呢?
想知道cudaMemcpyAsync的具体操作步骤是什么样子的。谢谢啦! 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
2个回答
展开全部
你好,
你的kernel应该用__global__啊,用__device__只是定义了一个让device来调用的函数而已。而且你的 d_result是按值传递底,必须按地址传递才行,应该改成*d_result。
望采纳,谢谢。
你的kernel应该用__global__啊,用__device__只是定义了一个让device来调用的函数而已。而且你的 d_result是按值传递底,必须按地址传递才行,应该改成*d_result。
望采纳,谢谢。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询