【发布时间】:2013-04-16 10:12:07
【问题描述】:
我正在攻读人工智能领域的博士学位。我已经到了必须开始为我的测试平台使用 CUDA 库的部分。 以前玩过CUDA,对GPGPU的工作原理等有基本的了解,但是对浮点精度很困扰。
查看 GTX680,我看到 FP64:1/24 FP32,而 Tesla 的 FP64 为 1.31 TFLOPS。我很明白,一张是游戏卡,一张是职业卡。
我问的原因很简单:我买不起特斯拉,但我也许能买到两台 GTX680。虽然主要目标是拥有尽可能多的 CUDA 内核和内存,但浮点精度可能会成为问题。
我的问题是:
- 游戏 GPU 中的小浮点精度有多大妥协?
- 32 位浮点精度的 1/24 是不是太小了?尤其是与之前的 1/8 FP32 费米相比
- 是否存在因浮点精度较小而导致计算结果错误的风险?即在 SVM、VSM、矩阵运算、深度信念网络等中,我是否会因为较小的浮点数而对算法的结果有问题,还是仅仅意味着运算将花费更长的时间/使用更多的内存?
谢谢!
【问题讨论】:
-
这些征求意见的问题通常不适合 stackoverflow。在你的问题结束之前,让我陈述一下我的观点:如果你买得起两台 GTX 680,你也可以买得起一台 GTX Titan,在那里你可以获得原生 FP64 速度(与特斯拉一样是 1/3 FP32)。这为您节省了多 GPU 编程的痛苦(除非这是您想学习的)。它甚至接近两个 GTX 680 的 FP32 速度,并具有 3.5 的其他计算能力,例如每个线程最多 255 个寄存器。
-
@tera 谢谢,这更有意义。我发帖后正在看泰坦的1/3 F32。不,我不想涉足多 GPU 编程,只想导入 cuda 库。
标签: cuda gpgpu nvidia floating-point-precision