编译cuda源程序时出错 error: function “atomicAdd(double *, double)” has already been defined

注:个人笔记

cuda 8.0 提供了对atomicAdd的定义,但atomicAdd在之前的cuda toolkit中并未出现,因此一些程序自定义了atomicAdd函数。

因此,在atomicAdd前添加宏判断即可。

如:

#if !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 600 

#else 

   __device__ double atomicAdd(double* a, double b) 

   { 

      return b; 

   } 

#endif

再次编译程序即可成功!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值