2¹³⁶²⁷⁹⁸⁴¹−1,GPU發現人類已知最大的素數
新的人類已知最大素數,被GPU發現!
這個數就是2¹³⁶²⁷⁹⁸⁴¹ −1,如果展開會有41024320位十進制數字。
一位英偉達前員工通過開源項目GIMPS(梅森素數大搜索,Great Internet Mersenne Prime Search)報告了這一結果。
且是通過英偉達A100初步發現,然後經由H100驗證。
2¹³⁶²⁷⁹⁸⁴¹ −1比之前創紀錄的素數大1600多萬位,是有史以來發現的第52個已知的梅森素數,也是GIMPS項目發現的第18個梅森素數。
連馬斯克刷到新聞都跑來圍觀。
2¹³⁶²⁷⁹⁸⁴¹−1目前也被稱爲M136279841,計算方法是136,279,841個2乘起來,然後再減1。
要細數這個最新素數被發現的故事,就不得不多說兩句發現他的盧克老哥。
盧克老哥現在的身份是一家創業公司的CEO,也是目前GIMPS最多產的貢獻者。
不過在之前,從2010年開始,老哥在英偉達工作了11年之久,期間參與過GPU的設計。
他之所以加入尋找梅森素數的行列,是想要通過這件事證明:
當然,用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/