• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

M系列乱数の並列生成

研究課題

研究課題/領域番号 02640161
研究種目

一般研究(C)

配分区分補助金
研究分野 数学一般
研究機関筑波大学

研究代表者

小柳 義夫  筑波大学, 電子情報工学系, 教授 (60011673)

研究分担者 名取 亮  筑波大学, 電子情報工学系, 教授 (70013745)
池辺 八洲彦  筑波大学, 電子情報工学系, 教授 (10114034)
研究期間 (年度) 1990
研究課題ステータス 完了 (1990年度)
キーワード乱数 / M系列 / 並列処理 / ベクトル化 / QCDPAX / 初期値 / 排他的論理和
研究概要

ス-パ-・コンピュ-タで使用される乱数は膨大な数である。1秒に1G個=2^<30>生成すると31〜32桁の合同法の乱数は1秒で周期を回ってしまう。多倍長の合同法は計算が面倒なので、M系列乱数を用いる。この例では、周期は2^<521>ー1〓6.87×10^<156>で、1G個/秒でも10^<147>秒〓10^<140>年かかる。
良好な性質をもつM系列乱数を並列計算機で生成するためには、初期値の設定の仕方が重要である。調査の結果、次の方法が有効であることが分かった。すなわち、各プロセッサに521語(1語=1ビット)からなる1次元配列{r_k,O≦k≦520}を用意し、配列rにビット毎のM系列から得られる1n個のビット列{a_t,0≦t≦1nー1}を横方向に並べる。プロセッサ数nが2の羃乗でない場合は、nを起える最小の2の羃乗について上の操作をおこない、0〜(nー1)の部分だけ取ればよい。乱数を生成するには、各プロセッサで独立に漸化式r_t=r_<tー521>.XOR.r_<tー32>を実行し、r_tを[0,1]の浮動小数に変換する。ただし、.XOR.はビット毎の排他的論理和である。
各プロセッサでの乱数生成のアルゴリズムは逐次型の場合と同様で、ベクトル化可能である。このプログラムにより、521個の乱数が生成される。個数が個定されてしまうのが難であるが、ソフト的に調節すればよい。
このベクトルアルゴリズムを高並列計算機QCDPAXにマイクロプログラムにより実装したところ、1個当り、373μsecで生成することができた。432台全体では1.16G個/秒である。なお、初期設定はホストのワ-クステ-ションで行う。

報告書

(1件)
  • 1990 実績報告書
  • 研究成果

    (3件)

すべて その他

すべて 文献書誌 (3件)

  • [文献書誌] K.Kanaya et al.: "Pure QCD at Finite Temperature:Results from QCDPAX" Nucl.Phys.B. (1991)

    • 関連する報告書
      1990 実績報告書
  • [文献書誌] Y.Iwasaki et al: "QCDPAX:Present Status and First Physical Results" Nucl.Phys.B.

    • 関連する報告書
      1990 実績報告書
  • [文献書誌] M.Sugihara,Y.Oyanagi,M.Mori and S.Fujino: "On the Efficiency of an SORーlike Method suited to vector processor," Journal of Computational and Applied Mathematics.

    • 関連する報告書
      1990 実績報告書

URL: 

公開日: 1993-08-11   更新日: 2016-04-21  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi