人類已知最大素數誕生:2¹³⁶²⁷⁹⁸⁴¹−1!前英偉達員工數千GPU爆肝算出,高達4100萬位
新智元報道
編輯:Aeneas 好睏
【新智元導讀】人類已知最大的素數,被GPU發現了!英偉達前員工Luke Durant發現的2136279841-1,比前一個紀錄保持者多出1600萬位,由A100計算,H100確認。爲此,小哥搭了數千個GPU的「雲超算」,分佈在17個國家。
人類已知最大素數紀錄,剛剛被打破!
答案就是——2136279841-1。
更了不得的是,這個素數是英偉達GPU發現的。
一位「梅森素數獵手」、英偉達前員工,通過自己收集的大量高性能顯卡,找到了這個4100萬位的最大素數。比起2018年發現的上一個梅森素數,它整整長出1600萬位。
這也是史上首個使用GPU找到的梅森素數。
這個素數,終結了個人電腦在發現最大素數上的28年統治。(GIMPS項目之前的所有發現,都是由相對簡陋的個人計算機中的CPU完成的。)
所以,發現最大素數,究竟有什麼用呢?
帝國理工學院教授數學系教授Kevin Buzzard告訴我們:沒有。
是的,這個發現目前完全沒有實際應用,但很多數學研究起初都是如此。
不過,這次做出這一發現的英偉達前員工,還是獲得了一點小小的好處——3000美元的獎勵。
全新素數霸主誕生
讓位吧,282589933-1,現在新的素數霸主誕生了。(這個新素數/質數也被稱爲 M136279841)
英偉達前員工Luke Durant發現的2136279841-1,比這位多年紀錄保持者多出1600萬位!
GIMPS激動地表示,這次發現不僅歸功於Luke Durant,還要感謝軟件開發者和服務器維護者,以及成千上萬篩選了數百萬非素數的GIMPS志願者。榮譽屬於大家!
爲表彰以上所有人員,此次榮譽歸於「L. Durant、M. Preda、G. Woltman、A. Blosser等人」
素數是什麼?就是隻能被1和自身整除的正整數。
這樣的數字有2、3、5、7、11……以及2136279841-1。
2136279841-1,是由2相乘136279841次,然後減去1得到的。它是已知的第52個梅森素數。
令人着迷的梅森素數
長期以來,素數一直令數學家們着迷。梅森素數是一種形如2P-1的素數。
最早的梅森素數是3、7、31和127,分別對應P=2、3、5和7。現在已知的梅森素數有52個。
在大約公元前350年,歐幾里得首次討論梅森素數以來,它們一直是數論的核心。
17世紀初,法國修士馬林·梅森(Marin Mersenne)提出了一個著名的猜想:哪些P值會產生素數?
爲了解決梅森猜想,數學家們花費了300年,還由此誕生了幾個重要發現。
有趣的是,梅森的猜想隨後被證明不完全正確
歐幾里得證明了每個梅森素數都能生成一個完全數。完全數是其所有真因數之和等於該數本身的數。最小的完全數是6=1+2+3,第二個完全數是28=1+2+4+7+14。
歐拉則證明了所有偶完全數都來自梅森素數。新近發現的完全數是2136279840 x (2136279841-1)。這個數字超過了8200萬位!
不過,目前尚不清楚是否存在奇完全數。
延續兩千年的搜尋
2000多年後,Durant爲了尋找這個數字,使用了一臺分佈在17個國家、由數千個GPU組成的超算。
在愛爾蘭的A100計算髮現,2136279841-1很可能是素數;緊接着,在德克薩斯州的H100進行了確認。
尋找梅森素數的項目,叫做梅森素數大搜索(GIMPS,也即Great Internet Mersenne Prime Search)。
GIMPS成立於1996年,發現了最近的18個梅森素數。
歷年發現的梅森素數
這個科研項目背後是一個慈善機構在支持,任何擁有強大的PC或GPU的人,都可以自願加入成爲志願者——「梅森素數獵人」。
獵人們可以下載一個免費程序來搜索這些素數,任何找到新素數的幸運兒,都將獲得3000美元獎勵。
GIMPS發現的素數,是用費馬可能素數測試來識別的。
然後一旦GIMPS服務器收到可能是素數的通知,就會使用不同程序在不同硬件上運行多個確定性的盧卡斯-萊默素性檢驗法(Lucas–Lehmer primality test),來進行嚴格驗證。
目前,可能存在尚未發現的較小梅森素數,並且幾乎可以肯定,存在等待被發現的更大梅森素數。
就如開頭所言,GIMPS在做的事情究竟有什麼意義?目前還很難說,因爲大梅森素數的實際用途可以說是幾乎沒有。
這種質疑從幾十年前就開始存在,直到後來,人們基於素數開發出了重要的密碼算法。
梅森素數獵人們主要是尋找刺激感,因爲尋找素數的過程相當於數學和計算機科學的基礎研究。這個過程也證明了雲超算的能力。
另外,別看這次的3000美元獎勵不多,但第一個一億位數的素數將獲得150,000美元的獎金,而到了第一個十億位數的素數,獎金將升至250,000美元!
各位GPU富人,你們可以行動了。
GPU的崛起
在GIMPS中,36歲的研究員、英偉達前員工Luke Durant,是最活躍的志願者之一。
此前的獵人們,發現最大素數都是用的CPU。
在2017年,一位叫Mihai Preda的獵人感受到了GPU的巨大潛力,編寫了GpuOwl程序用來測試梅森數,並且把軟件向所有GIMPS用戶開放。
Luke Durant對於GPU的巨大能量一直心知肚明。他認爲,如果能找到新的梅森素數,就能證明GPU不僅可以用於AI,也適合於基礎數學和科學研究。
從23年10月,Luke開始爲GIMPS做貢獻,彼時雲中GPU可用性的爆炸性增長,爲Mihai的軟件提供了獨特的機會。
於是,Luke乾脆開發了一套「雲超算」,在多個GPU服務器上運行和維護一套GIMPS軟件。
最終,這臺雲超算跨越了17個國家的24個數據中心,由成千上萬個服務器GPU組成。
經過近一年的測試,他成功了!
10月11日,愛爾蘭都柏林的一臺A100 GPU報告稱:2136279841-1可能爲素數。
10月12日,美國德州的一臺H100通過Lucas-Lehmer測試,確認了它爲素數。
大梅森素數搜索:壽命最長的分佈式項目
1996年1月,大梅森素數搜索項目(GIMPS)由George Woltman成立。
1997年,Scott Kurowski使GIMPS能夠自動利用數千臺普通計算機,來搜索「稀有的數學瑰寶」。
GIMPS是世界上壽命最長的分佈式項目之一。
它最初的軟件僅在英特爾PC上運行。幾年後,Ernst Mayer編寫了一個可以在多種非英特爾處理器上運行的程序。這個程序在獨立驗證幾乎每一個GIMPS素數方面,都發揮了重要作用。
十年前,專爲GPU設計的軟件誕生。幾年後,Mihai Preda的突破性gpuowl程序問世。現在,GIMPS可提供適用於各種CPU和GPU的完整程序套件。
GIMPS項目背後的算術算法也有着獨特歷史。此次發現2136279841-1的程序,就是基於一種特殊的算法。
1990年代初期,已故的蘋果科學家Richard Crandall發現了一種方法,可以將卷積(本質上是大規模乘法運算)的速度提高一倍。
這種方法不僅適用於素數搜索,還適用於其他方面。
爲此,Crandall申請了快速橢圓加密系統的專利,利用梅森素數快速加密和解密信息,現由蘋果擁有。
George Woltman用匯編語言實現了Crandall的算法,從而產生了一個前所未有高效的素數搜索程序,奠定了所有成功GIMPS項目的基礎。
官方答案:爲什麼要尋找梅森素數?
1. 爲了傳統!
人們對這於些數學寶藏的追尋,始於公元前300年左右。
當時,歐幾里得想要在他的《幾何原本》中描述偶完全數。他意識到偶完全數都與某個素數p形式爲2ᴾ-1的素數密切相關(現在稱爲梅森素數)。
隨後,Cataldi、笛卡爾、費馬、梅森、Frenicle、萊布尼茨、歐拉、Landry、Lucas、Catalan、Sylvester、Cunningham、Pepin、Putnam和Lehmer(僅舉幾例)依時間先後研究了大素數。
我們怎能不加入這樣一個傑出團體呢?
在決定如何處理大數、如何描述其因子以及發現素數的過程中,很多初等數論都得到了發展。
簡而言之,探索大素數(尤其是梅森素數)的傳統由來已久,碩果累累,值得繼承。
2. 探索產生的衍生價值
對美國來說,第一個將人類送上月球具有重大的政治價值,但對社會最具持久價值的是其衍生成果。
比如,爲太空探索開發的新技術和材料,如今已成爲日常用品;而教育基礎設施的改進,讓很多人成爲了職業科學家和工程師。
尋找下一個創紀錄的素數,也是如此。
剛剛提到的那些數學巨匠(如歐幾里得、歐拉和費馬),都在探索過程中爲初等數論留下了偉大的定理(如費馬小定理和二次互反律)。
隨着時間推移,人們需要找到一種更新、更快的大整數乘法方法。
1968年,Strassen發現瞭如何使用快速傅里葉變換(Fast Fourier Transform)進行快速乘法運算。1971年,他和Schönhage對方法進行了完善,併成功發表。如今,GIMPS使用的是Richard Crandall開發的改進版算法。
梅森搜索也被教師用來激發學生的研究興趣。
而這些,僅僅是這項搜索帶來的部分衍生成果。
3. 人們喜歡收集珍稀且美麗的物品
梅森素數,通常是已知的最大素數,既珍稀又優美。
自從歐幾里得在大約公元前300年開始尋找和研究梅森數以來,發現的還不到50個——這確實稱得上珍稀!
同時,它們也很優美。
數學,像所有研究領域一樣,有着明確的美學標準。我們尋找那些簡短、簡潔、清晰的證明,如果可能的話,還要能夠將之前不相關的概念結合起來或教會你一些新東西。
梅森素數擁有最簡單的素數形式之一:2ⁿ - 1。其素數證明優雅而簡潔。
當然,除了這些之外,梅森素數還有一些出人意料的應用。
4. 爲了榮耀!
爲什麼運動員要努力跑得比別人更快,跳得更高,標槍投得更遠?僅僅是出於對獲勝的渴望。
這種競爭精神並不是爲了他人。就如攀巖者被險峻懸崖吸引,登山者渴望山峰。
而梅森素數獵人們,就如同登山者。
他們對人類最大的貢獻,並非僅僅體現在實用層面,而是滋養了人類的求知慾望和探索精神。
如果我們失去這種追求卓越的渴望,還能算是真正完整的人嗎?
5. 爲了測試硬件
自電子計算機時代開始,尋找素數的程序就被用作硬件測試工具。
例如,英特爾會在出貨前使用GIMPS項目的軟件程序來測試奔騰II和奔騰Pro處理器。而著名的奔騰bug,就是在Thomas Nicely計算孿生素數常數的相關研究中被發現的。
爲什麼素數程序會被這樣使用呢?這是因爲它們對CPU和總線要求極高,且程序相對簡短,並能夠輕易驗證答案。在後臺運行的同時,亦可進行其他「更重要」的任務。
6. 爲了更好地瞭解分佈規律
儘管數學不是一門實驗科學,但數學家們經常會尋找具體的例子來驗證猜想,並希望能在之後證明它們。
隨着研究實例數量的增加,我們對其數學分佈的理解也會相應加深。著名的素數定理(Prime Number Theorem)就是數學家們通過仔細研究素數表而發現的。
一些看似簡單的計算幫助人們發現了一些有趣模式,比如素數競賽(Prime Number Races),這些發現催生了大量深入的研究工作。
7. 爲了錢?
也有一些人僅僅爲了獎金。
畢竟15萬美元和20萬美元,也是不小的數目了。
參考資料:
https://gizmodo.com/nvidia-computer-finds-largest-known-prime-blows-past-record-by-16-million-digits-2000514948
https://www.mersenne.org/why_join/
https://www.mersenne.org/primes/?press=M136279841