一个源自高中生的算法「y-cruncher」让圆周率的精度再破世界纪录
来源:FHGR
编辑:Priscilla 好困
【新智元导读】近日,瑞士格劳宾登应用科学大学团队历时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。
参考资料:
https://www.fhgr.ch/en/specialist-areas/applied-future-technologies/davis-centre/pi-challenge/