gpt4 book ai didi

cuda - 用于研究目的的 nVidia GPU : Float Precision

转载 作者:行者123 更新时间:2023-12-05 01:28:22 26 4
gpt4 key购买 nike

我正在攻读人工智能领域的博士学位。我已经到了必须开始为我的测试平台使用 CUDA 库的部分。以前玩过CUDA,对GPGPU的工作原理等有基本的了解,但是对浮点精度很困扰。

查看 GTX680,我看到 FP64:1/24 FP32,而 Tesla 的 FP64 为 1.31 TFLOPS。我很明白,一张是游戏卡,一张是职业卡。

我问的原因很简单:我买不起特斯拉,但我也许能买到两台 GTX680。虽然主要目标是拥有尽可能多的 CUDA 内核和内存,但浮点精度可能会成为问题。

我的问题是:

  1. 游戏 GPU 的小浮点精度有多大妥协?
  2. 32 位浮点精度的 1/24 是不是太小了?尤其是与之前的 1/8 FP32 费米相比
  3. 是否存在因浮点精度较小而导致计算结果错误的风险?即在 SVM、VSM、矩阵运算、深度信念网络等中,我是否会因为较小的 float 而对算法的结果有问题,还是仅仅意味着运算将花费更长的时间/使用更多的内存?

谢谢!

最佳答案

这些都是非常主观的问题。

您是否理解 C 或 C++ floatdouble 数据类型之间的区别并不完全清楚。 FP32 与 FP64 指的是 C 或 C++ 中的 floatdouble。您提到的 1/8 和 1/24 的数字不会影响 精度,但会影响 吞吐量。您提到的所有 GPU 都具有一些 FP64 double 功能,因此差异不在于 功能,而在于 性能

了解您关心的代码是否依赖于 double 浮点对您来说非常重要。仅仅说“矩阵运算”之类的东西来理解 FP32 (float) 或 FP64 (double) 是否重要是不够的。

如果您的代码依赖于 FP64 double,那么这些性能比(1/8、1/24 等)将是相关的。但是您的代码应该仍然可以运行,可能会更慢。

您还以可能导致混淆的方式使用某些术语。 Tesla 指的是 NVIDIA GPGPU 系列计算产品。最好是指特斯拉家族的特定成员。由于您提到 1.31 TFlops FP,您指的是 Tesla K20X。请注意,K20X 还具有 FP64 吞吐量和 FP32 吞吐量之间的比率(即它甚至可以比 FP32 代码上的 1.31 TFlops 更快)。

如果您的算法依赖于double,它们仍然可以在您提到的任何产品上运行,并且无论产品如何,结果的准确性都应该相同,但是性能会降低,取决于产品。如果您的算法依赖于 float,它们在任何给定产品上的运行速度都会比 double 快,假设浮点吞吐量是限制因素。

您可能还想考虑 GeForce GTX Titan . double 浮点性能与Tesla K20/K20x大致相当。

关于cuda - 用于研究目的的 nVidia GPU : Float Precision,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16027391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com