Skip to main content
QUICK REVIEW

[论文解读] Fast normal random number generators on vector processors

Richard P. Brent|arXiv (Cornell University)|Apr 19, 2010
Algorithms and Data Compression参考文献 14被引用 13
一句话总结

本文提出了针对富士通VP2200/10等向量处理器的Box-Muller法与极坐标法的优化向量化实现,可快速生成高质量的正态随机数。结果表明,经算法优化并结合三角函数的快速多项式近似后,极坐标法在该架构上实现了21.9个周期/每个正态偏差的卓越性能,优于标准Box-Muller法及其他基于拒绝采样的方法。

ABSTRACT

We consider pseudo-random number generators suitable for vector processors. In particular, we describe vectorised implementations of the Box-Muller and Polar methods, and show that they give good performance on the Fujitsu VP2200. We also consider some other popular methods, e.g. the Ratio method of Kinderman and Monahan (1977) (as improved by Leva (1992)), and the method of Von Neumann and Forsythe, and show why they are unlikely to be competitive with the Polar method on vector processors.

研究动机与目标

  • 开发适用于高性能向量处理器的高效、可向量化正态随机数生成器。
  • 评估并比较经典正态随机数生成方法(Box-Muller法、极坐标法、比率法、Von Neumann–Forsythe法)在向量架构上的性能表现。
  • 通过用快速多项式近似替代昂贵的超越函数,并优化拒绝逻辑,最小化计算开销。
  • 证明当正确向量化时,简单而传统的算法可超越复杂优化的串行算法。

提出的方法

  • 使用快速内联多项式近似替代sin和cos函数,实现Box-Muller法的向量化,减少对昂贵库调用的依赖。
  • 采用极坐标法(Marsaglia–Bray变体),在单位圆内使用拒绝采样,避免使用三角函数,代之以每对偏差仅需一次平方根和一次对数运算。
  • 利用向量gather/scatter操作高效处理拒绝循环,从而在向量架构上实现高吞吐量生成。
  • 通过绝对误差小于10⁻¹⁰的多项式近似优化超越函数(ln、sqrt、sin、cos),确保统计质量。
  • 使用广义斐波那契生成器RANU4生成均匀随机数,在VP2200/10上每数仅消耗2.2个周期。
  • 实现比率法与Von Neumann–Forsythe(GRAND)法用于对比,分析其因迭代无界及控制流分散导致的向量化效率低下问题。

实验结果

研究问题

  • RQ1像Box-Muller法与极坐标法这样的经典正态随机数生成方法,能否在高性能计算中实现有效的向量化?
  • RQ2为何基于拒绝采样的方法(如比率法与GRAND)在向量处理器上表现不佳,尽管其在串行机器上效率较高?
  • RQ3在向量化生成器中,使用昂贵的超越函数(sin、cos、ln)与增加均匀随机数生成和拒绝逻辑之间存在怎样的性能权衡?
  • RQ4三角函数的快速多项式近似对输出性能与统计质量有何影响?
  • RQ5对于富士通VP2200/10这类向量处理器,最优的向量化正态随机数生成器架构是什么?

主要发现

  • 在富士通VP2200/10上,向量化极坐标法实现了每生成一个正态偏差仅需21.9个机器周期,优于最佳Box-Muller法的26.3个周期。
  • 使用快速多项式近似替代sin和cos显著降低了三角函数计算成本,使Box-Muller法的向量化得以高效实现。
  • 尽管比率法减少了对数运算次数,但因向量gather/scatter操作开销过高且输出速率仅为每周期一半的偏差数,导致性能被超越。
  • GRAND等迭代拒绝方法因迭代次数无界且拒绝逻辑基于复杂区域划分,被证明不适合向量化,导致性能极差。
  • 极坐标法的拒绝步骤平均需约4/π ≈ 1.27个均匀随机数/每个偏差,但由于完全消除了昂贵的三角函数运算,整体效率更高。
  • 统计质量得到保持,超越函数的近似误差控制在10⁻¹⁰以内,经测试最多达10²⁰个随机数时仍无法检测到偏差。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。