Skip to main content
QUICK REVIEW

[論文レビュー] A fast vectorised implementation of Wallace's normal random number generator

Richard P. Brent|arXiv (Cornell University)|Apr 19, 2010
Numerical Methods and Algorithms参考文献 17被引用数 11
ひとこと要約

本稿では、正規分布乱数のPoolに対して直交行列変換を適用することで、一様乱数ストリームや超越関数に依存せずに新たな正規変数を生成する高速なベクトル化実装、RANN4を提示する。Fujitsu VP2200およびVPP300などのベクタープロセッサ上で、従来のボックス=ムラー法やポーラー法を3倍以上上回る性能を達成し、保守的な破棄係数f=3を用いることで、1変数あたり6.4サイクルの性能を発揮する。

ABSTRACT

Wallace has proposed a new class of pseudo-random generators for normal variates. These generators do not require a stream of uniform pseudo-random numbers, except for initialisation. The inner loops are essentially matrix-vector multiplications and are very suitable for implementation on vector processors or vector/parallel processors such as the Fujitsu VPP300. In this report we outline Wallace's idea, consider some variations on it, and describe a vectorised implementation RANN4 which is more than three times faster than its best competitors (the Polar and Box-Muller methods) on the Fujitsu VP2200 and VPP300.

研究の動機と目的

  • ベクターや並列アーキテクチャに適した高性能な正規乱数生成器の開発。
  • 正規変数生成における一様乱数ストリームやlog、sqrt、sin、cosなどの初等関数への依存を排除すること。
  • ベクタープロセッサ上での高速一様乱数生成器に近い性能を達成すること。
  • 適切なパラメータ選定と誤差モニタリングを用いた統計的堅牢性の確保。

提案手法

  • 直交行列変換(例:回転行列)を用いて、既存の正規変数のプールから新たな正規変数を生成し、二乗和を保存するとともに正規性を保証する。
  • nN個の正規分布変数のプールを、N回の行列-ベクトル乗算により再生成する。効率性を考慮し、nは通常2または4に設定される。
  • 整数定数α、β、γ、δを用いて非単位ステップを定義し、統計的独立性を確保するとともに、極端値における相関を低減する。
  • 各パスからの初期値を破棄するための破棄係数fを適用し、外れ値の大きさにおける相関を低減し、統計的性質を改善する。
  • 丸め誤差によるドリフトを検出するため、二乗和をモニタリングし、実行時補正と誤差検出を可能にする。
  • Fujitsu VP2200およびVPP300システムに実装され、ベクタ命令レベル並列性を活用して高スループットを実現する。

実験結果

リサーチクエスチョン

  • RQ1Wallace法に基づく正規乱数生成器を、ベクタープロセッサ上で効率的にベクトル化し、高速一様乱数生成器に近い性能を達成できるか?
  • RQ2破棄係数fのようなパラメータの選択が、モーメントの一貫性や変換後の変数の一様性といった統計的性質に与える影響は何か?
  • RQ3非単位ステップを伴う直交行列変換が、出力列における極端値の相関構造に与える影響は何か?
  • RQ4外部の一様乱数ストリームや超越関数の評価に依存せずに、統計的品質を維持できるか?

主な発見

  • Fujitsu VP2200/10では、f=3の条件下で1正規変数あたり6.4サイクルの性能を達成し、以前の最速手法RANN3(21.9サイクル)に比べ3.2倍の高速化を実現した。
  • VPP300では、f=3のとき約11.4ナノ秒/変数、f=1のとき約5.4ナノ秒/変数の性能を示し、VP2200に比べ2倍の性能向上を達成した。
  • 統計的検定の結果、変換後の変数u = exp(-(x²+y²)/2)およびv = arctan(x/y)が一様分布に従うことが確認され、f ≥ 1の条件下でカイ二乗統計量が一様性からの有意な逸脱を示さなかった。
  • f=1のとき、生成された変数の四次モーメントは5%の信頼水準で著しく小さく、極端値における相関が増加していることが示唆された。この影響はf ≥ 3のとき緩和された。
  • 二乗和のモニタリングにより、丸め誤差によるドリフトを検出でき、作業領域が上書きされた場合のメモリ破損も正常に検出できた。
  • VPP300のようなベクタープアレルシステムでは、初期化後はプロセッサ間の通信なしに独立した乱数ストリームを生成可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。