扫码打开虎嗅APP
本文来自微信公众号:量子位,作者:衡宇,原文标题:《2¹³⁶²⁷⁹⁸⁴¹−1,GPU发现人类已知最大的素数,比第二大多1600万位数字》,题图来自:AI生成
新的人类已知最大素数,被GPU发现了!
这个数就是2136279841−1,如果展开会有41024320位十进制数字。
一位英伟达前员工通过开源项目GIMPS(梅森素数大搜索,Great Internet Mersenne Prime Search)报告了这一结果。
且是通过英伟达A100初步发现,然后经由H100验证。
213627984 −1比之前创纪录的素数大1600多万位,是有史以来发现的第52个已知的梅森素数,也是GIMPS项目发现的第18个梅森素数。
连马斯克刷到新闻都跑来围观。
“GPU的用途不仅是AI”
2136279841−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/
本文来自微信公众号:量子位,作者:衡宇