2009年12月1日 星期二

新的亂數產生器 Mersenne Twister for Graphic Processor

寫程式經常要用到亂數, 尤其是衍生性商品的評價和風險值計算. 其實在程式語言裡所附的亂數產生器並不夠亂, 在我們一般的PC要產生真正的亂數也很困難, 比較講究的程式通常會另外製作亂數產生器, 最常用的是由日本廣島大學兩位教授發明的 Mersenne Twister. 我自己實作的 RiskLib.NET也有將它改寫為C#的版本.

Mersenne Twister 新出了利用圖形處理器GPU的平行處理版本 MTGP, 可以利用顯示卡上的處理器來做向量資料的計算, 還包含了NVIDIA CUDA的範例. Mersenne Twister 應該是很適合利用GPU來做, 只不過最近比較沒時間. 過一陣子好好來研究一下.