传递函数指针到核函数

ajbdy 2016-12-07 09:25:34
大家好,经过一翻搜索,终于能把指针传递到核函数了template<typename T>

__global__ void gpu_fun(T* data, int n, T* result, CUDA_GLOBAL_CALLBACK<T> func)
{
for (int i = threadIdx.x; i < n; i += blockDim.x)
{
result[i] = func(data[i]);
}
}

但是这段代码在debug模式下运行正常,在release模式下,计算出错,甚至会出现异常,请问是不是函数重入的问题?
...全文
474 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_40640783 2017-10-15
  • 打赏
  • 举报
回复
请问楼主问题解决了吗,我最近也碰到这个问题很头痛,在debug模式下结果正确,正常运行就会有误差,

579

社区成员

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

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