■今更だけどπ | ||||||||||||
今更とお思いになられる方が多いのではないかと思いますが、円周率の計算を自前でやってみようと思いついてしまったんです。 それは、東京大学金田研究室が開発したと言われる「super-pi」が結構古いので、一時記憶の対象がHDDであったり、シングルスレッドであったりして、最近のマルチコア/64ビットOS/広大なメモリ領域というPC環境には少々そぐわないものとなっていることが引き金となっているのです。 で、恒例のNET徘徊で情報収集。 私は数学者ではないので公式とか書いてあってもプログラムソースに直すのに結構時間を要するので、手っ取り早く現行の「super-pi」などのソースが転がっていないか、また、もっと高効率なプログラムか転がっていないか探しまくりました。 結局、ただのパソコン(とは言ってもHDDが46TBあったりするけど)で10兆桁まで計算できていること、それがナント日本人(長野の近藤茂氏+アレクサンダー・J・イー氏)であったり。 コレを取り敢えず実行してみて、不満があるようならソースを解析し高速化/最適化にチャレンジしてみようと思います。 で、取り敢えずの実行結果は・・・
てな感じで、圧倒的にTPIの処理が高速であることが解り、わざわざソースを解析する程のこともないかなっと。 とは言え、マルチコア対応なのは良いけど物理プロセッサ数しか見ていないようでハイパースレッディングには応じてくれません。 Core i7-2600なので4コアの設定なら物理コア数と合致するので動くのですが、CPU負荷を見ているとせいぜい50%程度しか稼働していません。 ここら辺が改善されれば、更に倍以上の高速化が見込めると思いますが、10億桁が難なく実行できてしまったので、この件はこれにて落着と言うことで。 ※実行環境は「ami」です、詳細は「パソコン」のカテゴリを参照してください。
|