アカウント名:
パスワード:
と言うのを使ってるとGoogle Cloudの声明にはありますね。https://en.wikipedia.org/wiki/Chudnovsky_algorithm [wikipedia.org]
たしかにこの方法なら、一部てか最後のいくつかの演算を除いて整数だけで演算が出来ます(勿論、ビット数は法外にでかくなりますが)し、SIMDやマルチスレッドを使った並列演算も捗りそう。しかしなんでOpenCLとかCUDAとか使わなかったんだろうか…と思ったけど、結局はクラウドサーバの宣伝だったんですね(^_^;
歴史的には大体こんな感じ
黎明期 マチンやシュテルマーのような級数展開の公式を、固定小数点で筆算のように計算 n^2の計算量なので、桁数が倍になると4倍の時間が必要
発展期 FFTを使って多倍長計算を n log n の計算量で行う方法が発明される 収束の速いボールドウィンとかベイリーの公式が好まれる 1990年代のスパコンで計算競争してた時代
21世紀 バイナリースプリッティングによって、収束の遅い公式を高速に計算する方法が発明される 最終結果を出す直前まで分数表現の整数演算で処理されるようになると共に、以前の結果を元に計算を追加する事も可能に チュドノフスキーの公式がよく使われるようになるが、原理的にはマチンとかでも可能
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
Chudnovsky法 (スコア:2)
と言うのを使ってるとGoogle Cloudの声明にはありますね。
https://en.wikipedia.org/wiki/Chudnovsky_algorithm [wikipedia.org]
たしかにこの方法なら、一部てか最後のいくつかの演算を除いて整数だけで演算が出来ます(勿論、ビット数は法外にでかくなりますが)し、SIMDやマルチスレッドを使った並列演算も捗りそう。
しかしなんでOpenCLとかCUDAとか使わなかったんだろうか…と思ったけど、結局はクラウドサーバの宣伝だったんですね(^_^;
Re:Chudnovsky法 (スコア:2, 興味深い)
歴史的には大体こんな感じ
黎明期
マチンやシュテルマーのような級数展開の公式を、固定小数点で筆算のように計算
n^2の計算量なので、桁数が倍になると4倍の時間が必要
発展期
FFTを使って多倍長計算を n log n の計算量で行う方法が発明される
収束の速いボールドウィンとかベイリーの公式が好まれる
1990年代のスパコンで計算競争してた時代
21世紀
バイナリースプリッティングによって、収束の遅い公式を高速に計算する方法が発明される
最終結果を出す直前まで分数表現の整数演算で処理されるようになると共に、以前の結果を元に計算を追加する事も可能に
チュドノフスキーの公式がよく使われるようになるが、原理的にはマチンとかでも可能