一個源自高中生的算法「y-cruncher」讓圓周率的精度再破世界紀錄
近日,瑞士格勞賓登應用科學大學團隊歷時101天9小時,完成了圓周率小數點后62.8萬億位的計算,比創下吉尼斯紀錄耗費的計算時間減少一半!誕生如此多位小數的算法「y-cruncher」竟出自高中生之手。
62,831,853,071,750!
圓周率都精確到小數點后62.8萬億位了!
近日,瑞士研究團隊向圓周率最準確值的世界紀錄發出挑戰!
目前的吉尼斯世界紀錄是50萬億位,于2020年1月29日由搭載了Chudnovsky算法的y-cruncher程序,計算時間長達8個多月。


https://www.guinnessworldrecords.com/world-records/66179-most-accurate-value-of-pi
計算時間縮短一半!
瑞士格勞賓登應用科學大學的數據分析、可視化和模擬能力中心 (DAViS) 于4月下旬首次開始計算。
上一次在阿拉巴馬州創下的吉尼斯世界紀錄耗時303天,這次瑞士科學家完成任務只用了108天9小時。
時間大大壓縮!
而這一切,只需要2個AMD處理器!

格勞賓登應用科學大學官網公開了這次項目的硬件設備:
-兩個32核AMD Epyc 7542處理器
-1TB內存
-510TB磁盤空間
-38個16TB硬盤,運行速度為7200rpm(其中34個硬盤用于交換空間,4個磁盤用于保存最后的圓周率數字)
-2個SSD用于儲存操作系統

存儲系統結構:黃色部分為帶有處理器和磁盤的計算單元;紅色部分為38個硬盤

黃色部分為RAM,綠色部分為處理器,藍色部分為機箱風扇
雖說計算量很大,但這個項目是相當環保!
團隊計算了項目的能耗,CPU、內存、SSD、38個硬盤,再加上冷卻,總共需要約1700瓦!

常規的吹風機也才2000瓦
來自一個走得有點遠的高中項目
1988年,Chudnovsky兄弟提出了計算π的公式。

直到現在,Chudnovsky公式仍然是計算π任意位數最有效的方法,計算精度平均為每次迭代14.81位。
而誕生如此多萬億位小數的算法「y-cruncher」,竟然出自Alexander J. Yee在高中時開發的一個算術Java庫:「BigNumber」。
他在2006年算出了歐拉-馬斯刻若尼常數小數點后116,580,041位,創造了世界紀錄。
后來在2009年,憑借14,922,244,782位小數再次打破紀錄。
之后他將程序改名為「y-cruncher」,用C和C++重新編寫。這個y也正是源自歐拉常數的γ。

http://www.numberworld.org/y-cruncher/
后來這位大神去了伊利諾伊大學厄巴納-香檳分校,先是在2011年利用自己的程序計算出π小數點后10萬億位,打破了世界紀錄,然后發表了一篇「在多核系統上對超幾何數列進行高精度求和」的研究。

https://www.ideals.illinois.edu/bitstream/handle/2142/28348/pi.pdf?sequence=2&isAllowed=y
最新后10位的誕生
7月25日,y-cruncher完成了Chudnovsky公式的核心計算(下圖綠色部分),然后計算「逆平方根」部分。

此前計算的是分母(綠色部分),為小數點后一萬億位。
8月4日,在計算了92天之后,y-cruncher將其十六進制版本的π寫到了計算機的磁盤上。數字經過壓縮之后只使用了約24TB的磁盤空間(未壓縮為48TB),之后再將計算出的π轉換為十進制。
8月11日7:30,完成了62.8萬億位數字從十六進制到十進制的轉換。數字被分割成63個壓縮文件,驗證基數轉換過程是否已經正確完成。
8月14日9:30,高性能計算平臺最終完成了小數點后62,831,853,071,750位的計算,并得到π的最后10個已知數字是:7817924264。
