社区
CUDA高性能计算讨论
帖子详情
gpu进行浮点运算的精度问题
zjx1020
2010-07-08 05:54:51
两个矩阵对应位置的数据相乘,然后把每个相乘的结果加起来,∑a(i,j)*b(i,j)
gpu得到的结果与CPU的结果相差很大啊
但是int型数据结果是一样的,这是写的程序问题还是gpu硬件问题?
如果是硬件问题,那这样的运算不是不适合拿gpu来做了?误差太大了。。。
...全文
735
12
打赏
收藏
gpu进行浮点运算的精度问题
两个矩阵对应位置的数据相乘,然后把每个相乘的结果加起来,∑a(i,j)*b(i,j) gpu得到的结果与CPU的结果相差很大啊 但是int型数据结果是一样的,这是写的程序问题还是gpu硬件问题? 如果是硬件问题,那这样的运算不是不适合拿gpu来做了?误差太大了。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
a4825966
2011-04-22
打赏
举报
回复
用定点化将浮点数转为整型
meppp
2010-07-21
打赏
举报
回复
[Quote=引用 8 楼 zjx1020 的回复:]
引用 7 楼 skfeng36 的回复:
两者有误差。
那不是大量浮点数据的运算不能用gpu运算了?
我观察了下,貌似7位数正确
8位数不一样
[/Quote]
那看来就是精度的问题,单精度浮点数有效数字位数是7个,双精度为13个左右。
beyond071
2010-07-16
打赏
举报
回复
浮点数累加误差可以使用Kahan summation algorithm算法来减小到可接受的范围
zjx1020
2010-07-12
打赏
举报
回复
[Quote=引用 7 楼 skfeng36 的回复:]
两者有误差。
[/Quote]
那不是大量浮点数据的运算不能用gpu运算了?
我观察了下,貌似7位数正确
8位数不一样
开飞机的贝塔塔
2010-07-12
打赏
举报
回复
两者有误差。
无心人_过过小日子
2010-07-12
打赏
举报
回复
[Quote=引用 8 楼 zjx1020 的回复:]
引用 7 楼 skfeng36 的回复:
两者有误差。
那不是大量浮点数据的运算不能用gpu运算了?
我观察了下,貌似7位数正确
8位数不一样
[/Quote]
要修改算法。注意计算误差。
关于计算误差的详细讨论可以看经典的《计算机程序设计艺术第二版第二卷》。
无心人_过过小日子
2010-07-09
打赏
举报
回复
[Quote=引用 2 楼 zjx1020 的回复:]
引用 1 楼 l7331014 的回复:
浮点精度问题?大家强制用单精度,看看差别是否很大.
CPU上浮点计算是80位的.而gpu上单精度才32位,双精度才64位.
就是float
差别很大
[/Quote]
限制cpu上的浮点数精度,再试试看。
zjx1020
2010-07-09
打赏
举报
回复
[Quote=引用 4 楼 zenny_chen 的回复:]
上代码。
CPU的以及GPU上的求和乘法
[/Quote]
就是深入浅出cuda第一个例子
你把int改成float就得出结果了
zenny_chen
2010-07-09
打赏
举报
回复
上代码。
CPU的以及GPU上的求和乘法
zjx1020
2010-07-09
打赏
举报
回复
cuda是不是第一分配显存的时候有额外开销的?
还有我cudaMemcpy怎么带宽非常的低,只有SDK bandwidth测得1/4
zjx1020
2010-07-09
打赏
举报
回复
[Quote=引用 1 楼 l7331014 的回复:]
浮点精度问题?大家强制用单精度,看看差别是否很大.
CPU上浮点计算是80位的.而gpu上单精度才32位,双精度才64位.
[/Quote]
就是float
差别很大
无心人_过过小日子
2010-07-08
打赏
举报
回复
浮点精度问题?大家强制用单精度,看看差别是否很大.
CPU上浮点计算是80位的.而gpu上单精度才32位,双精度才64位.
nVIDIA显卡CUDA性能测试工具,可测试nVIDIA显卡的
浮点运算
性能
nVIDIA显卡CUDA性能测试工具,可测试nVIDIA显卡的参数,nVIDIA显卡的CUDA
浮点运算
性能
OpenCL
GPU
性能测试源代码
用于测试
GPU
通用计算性能(浮点 整形 双
精度
纹理性能)的OpenCL代码
天梯
GPU
排行榜
PC客户端开发时,需要此类资源做为目标机的标定,以及后期优化维护时的参考依据
libSoftFloat:在纯GLSL 1.30中为
GPU
使用位旋转操作和整数数学实现双
精度
操作库
libSoftFloat:在纯GLSL 1.30中为
GPU
使用位旋转操作和整数数学实现双
精度
操作库
gpu
浮点计算能力floaps_认识
GPU
浮点计算
精度
● 认识
GPU
浮点计算
精度
DirectX 9.0时代提出的Shader Model 2.0最重要的一点改进是增加对浮点数据的处理功能,以前
GPU
只能对整数
进行
处理,改进后提高渲染
精度
,使最终处理的色彩格式达到电影级别。Shader Model 2.0时代突破了以前限制PC图形图象质量在数学上的
精度
障碍,它的每条渲染流水线都升级为128位浮点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,...
CUDA高性能计算讨论
357
社区成员
615
社区内容
发帖
与我相关
我的任务
CUDA高性能计算讨论
CUDA高性能计算讨论
复制链接
扫一扫
分享
社区描述
CUDA高性能计算讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章