2¹³⁶²⁷⁹⁸⁴¹−1,GPU发现人类已知最大的素数,比第二大多1600万位数字
新的人类已知最大素数,被GPU发现!
这个数就是2¹³⁶²⁷⁹⁸⁴¹ −1,如果展开会有41024320位十进制数字。
一位英伟达前员工通过开源项目GIMPS(梅森素数大搜索,Great Internet Mersenne Prime Search)报告了这一结果。
且是通过英伟达A100初步发现,然后经由H100验证。
2¹³⁶²⁷⁹⁸⁴¹ −1比之前创纪录的素数大1600多万位,是有史以来发现的第52个已知的梅森素数,也是GIMPS项目发现的第18个梅森素数。
连马斯克刷到新闻都跑来围观。
“GPU的用途不仅是AI”
2¹³⁶²⁷⁹⁸⁴¹−1目前也被称为M136279841,计算方法是136,279,841个2乘起来,然后再减1。
要细数这个最新素数被发现的故事,就不得不多说两句发现他的卢克老哥。
卢克老哥现在的身份是一家创业公司的CEO,也是目前GIMPS最多产的贡献者。
不过在之前,从2010年开始,老哥在英伟达工作了11年之久,期间参与过GPU的设计。
他之所以加入寻找梅森素数的行列,是想要通过这件事证明:
GPU不仅仅可以用在AI领域,也非常适合用来搞基础数学和科学研究。
当然,用GPU找素数不是卢克老哥自己的创新性想法。
早在2017年,Mihai Preda就留意到了GPU在PC中的功能性和重要程度与日俱增,然后他就编写了一套叫做GpuOwl的程序,来测试寻找梅森数中的素数。
2023年10月,卢克老哥开始了他的寻找梅森素数之旅。
在他看来,云计算中GPU可用性的爆炸性增长为GpuOwl提供了独特的机会。因此,老哥开发了一套跨多个GPU服务器运行和维护的GIMPS基础设施。
截至目前,卢克老哥的“云超级计算机”由数千个服务器GPU组成,横跨17个国家(地区)的24个数据中心区域。
测试一年之后,也就是这个月,卢克终于有了新发现——
10月11日,爱尔兰都柏林的英伟达A100报告称,M136279841可能是素数。
次日,美国德州圣安东尼奥的英伟达H100通过Lucas-Lehmer测试证实了这一点。
按照规定,卢克老哥因为找到了新的素数,可以获得3000美元的研究发现奖金。不过消息称,老哥决定把这笔钱捐给阿拉巴马州数学与科学学院的数学系。
有文章感慨道:“这个最新的人类已知最大素数的出现,结束了普通个人电脑寻找素数在过去28年中的统治地位。”
世界上寿命最长的分布式项目之一
说到这里,我们来简单介绍几句,啥是素数,啥又是梅森素数。
素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
而梅森素数则是2P-1形式的素数。得名于法国数学家和修道士马林·梅森(Marin Mersenne)。
人们为了纪念梅森在2P-1型素数研究中所做的开创性工作,从此以后,就把这种类型的素数称为“梅森素数”。
由于符合 2P-1形式的数,有高效的算法(如卢卡斯-莱默测试)可以用于素性检验,即使在P非常大的情况下也是如此。
后来人们发现的已知最大素数几乎都是梅森素数,因此寻找新的梅森素数的历程也就几乎等同于寻找新的最大素数的历程。
目前为止,一共发现了52个梅森素数,并且其中18个由GIMPS项目发现。
由于寻找梅森素数,不仅需要丰富的理论知识,还需要海量的计算,一个分布式项目诞生了。
它就是GIMPS,梅森素数大搜索。
GIMPS诞生于1996年,是世界上寿命最长的分布式项目之一,旨在发现新的世界纪录的最大/小的梅森素数。
由于它背后是一个科学研究慈善机构,因此GIMPS是一个志愿者团队协作的项目,任何拥有相当强大的PC或GPU的人都可以加入,成为“梅森素数猎人”。
人们可以通过下载开源的prime95和MPrime软件来搜索梅森素数,其中,Prime95的作用是拿它查询以前的梅森素数。
GIMPS用户运行的程序会执行Fermat probable prime检验:
测试一旦成功,就几乎可以确定一个新的梅森素数被找到了。
不过在GIMPS服务器收到“可能出现新梅森素数”的通知时,还是会马不停蹄地在不同硬件上使用不同程序,运行几个确定的Lucas-Lehmer素数测试,来确保万无一失。
GIMPS基于一种特殊算法来寻找最新的梅森素数。
上个世纪90年代初期,已故的苹果公司杰出科学家Richard Crandall发现了将卷积(本质上是大乘法运算)速度提高一倍的方法。
该方法不仅适用于素数搜索,也适用于计算的其他方面。
GIMPS的软件负责人George Woltman用汇编语言实现了Richard的算法,从而产生了一个效率空前的素数搜索程序,这才导致了GIMPS项目的成功。
不过一开始开始,它设计的软件仅仅能在英特尔PC上运行;后来,又能在各种非英特尔处理器上跑;十年前,GIMPS系列中又增加了GPU专用软件。
到现在,GIMPS已经为各种CPU和GPU提供完整的程序。
One More Thing
不过,围绕着梅森素数一直有些小小的争议。
因为梅森素数的实际用途其实不多,所以有人老是很疑惑,到底为啥要费劲吧啦地搜索寻找出这些最大梅森素数呢?
在梅森素数网站上,就这个问题被列出来的一个答案是:
为了荣耀!
话倒是说回来,其实几十年前,类似的疑惑就已经存在了,直到人们基于素数开发了重要的密码学算法,疑惑才被打消。
参考链接:
[1]https://www.mersenne.org
[2]https://x.com/elonmusk/status/1848361371974393958
[3]https://www.mersenne.org/why_join/
— 完 —