【问题标题】:Fermi architecture possible solution to my comparative study?费米架构可能解决我的比较研究?
【发布时间】:2012-04-26 14:43:47
【问题描述】:

我正在进行一项比较研究,其中我必须对算法的串行和并行版本进行比较(准确地说是 NSGA-II 算法download link here)。 NSGA-II 是一种启发式优化方法,因此取决于生成的初始随机种群。如果使用 CPU 和 GPU 生成的初始种群不同,那么我无法进行公正的加速研究。

我拥有一块计算能力为 1.3 的 NVIDIA-TESLA-C1060 卡。根据this anwerthis NVIDIA document,我们不能指望 sm_13 设备总是产生符合 IEEE-754 的浮点(单精度)值。换句话说,这意味着在我当前的设备上,我无法对其串行对应的 CUDA 程序进行公正的加速研究。

我的问题是:改用 Fermi 架构能解决问题吗?

【问题讨论】:

标签: cuda floating-point nvidia ieee-754 tesla


【解决方案1】:

浮点运算在不同的架构上会产生不同的结果,无论它们是否支持 IEEE754,因为浮点不是关联的。即使在 x86 上切换编译器通常也会给出不同的结果。这个whitepaper 给出了一些很好的解释。

话虽如此,您真正的问题是您有一个数据相关算法,其中操作取决于您生成的随机数。因此,如果您在 CPU 和 GPU 上生成相同的数字,那么两次运行都将遵循相同的路径。考虑使用cuRAND,它可以在 CPU 和 GPU 上生成相同的数字。

【讨论】:

  • 非常感谢您指引我正确的方向。
猜你喜欢
  • 1970-01-01
  • 2022-12-06
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 2016-06-27
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
相关资源
最近更新 更多