[ 0174: Googleの円周率計算 ]
[ 大宙麗亜ちゃんの質問 ]
今年の「白い (white)」円周率の日 (3 月 14 日) に、
Google が円周率を約 31.4 兆桁 も計算し、
日本人女性がチームの中心だったというニュースがありましたが、
これは π フール (pi=pie fool: パイの投げ合い)
みたいな国際的冗談だったのでしょうか?
それともホントにホントの話?
[ 丘品花志先生の回答 ]
レイアちゃん、いい質問です。
けっして「おかしな話」ではないです。 (笑)
私も興味を持って、公式発表されている範囲でいろいろ調べてみました。
「white day」は「一切を白紙に戻す日」ではありません。
白紙の上で計算せず、それなりのコンピューターを駆使して円満解決する日です。
菅生くんにも言って聞かせておこう。
わからない専門用語は湯会老人に聞いてください。
3 月 14 日 (国際的な円周率の日) は公式発表の日で、
実際の計算は 1 月 21 日 に終わっていたとのこと。
Start date |
2018/09/22 06:49:32 UTC (協定世界時) |
End date |
2019/01/21 09:40:50 UTC |
Total computation time |
111.8 days (2,795 node-days) |
Total start-to-end time |
121.1 days |
Compute instance |
96 virtual CPUs with 1.4TB of RAM
(n1-megamemory-96 instance) |
Disk instances |
24 nodes of n1-standard-16
(16 vCPUs, 60 GB memory)
10 TB of SSD persistent disk
attached to each node.
240 TB in total, 170 TB used mamimum |
Algorithm |
Chudnovsky's Formula |
Total disk I/O |
9.02 PB read, 7.95 PB written |
25 台 の Google Cloud 仮想マシン (96 個の仮想 CPU+1,4TB の RAM)
が使われました。
これらの構築に 約 10 日間 かけ、それから 111.8 日 で計算を完了しました。
Total disk I/O のところの PB というのはペタバイト、
すなわち 1000 兆バイトという単位です。たいへんなデータ量ですね。
25 x 111.8 days = 2795 node-days という計算工数ですね。
計算結果の桁数は: 31 兆 4159 億 2653 万 5897 桁。
10 進表記した円周率と上記の桁数の最初の
14桁 が一致しています。
わざとここで打ち切ったのでしょうか?
Emma Hakura Iwao さんという日本人女性 (筑波大卒) が活躍しました。
Wikipedia (英語版) へのリンクは: ここ。
YouTube へのリンクは: ここ。
計算には Chudnovsky の式 (1988) が使われたようです。
これは正の項と負の項が交互にあらわれ、現時点では収束が最も速い円周率の計算式です。
実行時のログ (shell) は:
[ 大宙麗亜ちゃんのコメント ]
丘品花志先生、ありがとうございます。今日は「おかしな話」じゃなくって、
ホントのホントの話ということがよくわかりました。
日本人女性の活躍はすごいですね。私もいちおう女の子だから、
自分のできる範囲でベストをつくします。
[ 湯会老人のコメント ]
丘品先生、よくもまあ細かく調べられましたね。ありがとうございます。
あえて補足させていただきますと、次の点でも画期的でした。
-
計算ハードウエアに大規模記憶装置を直結せず Cloud (インターネット) を使用。
-
SSD (Solid State Drive) を使用。
-
AVX512 命令セットを使用。
512-bit ワイドな SIMD ユニットで
32-bit単精度浮動小数点演算なら 16-wide の実行が可能。
検証に使ったのは次のような改造PC:
* Intel Core i9 7900X @ 3.5 GHz
(overclocked all-core AVX512)
* 128 GB memory @ 3600 MT/s (overclocked)
* GeForce GTX 1050 Ti
* 500 GB SSD + 2 TB 7200 RPM HD
* Windows 10 Build 16299
|
検証には Bellard's 7-term
BBP (Bailey–Borwein–Plouffe) 公式と
オリジナルの 4-term BBP 公式を併用したようです。
BBP 公式を使うと、円周率の計算結果の 16進表現の 任意の n 桁目を
その上位桁 (preceding digits) に無関係にピンポイント的にチェックできます。
検証の定番と言えます。
[ 西尾三奈さんのコメント ]
丘品先生は最新の技術動向をちゃんとフォローされているんですね。
たいへん勉強になりました。
それから:
「white day」は「一切を白紙に戻す日」ではありません。
白紙の上で計算せず、それなりのコンピューターを駆使して円満解決する日です。
菅生くんにも言って聞かせておこう。
|
の部分には大笑いしました。言い得て妙なり。「尾も白い(おもしろい)」。
菅生 (すがお) くんがめでたく素顔を見せて元気に成長する頃には
世界はもっと円満になっていることを期待したいですね。
|