ToDo:
SSE2を有効にして ICC 8.1のループ展開やらベクトル化を投入、 さらに32bitの疑似乱数取り出し関数をマクロ化してインライン展開する。
結果、SFMT pluginは爆速です
ベンチマーク結果の SAD Coreは SAD標準の Random[]関数、SADは Random[]関数のプラグイン版(ICCの最適化バージョン)です。
Random[]関数と同じ32bit精度(Random[]関数は実質 31bit精度ですが)なら 周期長 2^19937-1にもかかわらず 166%の実行時間ですんでいます
# Revision: 850 # Compiler: ICC 8.1 # CPU: CoreDuo L3200 # OS: FreeBSD 6.3-PRERELEASE Speed Test of Randum Number Generator Plugins... Batch Size: 1048576 Number of Statistics: 200 Plugin Name SAD Core min= 14.304 typ= 15.517 max= 39.138 sigma= 3.152 nsec/rand SAD min= 6.778 typ= 6.949 max= 7.023 sigma= 0.035 nsec/rand MT19937/53bit min= 59.225 typ= 61.343 max= 65.398 sigma= 2.064 nsec/rand MT19937/32bit min= 32.089 typ= 33.377 max= 34.890 sigma= 0.598 nsec/rand SFMT19937/53bit min= 17.653 typ= 18.737 max= 19.561 sigma= 0.360 nsec/rand SFMT19937/32bit min= 10.235 typ= 10.881 max= 11.560 sigma= 0.259 nsec/rand
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記