GPU可不可以搞double计算?

flyendlessly 2011-03-18 05:24:03
GPU能对double数进行计算么?这个函数行不行?
__global__ static void KerDoubleMult( double *result , double *a , double *b , int n )
{
result[threadIdx.x]=a[threadIdx.x]*b[threadIdx.x];
}
计算结果怎么不对呢?


...全文
436 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
欲说还休cjt 2011-09-17
  • 打赏
  • 举报
回复
好像以前的版本不行,最新的版本可以吧。
flyendlessly 2011-09-17
  • 打赏
  • 举报
回复
研究了不少,但是后来发现,我做得这个根本就不需要double。。。
感觉搞计算,别的不说,就地震数据处理上而言,研究double基本是瞎操心
yelanghou 2011-06-18
  • 打赏
  • 举报
回复
我用的是复制template改写的方式,关于nvcc时添加-arch sm_13,怎么加啊?不是很懂,请指教
rabbitjerry 2011-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 flyendlessly 的回复:]

搞明白了,nvcc时添加-arch sm_13就可以了,如果要用double就得有这个选项
[/Quote]
赞~~ 其实我也没注意到这一点,因为我是直接使用赵开勇写的wizard建的工程,都没有自己去配置命令。
flyendlessly 2011-03-19
  • 打赏
  • 举报
回复
搞明白了,nvcc时添加-arch sm_13就可以了,如果要用double就得有这个选项
flyendlessly 2011-03-18
  • 打赏
  • 举报
回复
CUDA Capability Major revision number: 1
CUDA Capability Minor revision number: 3
这应该是1.3的计算能力吧?但是计算结果不行……
flyendlessly 2011-03-18
  • 打赏
  • 举报
回复
没去注意,例子里有,就照搬过来了
[Quote=引用 2 楼 rabbitjerry 的回复:]
不了解为啥要加static
[/Quote]
rabbitjerry 2011-03-18
  • 打赏
  • 举报
回复
不了解为啥要加static
rabbitjerry 2011-03-18
  • 打赏
  • 举报
回复
与显卡的计算能力有关。
计算能力为1.3和2.0的显卡支持双精度浮点类型。
计算能力为1.0,1.1,1.2的不支持双精度的浮点类型。
具体显卡的计算能力可以在NVIDIA的官网上查询,网址为:
http://www.nvidia.cn/object/cuda_gpus_cn.html

580

社区成员

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

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