Cognition 的 Eric Lu 使用 Devin 完成 RSA-260 因數分解,創下公開紀錄
Factoring RSA-260
Cognition 的 Eric Lu 使用多個 Devin 分解 260 位數 RSA-260,創下 RSA Factoring Challenge 中公開解出最大數字的紀錄。
文章以 RSA-260 的實際成本為基準,對照 RSA-1024 的成本估算與 RSA-2048 的難度差距,呈現成果對不同金鑰規模的含義。
作者:Eric Lu09.09.26
過去幾星期,Cognition 研究團隊和我一直在最佳化工作排程器,以更有效運用解耦式運算資源。作為概念驗證,加上我過去大約十年一直把整數因數分解當作嗜好,我指揮一大批 Devin 求出 RSA-260 的因數分解。為此,我的 Devin 建立了全球效能最高的 GPU 格篩器,能以比此前公開最佳水平低 10 倍的成本分解整數。以下是分解結果:
22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199 = 4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581 × 5028695206842569864686141618253083416610081090075366674776775706538324961364412200138116378509733307971876652984898985905923678379
RSA-260 是一個 260 位數的整數,為公開解出的最大 RSA Factoring Challenge 題目創下新紀錄;這項挑戰用以評估破解 RSA 密碼系統 的可行性。此前的紀錄 RSA-250 於 2020 年 2 月創下。作為參考,現今最先進的 RSA 公鑰包含 2048 位元(約 617 位數)的因數分解問題,而 1024 位元(約 309 位數)的 RSA 已於 2013 年棄用。
下文會交代這項工作如何完成,先提出兩個重要結論:
超大規模雲端服務商或前沿 AI 實驗室,很可能可以花費約 $30 million 分解一個 RSA-1024 數字;只要再作少許最佳化,成本很可能會大幅降低。另一方面,RSA-2048 仍比 RSA-1024 難約十億倍,看來不會受到這項工作的實質影響。
Devin 是能力足以解決計算數論與 GPU 效能工程交界處一項艱深問題的軟件工程師。我的主要工作是設定優先次序、訂立基準測試,以及判斷工作何時偏離方向。除此之外,Devin 全程自主處理測量、叢集操作和最佳化工作。這取代了原本很可能需要一支高度專業的領域專家團隊耗時數月才能完成的工作。
總括而言,密碼分析工作、更廣泛的其他計算數學,以及可能大多數大型科學計算研究的入門門檻,都比以往低得多。只要能運用程式設計解決研究問題,任何領域都有令人振奮的工作等待開展;我鼓勵大家勇於嘗試,探索自主軟件工程代理應用於這些領域時能做到甚麼!
這是如何做到的?
與一些流傳的説法相反,我並非靠手動猜測和逐一測試 130 位數的質數來分解 RSA-260。Cognition 也尚未建造出數千量子位元的量子電腦。RSA-260 是透過一套為 GPU 編寫的新一般數域篩法(GNFS)實作完成分解的,並使用 Devin 準備及執行。GNFS 是已知最有效的演算法,適用於位數大約超過 100 的(大多數)整數;此前創下 RSA 整數分解紀錄時也曾使用這種方法。
這套實作是經過大幅修改的 CADO-NFS。我基本上沒有提出任何演算法改進——在 GPU 上實作格篩和稀疏線性系統求解,只需要「老派的效能工程」,便能善用 GPU 驚人的記憶體系統。
成本估算
我估計,這次因數分解總共耗費約 4,900 GPU-days,即 13.5 GPU-years,按現時市場價格計約為 $400k。具體而言,現代 GNFS 實作由幾個依次執行的階段組成:多項式選取、格篩,以及線性系統求解。各階段耗時如下:
多項式選取耗費 643 GPU-days(這個數字異常地高,基本上是操作人員能力不足所致)
格篩耗費 3,813 GPU-days
線性系統求解耗費 467 GPU-days(其中約 7% 因當機或被優先級更高的工作搶佔而未能取得進展)
這是我的副項目,只用了我們叢集個位數百分比的資源;當時我正優化作業排程器,以改善資源分配,運用解耦式運算。這對更大型的 RSA 數字有甚麼意義?
RSA-1024 相當於 309 位數;按 GNFS 的標準縮放估算,計算量只是 RSA-260 的 78 倍。我估計,按市場 GPU 價格計,分解 RSA-1024 的成本約為 $30M,而這個成本可與實際耗時互相取捨。我確知現時的實作仍有不少改進空間;若再投入適度的工作,分解 RSA-1024 的成本再降低一半,我也不會感到意外。
當然,RSA-1024 不安全並不是甚麼新發現。早在 2000 年代中期,便有人推測 NSA 可能已具備以經濟方式分解 RSA-1024 的能力(例如參見 TWIRL 或 Bernstein matrix machine)。相反,正如下文所述,主要進展在於:(1) 因數分解的成本(金錢及時間)可能更低;(2) 可能有更多團體具備進行因數分解的能力(只需有足夠的 GPU,而毋須製造專用硬件);以及 (3)現在非密碼學家也能相對輕易地參與提升因數分解速度。
最後,我要強調,效率提升對使用 GNFS 分解 RSA-2048 大小數字的可行性影響甚微。
利用閒置運算資源進行因數分解
這次因數分解利用閒置或零散的運算資源執行,沒有額外邊際成本;這些資源原本無法用於其他用途。為甚麼會有這些運算資源?
我們用於 LLM 訓練及推理的叢集包含 NVL72 機架,每個機架名義上由 18 台透過高速 NVLink 互連的電腦組成。LLM 工作負載會使用單一機架內的一組電腦,以利用這種高速互連。作業排程器必須解決一個受限制的最佳化問題,將工作負載安排到各機架。進行全域分配時,部分機架最後可能會有一兩個閒置節點;有時工作會要求預留節點以應付故障切換,亦可能需要在只有 17 台電腦的機架上使用偶數台電腦。對我們而言,這些低效率情況佔整體運算資源的個位數百分比。
為了利用這些閒置運算資源,第一步是調整作業排程器,讓單節點工作填補其他工作負載之間的空檔,並列為最低優先級。不過,我們也缺乏穩定來源,無法持續提供可隨時搶佔的單節點工作負載。自然,這時我便想到了格篩法,因為它非常適合這種情況。
格點篩選》可以將數十億個細小工作單元分散處理,平行化十分容易;亦可以一次使用一個節點逐步推進,而且可以安全地即時搶佔。這也是 GNFS 中運算量最大的部分,因此完成篩選便代表因數分解工作已大有進展。不過,過往所有公開的 GNFS 因數分解紀錄,在格點篩選階段都只使用 CPU;事實上,由於在 GPU 上高效實作格點篩選面對不少挑戰,長期以來都未能確定 GPU 格點篩選整體而言是否更符合成本效益。
簡而言之,我唯一欠缺的,就是一個效能足夠高、能處理 RSA-260 因數分解所需參數的 GPU 格點篩選程式。那我做了甚麼?我找 Devin 幫忙。
使用 Devin 最佳化 GNFS
8月13日太平洋時間 0:11:58,我讓 Devin 開發一個可直接取代 las 的程式,也就是 CADO-NFS 的 CPU 格點篩選程式。以下是我使用的提示詞:
CADO-NFS 是一款用於執行 GNFS 的 FOSS 軟件。我希望你開發一個快速的 GPU 格點篩選程式。以往運用現有技術很難做到這一點,因為 CPU 格點篩選的最佳化大量採用條件分支和複雜的記憶體存取模式,而同時精通 GPU 核心編寫和數域理論的人並不多。不過,GPU 可提供更高的總記憶體頻寬,意味著效能上限更高。而現在,這兩方面的人才交集之中有你。我已提供 Modal 存取金鑰,並授權你使用它們啟動一部 GPU 主機進行效能測試。取得 CUDA 工具鏈等工具,並在本機建置;只在進行效能測試時使用 GPU,並在各次測量之間將它關閉。最終的 GPU 格點篩選程式應可直接取代 CADO-NFS 的篩選步驟。反覆迭代,直至效能超越 CPU 格點篩選程式。
兩小時後,我補充要求 glas(當然是 GPU las)應能處理 RSA-250 所用的參數。然後我便去睡覺。醒來時,我發現 Devin 再經過 7 小時的迭代後,已經成功了。
在接下來一週,我引導 Devin 最佳化格點篩選,然後再最佳化 GNFS 流程的其餘部分。首先,我會概述我們對 GNFS 所作的最佳化,然後説明最佳化工作流程。
GNFS 最佳化(概述)
概括而言,GNFS 由多個依序執行的階段組成:多項式選取、格點篩選,以及線性方程組求解。
多項式選取會確定演算法所使用的數域。多項式的選擇會影響格點篩選的常數倍加速。因此,通常值得將整體篩選運算量中的固定比例(~5%)用於尋找一個「良好」的多項式。這方面的技術創新不多;我們將 CADO 的第一階段多項式選取改編至 GPU(產生 gps1),亦採用了 msieve 經過充分最佳化的第一階段多項式選取中的一些核心程式。多項式選取基本上很容易平行化。
GNFS 的計算工作大部分集中在格篩。格篩的目標是產生大量(我們這次有 8.3 billion 個)GF(2) 上的稀疏線性關係;在此略去部分細節,向量中的項目代表平滑數質因數分解中各質數指數的奇偶性。格篩也很容易按稱為「special q」的工作項目平行處理,但每個工作項目都需要在大型陣列中大量讀取及寫入(就我們的用途而言)偽隨機位置;如何處理這一點,是最佳化格篩時的主要技術挑戰。
最後,我們會把這些關係組成 GF(2) 上的大型矩陣,再透過求解線性系統找出線性相依關係。在這個規模下,線性系統求解通常採用分散式運算,並需要大量通訊頻寬;Infiniband 和 NVLink 能提供充裕的頻寬。block Wiedemann 演算法可放寬部分通訊限制,而 CADO-NFS 的特定實作亦適合進一步最佳化及在 GPU 上運行,我們也著手進行了這些工作。之後可把解轉換為模 N 的平方同餘式,從而得出因數分解。
整體而言,Devin 大幅修改了幾乎每個部分,包括修改了幾個介面:
經 GPU 適配的 CADO-NFS 第 1 階段多項式選擇版本,並採用 msieve 的元件
以
las為基礎、經 GPU 最佳化的格篩器經最佳化的 CADO head,以處理工作單元的數量
平行化並最佳化的 dup/purge,以及融合式 merge/replay 程式
全新的 GPU 最佳化 block Wiedemann 實作
GPU 加速的 sqrt
相關的執行指令碼
CADO-NFS 流程中唯一未經修改的程式是:cado-nfs.py 本身、polyselect_ropt(第 2 階段多項式選擇)、 makefb,以及 dup1。我們甚至要最佳化 fake_rels,才能在所需大小的合成輸入上取得合理效能。
附註:我對這些元件的理解,大致就像一位中級汽車愛好者對汽車元件的理解:知道它們在整個系統中的大致作用、對效能的影響、改動時的一些取捨,以及怎樣才算運作和使用得當——但不瞭解背後的物理原理,也不知道如何從原材料製造這些元件。也就是説,我對底層數學所知不多。我可以告訴你,多項式選擇會對格篩的產出帶來一個常數因子;但我無法告訴你多項式如何在格篩器中使用。在這個領域,我遠稱不上專家!
最佳化工作流程
我同時調度了多個 Devin。在為期 3 週的專案期間,我平均同時運行 3 個 Devin 工作階段,最多達 18 個。工作大致分為兩類:
反覆最佳化個別元件——設計及執行實驗、解讀結果、選定改進目標、實施改進,然後重複整個流程
在叢集上管理端到端因數分解工作——運行整個流程及支援指令碼,找出最重要的低效之處(錯誤、使用率、效能),以便進一步最佳化
具體而言,Devin 負責了不少以下工作:
選擇及調校格篩和線性系統求解的參數(不過我必須協助初步建立所用的基準測試設備)
生成/最佳化多項式選擇(再次進行,難度各有不同)
執行迭代最佳化迴圈
除錯(自然少不了)
設定及最佳化處理指令碼
協調叢集上的大規模運算
我每隔幾小時便與這個最佳化迴圈互動一次,其間會交替處理日常工作,與其他 Devin 工作階段對話。
Devin Cloud 對這種工作流程尤其方便:工作階段會持續運作,且獨立於我的電腦;平行處理十分直接;沙盒環境可避免彼此獨立的工作流程互相干擾;工作階段亦可自主運作數週。我們早已知道 Devin 擅長 GPU 程式設計、實驗,以及管理與機器學習相關工作負載的叢集,但格篩法與 GNFS 相當不同;我發現 Devin 在這方面的泛化能力令人印象深刻。
沿着擴展階梯逐步提升
這種工作流程帶來驚人的進展速度,連我(甚至 Devin 本身)也幾乎跟不上。在首五天,我們逐步提升了處理規模。到這段時間結束時,分解一個 190 位數所需的時間,已與起初分解一個 157 位數所需的時間相同——略多於 3 小時。
| 目標 | 開始時間(UTC) | 完成時間(UTC) | 實際耗時 |
|---|---|---|---|
| C155(約數和序列中的第 171648 項) | 2026-08-14 21:51:50 | 2026-08-15 00:04:58 | 7,988 s(包括磁頭撞擊測試造成的 1,412 s 間隔) |
| C157(約數和序列中的第 171648 項) | 2026-08-14 13:39:58 | 2026-08-14 16:51:24 | 11,486 s |
| C173(約數和序列中的第 9708 項) | 2026-08-14 22:01:02 | 2026-08-15 09:18:48 | 40,666 s |
| C175(近重複數) | 2026-08-16 00:32:51 | 2026-08-16 08:56:50 | 30,239 s |
| C190(近重複數) | 2026-08-17 02:17:16 | 2026-08-17 07:34:56 | 19,060 s |
| C201(奇完全數瓶頸) | 2026-08-17 09:42:44 | 2026-08-18 01:33:59 | 57,075 s |
| C311 = (179^139 - 1)/178 | 2026-08-18 06:52:44 | 2026-08-18 21:11:46 | 51,542 s |
| C190(只是為了嚇一嚇隨機生成半素數的 Devin) | 2026-08-18 22:12:28 | 2026-08-19 01:23:11 | 11,443 s |
| C344 = (11^331 - 1)/10(奇完全數瓶頸) | 2026-08-31 10:44:54 | 2026-09-01 23:40:44 | 132,950 s |
| RSA-260 | 2026-08-18 12:14:19 | 2026-09-03 01:48:57 | 1,344,878 s |
分解 C311 後(其難度大致相當於以 GNFS 分解一個 216 位數),較穩妥的做法應該是先分解一個難度相當的 230 位數,以跨越餘下約兩個數量級。不過,我估計 RSA-260 可在一個月內完成,因此當時已開始進行多項式選擇,儘管我知道線性代數部分仍遠未充分最佳化。
Devin 還需要我(或其他人類)做甚麼?
Devin 成功最佳化並執行一條複雜的計算數論流程,其規模以往需要相當豐富的人類專業知識。不過,我不能説 Devin 曾自主迭代整個端到端流程。值得探討的是,他還需要我做甚麼。
不知何故,答案似乎是:仍有很多事情。事後回顧,Devin 表示,我在用於分解的 233 個工作階段中,跨 192 個工作階段發送了 82,702 個字(502,887 個字元),共發送 3,328 則訊息(總計 14,450 ACUs)。其中,Devin 本身啟動了 101 個子工作階段,當中有 36 個完全沒有我的介入。
Devin 需要我協助處理執行功能,與它討論並檢查它所做的事情是否合理,具體包括:
設定目標的層級,並確保 Devin 的工作範圍恰當
察覺 Devin 正在做沒有成效的事情,並引導它改變方向(「你不需要進行那項測量」)
察覺 Devin 工作流程中反覆出現的低效率之處(「你可以攤銷這些設定工作的成本」)
指出尚未嘗試的方向(「確保 GPU 不會因 CPU 而停頓」、「你可以在這裏使用 NVLink SHARP 嗎?」)
整理實驗框架和結果(「用這種方式進行測量,並在這裏查找以往結果;不要每次都憑空想出一套新的、無法比較的方法」)
察覺 Devin 過早放棄某個方向
回顧起來,雖然我似乎提供了幾項具體的技術見解,但我最大的貢獻可能是手把手協助建立一套統一的測量結果、基準測試和效能估算器;顯然,這些東西原本不會自行組合起來。這讓 Devin 更容易執行和理解測量,也讓我瞭解進展程度,以及還需要在哪些方面作進一步改進。
退一步來看,我也想強調,若沒有 CADO-NFS,這項工作便不可能完成。 CADO-NFS 是 GNFS 一套先進、穩健的開源實作,曾用於多項過往紀錄,也獲因數分解愛好者社羣使用。它提供了所有相關技術、管線階段及其介面,以及一個 CPU 參考實作。利用這些,我可以讓 Devin 代理羣大致獨立地最佳化各個程式,並將輸出與原始版本比較。像其他許多情況一樣,我認為,由人為設計的問題分解方式,是讓代理能夠取得進展的關鍵。
事實上,我留意到,程式碼庫與上游 CADO-NFS 的差異越大,代理就越感困惑。這或許可歸因於日積月累的複雜性,但我也想知道,CADO-NFS 出現在預訓練資料中是否同樣有所影響。
本文技術部分到此結束(附錄除外,附錄包含詳盡得多的細節)。
一些零散的感想
我覺得這裏發生的事很奇特。結果上有我的名字,但我不清楚應如何在我自己、Devin、硬件和整個世界之間分配功勞。
對於程式設計任務,我會把現今的模型和代理某程度上看作縫紉機或織布機。我以某種方式推動它運作;顯然,沒有我,這件事不可能發生,但我也不是親手投梭。很難準確説明我的角色是甚麼,雖然我確信自己並非毫無作用。若以一種簡化的説法來看,我與 Devin 合作完成這件事,與原本可能發生的情況並無太大分別:我與一個遠比我龐大、而其精確運作方式對我而言並不明晰的物理系統互動,能量隨之耗散,最後產生了因數。
另一方面,顯然有新的事情正在發生。從首次提示詞到找到 RSA-260 的因數,前後約三星期。這個速度顯示出一種能力餘裕,而我們才剛開始探索其規模。我認為我們不應迴避這種探索。尤其是,如果一個問題可以「只靠寫程式」解決,立即嘗試似乎是值得的。
過去幾天,我們也看到一些數學方面令人印象深刻的聲稱成果,包括聲稱已解出其中一道千禧年大獎難題。我也有些憂慮,擔心人類的理解能力會因此流失。使用 Devin 後,我對 NFS 或 GPU 程式設計的學習,沒有我原本預期自行完成這件事時那麼多,不過很可能比完全不使用 Devin 時學到的更多。即使科技令我們能夠或傾向放棄這種理解,如何在全球層面分配資源以維持人類的理解能力,似乎仍然十分重要。與此同時,這些工具或可讓我們選擇哪些領域最值得深入理解,探索個人以往無法觸及的範圍,並擴大能作出有意義貢獻的人羣。我認為這項工作同時體現了這兩個方向。
致謝
感謝 Alex Lombardi 提供數學諮詢,並協助進行大量編輯。
感謝我的僱主 Cognition;沒有 Cognition 提供的運算資源,這項工作便不可能完成。特別感謝 Cognition 研究團隊包容不斷重新啟動的 glas 工作。也感謝朋友們的支持,尤其感謝妻子 Jiwon Joung 支持這個業餘專案。
我謹以此文獻給整個網上因數分解社羣——GIMPS、mersenneforum、FactorDB、GPU to 72 及其他社羣成員——感謝你們最初引起我對這個領域的興趣,並讓這場追尋延續下去。
參考資料
- [1]F. Boudot, P. Gaudry, A. Guillevic, N. Heninger, E. Thomé, and P. Zimmermann, "比較因數分解與離散對數的難度:一次 240 位數實驗," Advances in Cryptology — CRYPTO 2020, LNCS 12171, pp. 62–91, 2020. arxiv.org/abs/2006.06197
- [2]CADO-NFS 開發團隊, "CADO-NFS,數域篩法演算法的實作," 軟件專案,查閲日期:2026 年 9 月 9 日。 cado-nfs.gitlabpages.inria.fr
- [3]N. David and P. Zimmermann, "數域篩法中多項式選取的新排名函數," 75 Years of Mathematics of Computation, Contemporary Mathematics 754, pp. 315–325, 2020. inria.hal.science/hal-02151093v4/document
- [4]J. Franke and T. Kleinjung, "連分數與格篩法," Special-Purpose Hardware for Attacking Cryptographic Systems — SHARCS 2005, 2005. hyperelliptic.org/tanja/SHARCS/talks/FrankeKleinjung.pdf
- [5]A. K. Lenstra, A. Shamir, J. Tomlinson, and E. Tromer, "Bernstein 因數分解電路分析," Advances in Cryptology — ASIACRYPT 2002, LNCS 2501, pp. 1–26, 2002. research.tue.nl/en/publications/analysis-of-bernsteins-factorization-circuit
- [6]J. Papadopoulos and contributors, "Msieve," 整數因數分解軟件,查閲日期:2026 年 9 月 9 日。 sourceforge.net/projects/msieve
- [7]A. Shamir and E. Tromer, "使用 TWIRL 裝置分解大數," Advances in Cryptology — CRYPTO 2003, LNCS 2729, pp. 1–26, 2003. link.springer.com/chapter/10.1007/978-3-540-45146-4_1
- [8]M. Tervooren and contributors, "FactorDB," 網上因數分解資料庫,查閲日期:2026 年 9 月 9 日。 factordb.com
- [9]L. Valenta, S. Cohney, A. Liao, J. Fried, S. Bodduluri, and N. Heninger, 「因數分解即服務」,Financial Cryptography and Data Security — FC 2016,LNCS 9603,頁 321–338,2016。eprint.iacr.org/2015/1000
- [10]D. H. Wiedemann, 「求解有限域上的稀疏線性方程」,IEEE Transactions on Information Theory,第 32 卷,第 1 期,頁 54–62,1986 年 1 月。doi.org/10.1109/TIT.1986.1057137
附錄 1:分解其他 RSA 數字的成本估算
| # | 相較於 RSA-260 | CPU 核心年 | CPU 成本($) | GPU 年 | GPU 成本($) |
|---|---|---|---|---|---|
| RSA-230 | 0.053× | 372* | 260k* | 0.72* | 21.9k* |
| RSA-240 | 0.142× | 1,000 | 701k* | 1.9* | 58.8k* |
| RSA-250 | 0.385× | 2,700 | 1.89M* | 5.2* | 159k* |
| RSA-260 | 1× | 7,010* | 4.91M* | 13.5 | 414k* |
| RSA-1024 | 77.9× | 546,000* | 383M* | 1,050* | 32.3M* |
| RSA-2048 | 91.2B× | 6.39 × 10¹⁴* | 4.48 × 10¹⁷* | 1.23 × 10¹²* | 3.77 × 10¹⁶* |
* = 估算值。成本按 $0.08/CPU core-hour、$3.50/GPU-hour 計算。CPU 估算採用以 RSA-250 為基準的 GNFS scaling,GPU 估算則以 RSA-260 為基準。
附錄 2:RSA-260 執行詳情
多項式選擇
多項式選擇於 2026-08-18 12:14:19 UTC 開始。搜尋過程不規則,而且有點臨時拼湊;搜尋涵蓋多次執行,涉及不同的 admin/admax 範圍、素數上界 P 及 incr 值。隨着基準測試結果出爐,搜尋參數有所調整;由於錯誤解讀基準測試結果,我在效益不佳的範圍上浪費了不少搜尋時間。這次執行的一個重大不足之處,是花太多時間進行多項式選擇;我們本來可以用 1 天而非 2.5 天搜尋預定範圍,而且只花 12 小時搜尋少於預定範圍,可能會更值得。
產生所有經過試篩多項式的四次 stage-1 執行,共使用 15,424 GPU 小時或 643 GPU 日。參數如下:
| # | P | incr | ad 範圍 | GPU 小時 | 多項式 | 根最佳化 |
|---|---|---|---|---|---|---|
| 1 | 2e7 | 110880 | 1.1e5 至 7.67e11 | 743.6 | 5,545,873 | 11,468 |
| 2 | 3e7 | 465585120 | 4.7e8 至 1.55e14 | 73.0 | 323,979 | 4,602 |
| 3 | 2e7 | 110880 | 1.1e5 至 1.87e12 | 4,352.9 | 29,976,690 | 399 |
| 4 | 3e7 | 110880 | 1.1e5 至 3.14e12 | 10,254.1 | 47,711,181 | 1,864 |
| 總計 | 15,423.6 | 83,557,723 | 18,333 |
我們合共對 22 個不同的多項式進行試篩,可在此查看。截至 2026-08-19 10:53,我們測試了手上 MurphyE 評分最高的 5 個多項式,全部來自首兩次執行;其後再測試 17 個多項式,這些多項式是截至 2026-08-21 06:08:18,分別按 MurphyE、CADO’s E、E'sigma 和 E'chi2 四項評分各自選出的前 10 個多項式的聯集(見David and Zimmermann),來自第 3 次及第 4 次執行。
試篩後,我們最終採用的多項式如下:
Y0: -221673351566952308029695237213052836736183 Y1: 5766034074997040571677 c0: 4438326758963496161172848385157253702543453653246272 c1: -2760724998540198898516614911500562788411825980 c2: -3288611114230578563553198296458642435160 c3: 950383683194810225243935581823335 c4: 541831494549130032021283293 c5: -32669802676467106300 c6: -1863645537600 skew: 3226459.164
這個多項式的一些特性:次數 6,偏斜度 3,226,459,MurphyE 6.633e-10(Bf=2.749e11,Bg=1.374e11,area=8.59e18),alpha -9.57(投影值 -2.38),side-1 對數範數 73.31,6 個實根。(附件中的 c260-r1。)
第二佳的試篩多項式(c260-r2)MurphyE 為 6.215e-10,產出率低 1-2%。MurphyE 排名前五的多項式中最佳者(c260-p1)為 5.674e-10,產出率低 13-16%。
篩選
篩選於 2026-08-22 10:01:12 UTC 開始,並於 2026-08-30 07:26:15 UTC 達到目標;最後一批工作單位於 2026-08-30 07:32:17 上載。篩選實際耗時 189.5 小時 = 7.9 天。篩選參數為 lpb0/lpb1 = 36/37(候選 lpb3637)、lim0 = lim1 = 2^31、mfb0/mfb1 = 72/111、ncurves 50/35、A = 33、sqside = 1。特殊 q 範圍由 q = 1.0e9 至約 q = 3.91e10(最高的工作單位截至 39,091,320,000),合共 632,249 個工作單位。我們採用每個工作單位 60,000 的特殊 q 範圍,令每個工作單位約需 10 分鐘。
篩選過程相對順利。這段期間我們將篩選器升級了兩次,效能較篩選開始時提升 14-17%。我們以同一 GPU 連續兩次上傳之間的中位間隔,衡量端到端工作單元時間;GB200 從 585 s 降至 486s,GB300 從 586s 降至 504s,而 B200 從 628s 降至 541s。整體篩選時間為 3,813 GPU-days。
以下圖表顯示篩選進度隨時間的變化。
RSA-260 篩選進度
標記為 OK 的工作單元
標記為 OK
目標:13.85B 條原始關係
原始及不重複關係
原始(模型)不重複(模型)原始(實測)不重複(實測)
起始 q = 1,000,000,000。
每個 special-q 的產出:實測值與模型值
原始(模型)不重複(模型)原始(實測)不重複(實測)
最終,我們取得 13,849,985,589 條原始關係供篩選(未達 13.85B 目標,因為磁碟空間耗盡後有四個檔案被截斷),篩選後得到 8,298,749,059 條不重複關係(重複率為 40.1%),以及 3,991,449 條自由關係。
線性代數
去重/清除/合併/篩選端到端耗時 4 小時(此前一次執行在 2 小時後崩潰),使用一個 192-vCPU 節點的 176 條執行緒,產生一個 656,182,601 x 656,182,189 的矩陣,包含 98,431,741,898 個非零元素,每行密度為 150。我們曾考慮最佳合併,並在篩選期間調整目標密度,但最終密度接近 150。
我們在篩選進行期間最佳化線性代數。由於我們同時共同最佳化矩陣參數、求解器配置,以及針對推測的最終矩陣特性編寫程式碼,最佳化過程起伏不定。對具代表性的測試輸入,我們最終收斂至幾個以最佳化 fake_rels 生成的矩陣。這又反過來影響篩選:線性代數效能的變化(以及試驗性篩選產出估算的偏差)令關係目標數幾度調整。我不清楚整體而言我們距離最佳狀態還有多遠,但當一次 48 小時的線性代數執行似乎已可實現時,我便停止了最佳化。
線性代數於 2026-08-30 15:45:10 UTC 開始。派送/準備/安全處理耗時 4.4 小時。krylov 在兩條寬度為 256 的序列(m = n = 512)上各執行了 2,564,096 次迭代,每次迭代耗時 0.045 至 0.102 s,視可用運算資源而定。我們每 8,192 次迭代儲存一次檢查點,並保留每四個中的一個,以便並行處理 mksol;其餘檢查點在驗證後刪除。krylov 於 2026-09-02 02:38:14 UTC 完成。lingen 在單一 GB200 節點上使用 4 個 GPU,耗時 3.5 小時;多次嘗試遭到搶佔,因此此階段總共耗時 7 小時。我們在兩個叢集上執行了 40 個 mksol 範圍;每個都在 2x2 網格(16 個 GPU)上執行,耗時 82 至 87 分鐘。收集階段在 2x2 網格上耗時 9m04s,並寫入 64 個核向量。
為確認最佳化實作的正確性(該實作在開始執行前從未在任何較小規模下測試),我們在 krylov 執行期間,端到端分解了 (11^331 - 1)/10 (C344)。作為另一項檢查,我們亦在 krylov 進行期間,對每一組 V 檢查點配對執行 CADO 的 bwccheck。CADO 的常規 in-krylov 檢查在執行約 14 小時後觸發;我們重新執行該時段,之後正確地繼續執行。
我原本打算將線性代數配置設為 m = n = 512,使用兩條寬度為 256 的序列,並在 16 個 GB200 節點上以 4x4 MPI 網格執行(每個節點 64 個 GPU)。我原先計劃使用專用 clique,但因較高優先級工作負載的需求而無法採用,所以像之前一樣改用分散式運算資源。我預期跨 InfiniBand 執行會造成一些效能損失,但由於實作並未充分利用 NVLink,效能下降並不算太嚴重。與篩選不同,線性代數運算要求所有工作程序持續運作。因此,作業經常因搶佔而中止,我們不得不開發一個相當複雜的配置腳本,持續按可用運算資源調整配置,盡量採用最佳的網格形狀。
以下圖表顯示了資源分配及進度隨時間的變化:
RSA-260 線性代數 · August 30–September 2, 2026
叢集 1叢集 2
Krylov 序列 0..256:節點、MPI 網格及 NVLink 網域
將遊標懸停於某項配置,或將焦點移至該配置,即可查看其節點數、網格、網域及時間範圍。
Krylov 序列 256..512:節點、MPI 網格及 NVLink 網域
將遊標懸停於某項配置,或將焦點移至該配置,即可查看其節點數、網格、網域及時間範圍。
已記錄的 Krylov 檢查點
序列 0..256序列 256..512
圓點表示已記錄的檢查點寫入時間。兩條序列的最後迭代次數均為 2,564,096。
其他步驟:各叢集分配的節點數
叢集 1叢集 2
特徵計算與平方根
通常這個步驟所需的運算量相對不大,但在 RSA-260 運算中遇到一些問題,全程耗時 12 小時。由於有理數乘積的大小達到 1.76e11 bits,sqrt 的 mpz_t limb 計數器發生溢位,因而中止。Devin 重建了 sqrt 三次(首先使用 GMP 的 mpn 函數,之後也在 CPU 上使用平行 Karatsuba);最終產生因數的版本採用了 GPU 加速的 NTT 乘法,並在 88 分鐘內完成。因數於 2026-09-03 01:48:57 UTC 產生。
附錄 3:所有已因數分解的數字
† = 根據檔案修改時間判定的時間戳記
1. C155,aliquot 序列中的第 171648 項
35897832874755680820449985423390320593468589158596246321041362108197306669238431228407629716984730854707528618438239056757108766703839883694565332020649303 = 22021946164808393 (p17) × 262417319699457621175161752791477017206038853130734538645633052531 (p66) × 6211836830541364900526909822006571137609795674665615556271096661561407141 (p73)
| 階段 | 開始時間 (UTC) | 完成時間 (UTC) | 實際耗時(秒) | GPU 日 | 輸出 |
|---|---|---|---|---|---|
| 多項式選擇 | 2026-08-1421:51:50 | 2026-08-1421:57:40 | 350 | 0.29 | 375,600 個候選項;160,578 個經大小最佳化;72 個經根最佳化;保留 67 個;選定項的 MurphyE 為 3.228e-07 |
| 篩選 | 2026-08-1421:58:37 | 2026-08-1422:04:16 | 339 | 0.42 | 原始:164,161,253;唯一:118,353,582;自由:875,191 |
| 篩選處理 | 2026-08-1422:04:16 | 2026-08-1422:26:10 | 1,314 | 0.12 | 清理後為 16,040,431x16,040,251,超額 180;合併 3,664,154 列,包含 545,411,699 個非零值(密度 148.9) |
| Krylov | 2026-08-1422:26:44† | 2026-08-1423:02:59† | 2,175 | 0.07 | 116,000 次迭代 |
| 生成器長度 | 2026-08-1423:02:59† | 2026-08-1423:06:57† | 238 | 0.02 | 56,839 |
| 部分解 | 2026-08-1423:06:57† | 2026-08-1423:22:07† | 910 | 0.08 | 15 個部分解檔案 |
| 彙集 | 2026-08-1423:22:07† | 2026-08-1423:22:22 | 15 | 0.00 | 64 個核向量 |
| 特徵計算 | 2026-08-1423:22:22 | 2026-08-1423:45:56 | 1,414 | 0.13 | 28 個非零相依關係 |
| 平方根 | 2026-08-1423:45:56 | 2026-08-1500:04:58 | 1,142 | 0.11 | 每個相依關係約 7.88M 對;從第 4 個相依關係得出因數:p17 x p66 x p73 |
| 總計 | 2026-08-1421:51:50 | 2026-08-1500:04:58 | 7,988 | 1.2 |
參數
polyselect: degree 5; P 390000; incr 420; admin 4620; admax 180000; adrange 12600; nq 156250; nrkeep 72; sopteffort 4; ropteffort 25; threads 22; GPU 階段 1 (
polyselect-gps1)sieve: I 14; sqside not set; lpb 31/31; lim 33000000/40000000; mfb 60/60; lambda 1.94/1.95; ncurves 15/15; qmin 5200000; qrange 50000; special q 5200000 to 29050000; rels_wanted 164000000; las.threads 22; wutimeout 900
filter+merge: target_density 148.0; purge.keep 180; required_excess 0.04; dup1, dup2 and merge settings not set
線性代數:krylov: m=64, n=64; 一條序列 0-64; thr=2x4, 無 MPI, 一個 B200 節點; mm_impl=cuda; interleaving=0; nullspace=left; 每 4,000 次迭代設置檢查點。lingen: thr=2x4; mksol: 15 個範圍,每個包含 4,000 次迭代; gather: thr=2x4, 一個 B200 節點
sqrt: nchar 50; sqrt.threads 1; CPU
sqrt,相依項按順序排列
多項式
n: 35897832874755680820449985423390320593468589158596246321041362108197306669238431228407629716984730854707528618438239056757108766703839883694565332020649303 skew: 1079717.52 c0: 311415128652871829359026871832488890 c1: 6038213931379356671126098734089 c2: -52755893829252005178014 c3: -3979443941439656428 c4: -636741235170 c5: 963900 Y0: -183822426494573757202526169411 Y1: 799614469853922336864107 # MurphyE (Bf=2.147e+09,Bg=2.147e+09,area=6.979e+14) = 3.228e-07 # f(x) = 963900*x^5-636741235170*x^4-3979443941439656428*x^3-52755893829252005178014*x^2+6038213931379356671126098734089*x+311415128652871829359026871832488890 # g(x) = 799614469853922336864107*x-183822426494573757202526169411
2. C157,約數和序列中的項 171648
9094117661604772474513996307258881217012042571399291054272697101019113898735915143042712474990468911795356432593098151723862961657529605023713028245732813881 = 1373873899497528055698752141917005095037184057 (p46) × 6619324863024763414167515910344780329208808737133855530598807493174878587238190154476062604506187361704747820033 (p112)
| 階段 | 開始 (UTC) | 完成 (UTC) | 實際時間 (s) | GPU-days | 輸出 |
|---|---|---|---|---|---|
| polyselect | 2026-08-1413:39:58 | 2026-08-1413:46:01 | 363 | 0.03 | 490,548 個候選項;210,537 個經大小最佳化;72 個經根最佳化;保留 59 個;選出的 MurphyE 為 2.364e-07 |
| sieve | 2026-08-1413:46:59 | 2026-08-1414:51:36 | 3,877 | — | 原始 170,017,806;唯一 120,860,691;自由 875,427 |
| filtering | 2026-08-1414:51:36 | 2026-08-1415:16:05 | 1,469 | 0.14 | purge 20,378,554x20,378,374,超額 180;合併 4,586,690 列、691,435,635 個非零項(密度 150.7) |
| krylov | 2026-08-1415:16:48† | 2026-08-1415:36:31† | 1,183 | 0.11 | 145,000 次迭代 |
| lingen | 2026-08-1415:36:31† | 2026-08-1415:42:08† | 337 | 0.03 | 生成器長度 71,513 |
| mksol | 2026-08-1415:42:08† | 2026-08-1416:05:54† | 1,426 | 0.13 | 15 個部分解檔案 |
| gather | 2026-08-1416:05:54† | 2026-08-1416:06:10 | 16 | 0.00 | 64 個核向量 |
| characters | 2026-08-1416:06:10 | 2026-08-1416:34:47 | 1,717 | 0.16 | 26 個非零相依項 |
| sqrt | 2026-08-1416:34:47 | 2026-08-1416:51:24 | 997 | 0.09 | 每個相依項約有 10.13M 對;第 3 個相依項得出的因數:p46 x p112 |
| 總計 | 2026-08-1413:39:58 | 2026-08-1416:51:24 | 11,486 | ~0.70 |
參數
polyselect: degree 5; P 480000; incr 420; admin 3360; admax 240000; adrange 12600; nq 156250; nrkeep 72; sopteffort 4; ropteffort 25; threads 22; GPU 階段 1 (
polyselect-gps1)sieve: I 14; sqside 未設定; lpb 31/31; lim 36000000/45000000; mfb 60/61; lambda 1.95/1.98; ncurves 15/15; qmin 7000000; qrange 10000; special q 7000000 to 34790000; rels_wanted 170000000; las.threads 22; wutimeout 未設定
filter+merge: target_density 150.0; purge.keep 180; required_excess 0.04; dup1、dup2 和 merge 設定未設定
linear algebra: krylov: m=64, n=64; 一個序列 0-64; thr=2x4,沒有 MPI,使用一個 B200 節點; mm_impl=cuda; interleaving=0; nullspace=left; 每 5,000 次迭代設立檢查點。lingen: thr=2x4; mksol: 15 個範圍,每個 5,000 次迭代; gather: thr=2x4,使用一個 B200 節點
sqrt: nchar 50; sqrt.threads 1; CPU
sqrt,相依項按順序排列
多項式
n: 9094117661604772474513996307258881217012042571399291054272697101019113898735915143042712474990468911795356432593098151723862961657529605023713028245732813881 skew: 4028941.249 c0: -30929648823185396741795692684080726360 c1: 1984799888640434257894945231826 c2: 32825749084108570009393021 c3: 197070756762860649 c4: -1019587382066 c5: 27720 Y0: -4731635427901989535771954621627 Y1: 94637504817809596577371 # MurphyE (Bf=2.147e+09,Bg=2.147e+09,area=9.395e+14) = 2.364e-07 # f(x) = 27720*x^5-1019587382066*x^4+197070756762860649*x^3+32825749084108570009393021*x^2+1984799888640434257894945231826*x-30929648823185396741795692684080726360 # g(x) = 94637504817809596577371*x-4731635427901989535771954621627
3. C173,約數和序列中的項 9708
16822729250245162197210786340073520345302701126309345909868690809883178067955616113069491365481002999485261589865849989569081865831418044294861652263678072140784922937770471 = 3676483960011861552959023833205172827558807236795952573316927262433 (p67) × 4575765713442929453137801139482723088869543413891048184845232501463745899574413667558326370545261994463687 (p106)
| 階段 | 開始 (UTC) | 完成 (UTC) | 實際時間 (s) | GPU-days | 輸出 |
|---|---|---|---|---|---|
| polyselect | 2026-08-1422:01:02 | 2026-08-1422:10:39 | 577 | 0.05 | 1,435,616 個候選項;508,830 個經大小最佳化;200 個經根最佳化;保留 112 個;選出的 MurphyE 為 1.966e-08 |
| sieve | 2026-08-1422:11:26 | 2026-08-1500:33:47 | 8,541 | — | 原始 163,518,774;唯一 121,605,989;自由 453,452 |
| filtering | 2026-08-1500:33:47 | 2026-08-1500:51:43 | 1,076 | 0.10 | purge 59,123,902x59,123,742,超額 160;合併 14,262,604 列、2,427,731,780 個非零項(密度 170.2) |
| krylov | 2026-08-1500:54:13† | 2026-08-1503:05:32† | 7,879 | 0.73 | 446,464 次迭代 |
| lingen | 2026-08-1503:05:32† | 2026-08-1503:25:03† | 1,171 | 0.11 | 生成器長度 222,852 |
| mksol | 2026-08-1503:25:03† | 2026-08-1506:56:17† | 12,674 | 1.2 | 218 個部分解檔案 |
| gather | 2026-08-1506:56:17† | 2026-08-1506:57:30 | 73 | 0.01 | 64 個核向量 |
| characters | 2026-08-1506:57:30 | 2026-08-1508:18:55 | 4,885 | 0.45 | 26 個非零相依項 |
| sqrt | 2026-08-1508:18:55 | 2026-08-1509:18:48 | 3,593 | 0.33 | 每個相依項約有 29.56M 對;第 3 個相依項得出的因數:p67 x p106 |
| 總計 | 2026-08-1422:01:02 | 2026-08-1509:18:48 | 40,666 | ~3.0 |
參數
polyselect: degree 5; P 500000; incr 60; admin 未設定; admax 5000000; adrange 12600(已搜尋 ad 12600 至 5000000);nq 3125; nrkeep 200; sopteffort 和 ropteffort 未設定; threads 22; GPU 階段 1 (
polyselect-gps1)sieve: I 14; sqside 未設定; lpb 30/31; lim 48100000/67600000; mfb 60/90; lambda 未設定; ncurves 15/8; qmin 39200000; qrange 50000; special q 39200000 to 230900000; rels_wanted 未設定; las.threads 22; wutimeout 未設定
filter+merge: target_density 170.0; purge.keep 160; required_excess 未設定; dup1、dup2 和 merge 設定未設定
linear algebra: krylov: m=64, n=64; 一個序列 0-64; thr=2x4,沒有 MPI,使用一個 B200 節點; mm_impl=cuda; nullspace=left; 每 1,024 次迭代設立檢查點。lingen: thr=2x4; mksol: 218 個範圍,每個 1,024 次迭代; gather: thr=2x4,使用一個 B200 節點
sqrt: nchar 50; sqrt.threads 1; CPU
sqrt,相依項按順序排列
多項式
n: 16822729250245162197210786340073520345302701126309345909868690809883178067955616113069491365481002999485261589865849989569081865831418044294861652263678072140784922937770471 skew: 7539323.115 c0: 5507904840044862958567101790419123351248 c1: 11075662115103401666716027762474064 c2: 2069703995428638025176582672 c3: -460426871814604581272 c4: -10802939281763 c5: 1414980 Y0: -1640700354148067422687336044906519 Y1: 101559148972858506719 # MurphyE (Bf=2.147e+09,Bg=1.074e+09,area=5.261e+15) = 1.966e-08 # f(x) = 1414980*x^5-10802939281763*x^4-460426871814604581272*x^3+2069703995428638025176582672*x^2+11075662115103401666716027762474064*x+5507904840044862958567101790419123351248 # g(x) = 101559148972858506719*x-1640700354148067422687336044906519
4. C175,Kamada 近重複數表
5470451651282352577428602590986639243300312582317119394917414850088270252125425873202922100945580574919292893135207214884038940172525025590402945033754680230815866783742314989 = 26545519698456167532008255537577644047411055430442133 (p53) × 206078152299293756900604204800302055899369808326285212990616910104280090482314900582700376408434332258183140974789810506233 (p123)
| 階段 | 開始 (UTC) | 完成 (UTC) | 實際時間 (s) | GPU-days | 輸出 |
|---|---|---|---|---|---|
| polyselect | 2026-08-1600:32:51 | 2026-08-1600:36:47 | 236 | 0.32 | 312,940 個候選項;114,948 個經大小最佳化;200 個經根最佳化;保留 67 個;選出的 MurphyE 為 1.573e-08 |
| sieve | 2026-08-1600:37:33 | 2026-08-1601:45:06 | 4,053 | 6.5 | 原始 171,492,612;唯一 123,419,402;自由 453,705 |
| filtering | 2026-08-1601:45:06 | 2026-08-1602:03:40 | 1,114 | 0.10 | 清理 64,040,726x64,040,566,超額量 160;合併 15,667,159 行、2,669,749,178 個非零元素(密度 170.4) |
| krylov | 2026-08-1602:06:26† | 2026-08-1604:50:17† | 9,831 | 0.91 | 490,496 次迭代 |
| lingen | 2026-08-1604:50:17† | 2026-08-1605:11:34† | 1,277 | 0.12 | 生成器長度 244,798 |
| mksol | 2026-08-1605:11:34† | 2026-08-1606:48:24† | 5,810 | 0.54 | 240 個部分解檔案 |
| gather | 2026-08-1606:48:24† | 2026-08-1606:49:43 | 79 | 0.01 | 64 個核向量 |
| characters | 2026-08-1606:49:43 | 2026-08-1608:17:53 | 5,290 | 0.49 | 25 個非零相依關係 |
| sqrt | 2026-08-1608:17:53 | 2026-08-1608:56:50 | 2,337 | 0.22 | 每個相依關係約有 32.02M 對;第 2 個相依關係所得因數:p53 x p123 |
| 總計 | 2026-08-1600:32:51 | 2026-08-1608:56:50 | 30,239 | 9.2 |
參數
polyselect:degree 5;P 1200000;incr 60;admin 未設定;admax 1250000;adrange 12600(已搜尋 ad 12600 至 1250000);nq 3125;nrkeep 200;threads 22;GPU 階段 1 (
polyselect-gps1)sieve:I 14;sqside 未設定;lpb 30/31;lim 48100000/67600000;mfb 60/90;ncurves 15/8;qmin 39200000;qrange 50000;special q 39200000 至 281800000;rels_wanted 169766062;las.threads 22;wutimeout 900
filter+merge:target_density 170.0;purge.keep 160;required_excess 未設定;dup1、dup2 及合併設定均未設定
線性代數:krylov:m=64,n=64;一個序列 0-64;thr=2x4,不使用 MPI,一個 B200 節點;mm_impl=cuda;nullspace=left;每隔 1,024 次迭代建立檢查點。lingen:thr=2x4;mksol:240 個範圍,每個範圍 1,024 次迭代;gather:thr=2x4,一個 B200 節點
sqrt:nchar 50;sqrt.threads 8;CPU
sqrt,依序處理相依關係
多項式
n: 5470451651282352577428602590986639243300312582317119394917414850088270252125425873202922100945580574919292893135207214884038940172525025590402945033754680230815866783742314989 skew: 6069782.59 c0: -67733679288880239798108684386132972016894 c1: 866375916432470715190517437912097 c2: 28292826923946390520259902850 c3: 257301599183566358927 c4: -398514986671596 c5: 5775840 Y0: -5635239997340677903984973751823056 Y1: 527256926047937086559 # MurphyE (Bf=2.147e+09,Bg=1.074e+09,area=5.261e+15) = 1.573e-08 # f(x) = 5775840*x^5-398514986671596*x^4+257301599183566358927*x^3+28292826923946390520259902850*x^2+866375916432470715190517437912097*x-67733679288880239798108684386132972016894 # g(x) = 527256926047937086559*x-5635239997340677903984973751823056
5. C190, 10^294 * 106 - 1 的餘因子
2803449180324637751696097116917035415510283366000770209964656143125021698552328456230457085999381765506227676072887672270352769749338084027093323803706408761157245199388770494277027275902323 = 3031232029603751020573994806456966726044658734818549537566836351886379240410044896085021901 (p91) × 924854697016087706590402161140219834859056267403120024108011627126585093503955645619014094737058623 (p99)
| 階段 | 開始時間(UTC) | 完成時間(UTC) | 實際時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| polyselect | 2026-08-1702:17:16 | 2026-08-1702:22:12 | 296 | 0.37 | 317,273 個候選;108,110 個大小最佳化;200 個根最佳化;保留 35 個;選定 MurphyE 6.238e-09 |
| sieve | 2026-08-1702:25:10 | 2026-08-1703:23:05 | 3,475 | 15 | 原始 637,490,768;唯一 558,502,707;自由 1,693,435 |
| 篩選 | 2026-08-1703:23:05 | 2026-08-1705:30:38 | 7,653 | 0.71 | 清理 95,381,750x95,381,590,超額量 160;合併 23,489,464 行、4,020,264,141 個非零元素(密度 171.2) |
| krylov | 2026-08-1705:31:52† | 2026-08-1706:22:34† | 3,042 | 2.5 | 550,912 次迭代 |
| lingen | 2026-08-1706:22:34† | 2026-08-1706:33:29† | 655 | 0.55 | 生成器長度 367,013 |
| mksol | 2026-08-1706:33:29† | 2026-08-1707:12:38† | 2,349 | 2.0 | 359 個部分解檔案 |
| gather | 2026-08-1707:12:38† | 2026-08-1707:14:44 | 126 | 0.11 | 64 個核向量 |
| characters | 2026-08-1707:15:08 | 2026-08-1707:16:31 | 83 | 0.01 | 27 個非零相依關係 |
| sqrt | 2026-08-1707:16:31 | 2026-08-1707:34:56 | 1,105 | 0.10 | 每個相依關係約有 47.69M 對;第 2 個相依關係所得因數:p91 x p99 |
| 總計 | 2026-08-1702:17:16 | 2026-08-1707:34:56 | 19,060 | 22 |
參數
polyselect:degree 5;P 1200000;incr 60;admin 0;admax 1250000;adrange 12600;nq 3125;nrkeep 200;threads 22;GPU 階段 1 (
polyselect-gps1)sieve:I 16;sqside 未設定;lpb 32/33;lim 340600000/162343750;mfb 85/96;ncurves 13/14;qmin 101875000;qrange 35000;special q 101875000 至 256235000;rels_wanted 637470715;las.threads 22;wutimeout 5400
filter+merge:target_density 170.0;purge.keep 160;required_excess 未設定;dup1、dup2 及合併設定均未設定
線性代數:krylov:
bwc.pl :complete;m=128,n=64;一個序列 0-64;mpi=4x2,thr=1x1,8 個 B200 節點;mm_impl=cuda;comm_impl=nccl;nullspace=left;interleaving=0;每隔 1,024 次迭代建立檢查點;krylov_jobs=1。lingen:mpi=1x1,thr=8x8;mksol:359 個範圍,每個範圍 1,024 次迭代,mpi=4x2;gather:mpi=4x2,thr=1x1,8 個 B200 節點sqrt:nchar 50;sqrt.threads 8;CPU
sqrt,依序處理相依關係
多項式
n: 2803449180324637751696097116917035415510283366000770209964656143125021698552328456230457085999381765506227676072887672270352769749338084027093323803706408761157245199388770494277027275902323 skew: 21435826.965 c0: -228821101739770306666174403224295131380205560 c1: 100892241193110033273901788248298093162 c2: -5021540351247338802317304532661 c3: -473581781581809751070461 c4: -6741589944834600 c5: 184579200 Y0: -5121528411741386878578269803021899968 Y1: 5880053293624743921847 # MurphyE (Bf=8.590e+09,Bg=4.295e+09,area=2.188e+17) = 6.238e-09 # f(x) = 184579200*x^5-6741589944834600*x^4-473581781581809751070461*x^3-5021540351247338802317304532661*x^2+100892241193110033273901788248298093162*x-228821101739770306666174403224295131380205560 # g(x) = 5880053293624743921847*x-5121528411741386878578269803021899968
6. C190,隨機半質數
1915702666254754589302138082953064030136985233543617546393016850305362357282661012267312792578128353496405760484753165337002709486896975439203074537923793503963218174251187680660285478774247 = 41698471563777460657883793234606994934029658617745521302475971276954056473612781956799433416449 (p95) × 45941795811980866357439455815073930815170459048464456198275523982412122564353572361237287120103 (p95)
| 階段 | 開始時間(UTC) | 完成時間(UTC) | 實際時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| polyselect | 2026-08-1822:12:28 | 2026-08-1822:17:29 | 301 | 0.47 | 317,811 個候選;108,296 個大小最佳化;200 個根最佳化;保留 43 個;選定 MurphyE 2.236e-09 |
| sieve | 2026-08-1822:19:01 | 2026-08-1822:56:56 | 2,275 | 7.0 | 原始 328,861,343;唯一 274,590,255;自由 876,098 |
| 篩選 | 2026-08-1822:56:56 | 2026-08-1823:42:32 | 2,736 | 0.25 | 清理 90,508,701x90,508,541,超額量 160;合併 24,119,567 行、3,642,554,551 個非零元素(密度 151.0) |
| krylov | 2026-08-1823:43:43† | 2026-08-1900:24:56† | 2,473 | 2.1 | 573,440 次迭代 |
| lingen | 2026-08-1900:24:56† | 2026-08-1900:36:01† | 665 | 0.55 | 生成器長度 376,867 |
| mksol | 2026-08-1900:36:01† | 2026-08-1901:04:14† | 1,693 | 1.4 | 47 個部分解檔案 |
| gather | 2026-08-1901:04:14† | 2026-08-1901:05:08 | 54 | 0.05 | 64 個核向量 |
| characters | 2026-08-1901:05:32 | 2026-08-1901:06:49 | 77 | 0.01 | 27 個非零相依關係 |
| sqrt | 2026-08-1901:06:49 | 2026-08-1901:23:11 | 982 | 0.09 | 每個相依關係約有 45.25M 對;第 2 個相依關係所得因數:p95 x p95 |
| 總計 | 2026-08-1822:12:28 | 2026-08-1901:23:11 | 11,443 | 12 |
參數
polyselect:degree 5;P 1200000;incr 60;admin 0;admax 1250000;adrange 12600;nq 3125;nrkeep 200;threads 22;GPU 階段 1 (
polyselect-gps1)sieve: I 16; sqside 未設定; lpb 31/32; lim 340600000/162343750; mfb 62/93; ncurves 13/14; qmin 101875000; qrange 45000; special q 101875000 to 255870000; rels_wanted 328805148; las.threads 22; wutimeout 4800
filter+merge: target_density 150.0; purge.keep 160; required_excess 未設定; dup1 nshards 16, outfmt .zst; dup2 concurrent; purge and merge gzip off
linear algebra: krylov:
bwc.pl :complete; m=128, n=64; 一個序列 0-64; mpi=4x2, thr=1x1, 8 B200 nodes; mm_impl=cuda; comm_impl=nccl; simd=64; nullspace=left; 每 8,192 次迭代設置檢查點; krylov_jobs=1. lingen: mpi=1x1, thr=8x8; mksol: 47 個每段 8,192 次迭代的範圍, mpi=4x2; gather: mpi=4x2, thr=1x1, 8 B200 nodessqrt: nchar 50; sqrt.threads 8; CPU
sqrt, 依次序排列的依賴項
多項式
n: 1915702666254754589302138082953064030136985233543617546393016850305362357282661012267312792578128353496405760484753165337002709486896975439203074537923793503963218174251187680660285478774247 skew: 69471962.165 c0: -8851052641249209046858885105626001014879976840 c1: 137284591523111942762317014521594293102 c2: 15711746557944118993342136575101 c3: -71479708151186561135983 c4: -2037361818341234 c5: 1484040 Y0: -4812639678831248968259250032120433579 Y1: 34259808457928473708459 # MurphyE (Bf=4.295e+09,Bg=2.147e+09,area=2.188e+17) = 2.236e-09 # f(x) = 1484040*x^5-2037361818341234*x^4-71479708151186561135983*x^3+15711746557944118993342136575101*x^2+137284591523111942762317014521594293102*x-8851052641249209046858885105626001014879976840 # g(x) = 34259808457928473708459*x-4812639678831248968259250032120433579
7. C201,奇完全數的障礙
930979809278937791072509028975014732977616551736470955539887227350102699241200870603629468473257201294317067671301934475214965923913736810157920028794236692842602151220424895418579020332545717523397343 = 192025012390228559221585986932909773176779292159023659696284779527 (p66) × 4848221581608458738148347619143924968930459331699831038700672259359631705871477758619201973885803963022228656479922682484475622839880809 (p136)
| 階段 | 開始(UTC) | 結束(UTC) | 執行時間(秒) | GPU 日 | 輸出 |
|---|---|---|---|---|---|
| 多項式選擇 | 2026-08-1709:42:44 | 2026-08-1709:54:47 | 723 | 0.07 | 317,323 個候選項;106,047 個大小最佳化項;200 個根最佳化項;保留 51 個;所選 MurphyE 2.581e-09 |
| 篩選 | 2026-08-1716:43:15 | 2026-08-1718:21:37 | 5,902 | 43 | 原始 637,475,661;唯一 466,787,872;自由 1,694,062 |
| 篩選處理 | 2026-08-1718:21:37 | 2026-08-1719:42:58 | 4,881 | 0.45 | 清理 180,157,710x180,157,550,超額量 160;合併 45,859,426 行、7,803,257,911 個非零項(密度 170.2) |
| Krylov | 2026-08-1719:44:49† | 2026-08-1722:35:07† | 10,218 | — | 1,081,344 次迭代 |
| Lingen | 2026-08-1722:35:07† | 2026-08-1722:56:36† | 1,289 | — | 生成器長度 716,552 |
| Mksol | 2026-08-1722:56:36† | 2026-08-1800:48:23† | 6,707 | — | 88 個部分解檔案 |
| Gather | 2026-08-1800:48:23† | 2026-08-1800:53:22† | 299 | — | 64 個核心向量 |
| 特徵 | 2026-08-1800:53:30 | 2026-08-1800:56:15 | 165 | 0.02 | 25 個非零依賴項 |
| 平方根 | 2026-08-1800:56:15 | 2026-08-1801:33:59 | 2,264 | 0.21 | 每個依賴項約 90.07M 對;來自第 2 個依賴項的因數:p66 x p136 |
| 總計 | 2026-08-1709:42:44 | 2026-08-1801:33:59 | 57,075 | ~43 |
參數
polyselect: degree 5; P 1200000; incr 60; admin 0; admax 1250000; adrange 12600; nq 3125; nrkeep 200; threads 22; GPU 階段 1 (
polyselect-gps1)sieve: I 16; sqside 未設定; lpb 32/33; lim 130000000/100000000; mfb 85/96; ncurves 13/13; qmin 309440000; qrange 40000; special q 309440000 to 812920000; q 50000000 to 309440000 的匯入關係;rels_wanted 637470715; las.threads 22; wutimeout 5400
filter+merge: target_density 170.0; purge.keep 160; required_excess 未設定; dup1 nshards 16, outfmt .zst; dup2 concurrent; purge and merge gzip off
linear algebra: krylov:
bwc.pl :complete; m=128, n=64; 一個序列 0-64; mpi=4x3, thr=1x1, 12 B200 nodes; mm_impl=cuda; comm_impl=nccl; nullspace=left; 每 8,192 次迭代設置檢查點; krylov_jobs=1. lingen: mpi=1x1, thr=8x8; mksol: 每段 8,192 次迭代的範圍; gather: mpi=4x4, 16 GB200 nodessqrt: nchar 50; sqrt.threads 8; CPU
sqrt, 依次序排列的依賴項
多項式
n: 930979809278937791072509028975014732977616551736470955539887227350102699241200870603629468473257201294317067671301934475214965923913736810157920028794236692842602151220424895418579020332545717523397343 skew: 141639179.53 c0: 4920071598665344600849898275027200375673687141584 c1: -17473086803075379177941148842054370989064 c2: -1895700168885924627964679424329691 c3: -5093363513389771937188279 c4: 65012146697554240 c5: 4586160 Y0: -959202297370196215605054183736005106510 Y1: 22769097491370535613 # MurphyE (Bf=8.590e+09,Bg=4.295e+09,area=1.074e+17) = 2.581e-09 # f(x) = 4586160*x^5+65012146697554240*x^4-5093363513389771937188279*x^3-1895700168885924627964679424329691*x^2-17473086803075379177941148842054370989064*x+4920071598665344600849898275027200375673687141584 # g(x) = 22769097491370535613*x-959202297370196215605054183736005106510
8. RSA-260
22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199 = 4397328654844826923795068102505872571721883526553349659561256924505973939597593482272505698004801207988043088656411102133523080581 (p130) × 5028695206842569864686141618253083416610081090075366674776775706538324961364412200138116378509733307971876652984898985905923678379 (p130)
| 階段 | 開始(UTC) | 結束(UTC) | 執行時間(秒) | GPU 日 | 輸出 |
|---|---|---|---|---|---|
| 多項式選擇 | 2026-08-1812:14:19 | 2026-08-2106:08:18 | 237,239 | 643 | 見正文;所選 MurphyE 6.633e-10 |
| 篩選 | 2026-08-2210:01:12 | 2026-08-3007:26:15 | 681,903 | 3,813 | 進入篩選階段的原始數量 13,849,985,589;唯一 8,298,749,059;自由 3,991,449 |
| 篩選處理 | 2026-08-3007:26:15 | 2026-08-3013:23:05 | 21,410 | 0 | 清理 2,238,133,184x2,238,133,024,超額量 160;合併 656,182,601x656,182,189,98,431,741,898 個非零項(密度 150.0) |
| 準備 | 2026-08-3015:45:10 | 2026-08-3020:09:07 | 15,837 | 7.9 | 派發、準備及安全處理 |
| Krylov | 2026-08-3020:11:37 | 2026-09-0202:38:14 | 195,997 | 405 | 每個序列 2,564,096 次迭代 |
| Lingen | 2026-09-0202:40:30 | 2026-09-0209:39:10 | 25,120 | 1.1 | 生成器長度 1,281,607 |
| Mksol | 2026-09-0209:48:55 | 2026-09-0212:25:16 | 9,381 | 53 | 40 個部分解檔案 |
| Gather | 2026-09-0212:30:12 | 2026-09-0212:39:16 | 544 | 0.11 | 64 個核心向量 |
| 特徵 | 2026-09-0213:43:02 | 2026-09-0214:34:41 | 3,099 | — | 26 個非零依賴項 |
| 平方根 | 2026-09-0214:34:41 | 2026-09-0301:48:57 | 40,456 | — | 每個依賴項 1,119,082,750 對;第一個因數來自依賴項 12:p130 x p130 |
| 總計 | 2026-08-1812:14:19 | 2026-09-0301:48:57 | 1,344,878 | ~4,923 |
參數
polyselect: B200、GB200 和 GB300 上的 GPU 階段 1 (
polyselect-gps1),以及 CADO polyselect;degree 6; P 2e7 and 3e7; incr 110880 and 465585120; ad 0 to above 1.04e16sieve: A 33; sqside 1; lpb 36/37; lim 2147483648/2147483648; mfb 72/111; ncurves 50/35; fill_bands 2; host_mr 1; qmin 1000000000; qrange 60000; special q 1000000000 to 39091320000; rels_wanted 最初為 13460000000,之後為 13850000000; las.threads 22; siqs.threads 2; wutimeout 7200
篩選+合併:target_density 150.0;purge.keep 160;required_excess 未設定;dup1 nshards 16, nslices_log 4, outfmt .zst;dup2 並行;purge 和 merge 的 gzip 已關閉
線性代數:krylov:m=512, n=512;兩條寬度為 256 的序列;simd=256;nullspace=left;mm_impl=cuda;comm_impl=nccl;每 8,192 次迭代建立檢查點;mksol 每 32,768 次迭代保留檢查點;GB300 和 GB200 節點的 4x2、4x4、8x4 及 16x4 網格。lingen:一個 GB200 節點;mksol:40 個範圍,每個範圍 32,768 次迭代,mpi=2x2,GB300 和 GB200 節點;gather:mpi=2x2,4 個 GB200 節點
平方根:在一個 B200 節點上 nchar 50;
-ab在 CPU 上執行;GPUsqrt,每個節點一個相依關係,相依關係 8 至 14
多項式
n: 22112825529529666435281085255026230927612089502470015394413748319128822941402001986512729726569746599085900330031400051170742204560859276357953757185954298838958709229238491006703034124620545784566413664540684214361293017694020846391065875914794251435144458199 skew: 3226459.164 c0: 4438326758963496161172848385157253702543453653246272 c1: -2760724998540198898516614911500562788411825980 c2: -3288611114230578563553198296458642435160 c3: 950383683194810225243935581823335 c4: 541831494549130032021283293 c5: -32669802676467106300 c6: -1863645537600 Y0: -221673351566952308029695237213052836736183 Y1: 5766034074997040571677 # MurphyE (Bf=2.749e+11,Bg=1.374e+11,area=8.590e+18) = 6.633e-10 # f(x) = -1863645537600*x^6-32669802676467106300*x^5+541831494549130032021283293*x^4+950383683194810225243935581823335*x^3-3288611114230578563553198296458642435160*x^2-2760724998540198898516614911500562788411825980*x+4438326758963496161172848385157253702543453653246272 # g(x) = 5766034074997040571677*x-221673351566952308029695237213052836736183
9. C311 = (179^139 - 1)/178
78732003642300039104997556853283781324722722514871172820596350395008499128466382307395809435579611623474564094986667529892960864716597384448096503729214198851662899485730276355438419349226871332426916221394784977161223247509417343613224455688485860012856805177174377754441936853855717590652007641081003553555981 = 113099312568209673935042334303729415651026293476381594877312955562280961045355175671136840242009011468329 (p105) × 696131584308411518623832257550002804001621961634551342461843289253649103892820497050633605105814786732064892829393341608140504002525639124360548840359891492626081616809277191319539440045658855879311157144389 (p207)
| 階段 | 開始(UTC) | 結束(UTC) | 實際時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| 篩選 | 2026-08-1806:52:44 | 2026-08-1810:39:42 | 13,618 | 63 | 原始 1,237,126,812;唯一 1,047,171,593;自由 32,797,398 |
| 過濾 | 2026-08-1810:39:42 | 2026-08-1813:41:03 | 10,881 | 1.0 | 清除 241,446,032x241,445,872,超額量 160;合併 65,393,394x65,393,182,11,172,358,980 個非零元素(密度 170.8) |
| krylov | 2026-08-1813:42:47† | 2026-08-1817:00:47† | 11,880 | 19 | 1,540,096 次迭代 |
| lingen | 2026-08-1817:00:47† | 2026-08-1817:32:57† | 1,930 | 3.0 | 產生器長度 1,021,770 |
| mksol | 2026-08-1817:32:57† | 2026-08-1820:24:26† | 10,289 | 16 | 125 個部分解檔案 |
| gather | 2026-08-1820:24:26† | 2026-08-1820:26:31 | 125 | 0.20 | 64 個核心向量 |
| 特徵 | 2026-08-1820:26:35 | 2026-08-1820:30:32 | 237 | 0.02 | 30 個非零相依關係 |
| 平方根 | 2026-08-1820:30:32 | 2026-08-1821:11:46 | 2,474 | 0.23 | 每個相依關係約有 120.72M 對;因數來自第 2 個相依關係:p105 x p207 |
| 總計 | 2026-08-1806:52:44 | 2026-08-1821:11:46 | 51,542 | 102 |
參數
多項式:f = 179 x^6 - 1, g = x - m, m = 179^23, skew 0.4213, MurphyE 8.836e-16 (179^139 - 1 = 178 N, 139 = 6*23 + 1)
替代方案:未有記錄
篩選:A 32;sqside 0;lpb 33/34;lim 500000000/800000000;mfb 66/99;ncurves 21/26;qmin 250000000;qrange 100000;special q 250000000 to 1184000000;rels_wanted 1237056574;las.threads 22;wutimeout 6000
篩選+合併:target_density 170.0;purge.keep 160;required_excess 未設定;dup1 nshards 16, outfmt .zst;dup2 並行;purge 和 merge 的 gzip 已關閉
線性代數:krylov:
bwc.pl :complete;m=128, n=64;一條序列 0-64;mpi=4x4, thr=1x1, 16 個 B200 節點;mm_impl=cuda;comm_impl=nccl;simd=64;nullspace=left;每 8,192 次迭代建立檢查點;krylov_jobs=1。lingen:mpi=1x1, thr=8x8;mksol:125 個範圍,每個範圍 8,192 次迭代,mpi=4x4;gather:mpi=4x4, thr=1x1, 16 個 B200 節點平方根:nchar 50;sqrt.threads 8;CPU
sqrt,依相依關係順序
10. C344 = (11^331 - 1)/10
50231805376049596631820685866210796229177935753938552911186809956414816600066561080962695239770426026723364698292328197470387911075676202539623423774798834486148386204131623950780297626046160114576438460656977450890504071673236180892236065865431442427746499804001930166673809250928496230908288781474418503703449380725550307006218226204967040981 = 4430846974881282458576305306275299267803558513190420498353196875372229299069071572187853350349351721816194984586423957772963949687017317 (p136) × 11336840486890314794032557608959863028316193728266529081837586701486166437930282744836829943727770582091213875616984397275548049092194046001698425309465943848550352458828194439770494240269696008098233721116593 (p209)
| 階段 | 開始(UTC) | 結束(UTC) | 實際時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| 篩選 | 2026-08-3110:44:54 | 2026-09-0100:54:48 | 50,994 | 148 | 原始 1,632,935,487;唯一 1,215,709,840;自由 63,572,584 |
| 過濾 | 2026-09-0100:54:48 | 2026-09-0101:32:55 | 2,287 | 0.21 | 清除 691,598,231x691,598,071,超額量 160;合併 183,979,604x183,979,412,31,557,886,647 個非零元素(密度 171.5) |
| 準備 | 2026-09-0102:54:22 | 2026-09-0104:04:05 | 4,183 | 0.80 | 派發、準備及安全處理 |
| krylov | 2026-09-0104:12:09 | 2026-09-0120:32:53 | 58,844 | 16 | 每條序列 718,848 次迭代 |
| lingen | 2026-09-0120:45:09 | 2026-09-0121:39:39 | 3,270 | 0.15 | 產生器長度 359,296 |
| mksol | 2026-09-0121:46:45 | 2026-09-0122:08:16 | 1,291 | 1.7 | 8 個部分解檔案 |
| gather | 2026-09-0122:12:43 | 2026-09-0122:15:09 | 146 | 0.04 | 64 個核心向量 |
| 特徵 | 2026-09-0122:17:35 | 2026-09-0122:28:05 | 630 | 0 | 29 個非零相依關係 |
| 平方根 | 2026-09-0122:28:05 | 2026-09-0123:40:44 | 4,359 | 0 | 每個相依關係約有 345.8M 對;首個因數來自第 20 個相依關係:p136 x p209 |
| 總計 | 2026-08-3110:44:54 | 2026-09-0123:40:44 | 132,950 | 167 |
參數
多項式:f = 11 x^6 - 1, g = x - m, m = 11^55, skew 0.6706, MurphyE 7.317e-17 (331 = 6*55 + 1)
替代方案:七次多項式 f = x^7 - 11^5, m = 11^48,以及六次多項式 f = x^6 - 11^5, m = 11^56;根據範數估算而非試驗篩選予以否決
篩選:A 32;sqside 0;lpb 34/34;lim 1073741824/1073741824;mfb 68/102;ncurves 25/35;qmin 300000000;qrange 100000;special q 300000000 to 3532000000;rels_wanted 1632914677;las.threads 22;wutimeout 6000
篩選+合併:target_density 170.0;purge.keep 160;required_excess 未設定;dup1 nshards 16, nslices_log 4, outfmt .zst;dup2 並行;purge 和 merge 的 gzip 已關閉
線性代數:krylov:m=512, n=512; simd=256; 兩條寬度為 256 的序列;mpi=2x2,每條序列使用 4 個 GB200 節點;mm_impl=cuda; comm_impl=nccl; nullspace=left; 每隔 1,024 次迭代設置檢查點;供 mksol 使用的檢查點每隔 8,192 次迭代保留一次。lingen:一個 GB200 節點;mksol:8 個作業,mpi=2x2,範圍按 8,192 次迭代的倍數劃分;gather:一個 GB200 節點
sqrt:nchar 50、176 條執行緒,以及 CPU 主節點上的
-ab輪;sqrt.threads 8;CPUsqrt,每個節點一個依賴關係
11. C337,2^1207 - 1 的餘因子
7121450524338129034228935888406290342440924878292924475154549706165967683018106989365212535726088820424187252154592086367126609115652316059905387197810171357101484623269226530219357641629634637632902818929376633641165995708421341209033069328278856607776384578328080846029713646218471064646270016968312691054210973840071649700163924918271 = 2135456634416723262926946022637259241391053741075352614983924508336321947951381676798676767 (p91) × 3334860755101812561067390658542870185942902307642912877405776237023857839224225092829417050945007343491020348357930255766175507591130368636694557769027206776756787240691456180112351039576773125118453259495249395384279121506465565518011175872090913 (p247)
| 階段 | 開始時間(UTC) | 完成時間(UTC) | 執行時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| 篩選 | 2026-09-0103:25:02 | 2026-09-0217:36:23 | 137,481 | 602 | 原始 4,000,022,905;唯一 2,809,594,239;自由 123,347,484 |
| 過濾 | 2026-09-0217:36:23 | 2026-09-0220:33:23 | 10,620 | 0 | 清除 875,233,659x875,233,499,超額 160;合併 262,840,014x262,839,822,39,761,486,522 個非零項(密度 151.3) |
| 準備 | 2026-09-0221:16:54 | 2026-09-0221:34:13 | 1,039 | 0.73 | 派發、準備及安全處理 |
| Krylov | 2026-09-0221:36:37 | 2026-09-0315:33:00 | 64,583 | 50 | 每條序列迭代 1,027,072 次 |
| lingen | 2026-09-0315:36:32 | 2026-09-0316:56:57 | 4,825 | 0.23 | 生成器長度 513,361 |
| mksol | 2026-09-0319:20:05 | 2026-09-0323:01:42 | 13,297 | 5.2 | 32 個部分解檔案 |
| 收集 | 2026-09-0323:05:38 | 2026-09-0323:09:27 | 229 | 0.05 | 64 個核心向量 |
| 特徵 | 2026-09-0323:23:22 | 2026-09-0323:36:26 | 784 | 0 | 29 個非零依賴關係 |
| 平方根 | 2026-09-0323:36:26 | 2026-09-0400:16:08 | 2,382 | 0.70 | 每個依賴關係約有 437.6M 對;由依賴關係 1 得出的首個因數:p91 x p247 |
| 總計 | 2026-09-0103:25:02 | 2026-09-0400:16:08 | 247,866 | 658 |
參數
多項式:f = 2 x^6 - 1, g = x - m, m = 2^201, skew 0.891, MurphyE 1.173e-17 (1207 = 6*201 + 1)
試篩後每個 5,000-q 視窗的關係數,相對於 lpb 37/37 的六次多項式;q = 2e9 / 8e9 / 32e9 / 128e9:八次多項式 x^8 - 2, m = 2^151:-55% / -57% / -66% / -71%;七次多項式 8 x^7 - 1, m = 2^172:-4% / -17% / -22% / -32%;五次多項式 4 x^5 - 1, m = 2^241:-62% / -54% / -48% / -39%
sieve: A 33; sqside 0; lpb 35/35; lim 2147483648/2147483648; mfb 105/70; ncurves 35/50; cofac_gpu 1; ecm_curves 24; qmin 1000000000; qrange 60000; special q 1000000000 to 7206840000; rels_wanted 4000000000; las.threads 22; wutimeout 7200
filter+merge: target_density 150.0; purge.keep 160; required_excess not set; dup1 nshards 16, nslices_log 4, outfmt .zst; dup2 concurrent; purge and merge gzip off
線性代數:krylov:m=512, n=512; simd=128; 四條寬度為 128 的序列;mpi=4x2,每條序列使用 8 個 GB200 節點;mm_impl=cuda; comm_impl=nccl; nullspace=left; 每隔 1,024 次迭代設置檢查點;供 mksol 使用的檢查點每隔 8,192 次迭代保留一次。lingen:一個 GB200 節點;mksol:32 個範圍,每個包含 16,384 次迭代,mpi=2x2;gather:mpi=2x2, thr=1x1,4 個 GB200 節點
sqrt:nchar 50,以及 CPU 主節點上的
-ab輪;GPUsqrt(-side0 -side1 -gcd),每個節點一個依賴關係,共 8 個作業
12. C385,2^1277 - 1 — SNFS 新紀錄
2601983048666099770481310081841021384653815561816676201329778087600902014918340074503059860433081046210605403488570251947845891562080866227034976651419330190731032377347305086443295837415395887618239855136922452802923419286887119716740625346109565072933087221327790207134604146257063901166556207972729700461767055550785130256674608872183239507219512717434046725178680177638925792182271 = 1724716499241899864602425389894492014760761058306262762892810886087012338823944627660237293943404138481321 (p106) × 174090709548829862673444876509956283267433847880436775401923086006338309086502338849028139248274886760517707263111447 (p117) × 8665849643335295674769105294571409283548491149467547745358388419546365219034102218289049713968532434665290528265538637566847289906584634645620272395224026405923633 (p163)
| 階段 | 開始時間(UTC) | 完成時間(UTC) | 執行時間(秒) | GPU 日數 | 輸出 |
|---|---|---|---|---|---|
| 篩選 | 2026-09-0304:42:11 | 2026-09-0612:55:01 | 288,770 | 2,063 | 原始 5,900,009,161;唯一 3,661,079,985;自由 123,347,484 |
| 過濾 | 2026-09-0612:55:01 | 2026-09-0614:38:04 | 6,183 | 0 | 清除 1,988,203,513x1,988,203,353,超額 160;合併 579,167,442x579,167,250(+32 個稠密欄),87,097,397,544 個非零項(密度 150.4) |
| 準備 | 2026-09-0616:11:05 | 2026-09-0616:32:18 | 1,273 | 0.73 | 派發、準備及安全處理 |
| Krylov | 2026-09-0616:35:06 | 2026-09-0802:36:22 | 122,476 | 324 | 每條序列迭代 2,263,040 次 |
| lingen | 2026-09-0802:51:12 | 2026-09-0806:09:59 | 11,927 | 0.56 | 生成器長度 1,131,188 |
| mksol | 2026-09-0806:12:12 | 2026-09-0809:02:08 | 10,196 | 33 | 139 個部分解檔案 |
| 收集 | 2026-09-0809:06:22 | 2026-09-0809:20:37 | 855 | 0.34 | 64 個核心向量 |
| 特徵 | 2026-09-0809:23:15 | 2026-09-0809:51:15 | 1,680 | 0 | 30 個非零依賴關係 |
| 平方根 | 2026-09-0809:51:15 | 2026-09-0811:08:57 | 4,662 | 1.4 | 總計 29,822,827,954 對(每個依賴關係 994,055,572 至 994,127,264 對);由依賴關係 5 得出的首個因數:p106 x p117 x p163 |
| 總計 | 2026-09-0304:42:11 | 2026-09-0811:08:57 | 455,206 | 2,423 |
參數
多項式:f = x^6 - 2, g = x - m, m = 2^213, skew 1.1225, MurphyE 1.6164e-18 (1277 = 6*213 - 1)
試篩後每個 5,000-q 視窗的關係數,相對於 lpb 37/37 的六次多項式;q = 2e9 / 8e9 / 32e9 / 128e9:八次多項式 x^8 - 8, m = 2^160:-44% / -47% / -55% / -66%;七次多項式 8 x^7 - 1, m = 2^182:+3% / -8% / -14% / -24%;五次多項式 4 x^5 - 1, m = 2^255:-73% / -70% / -63% / -54%
篩法: A 33; sqside 0; lpb 36/35; lim 2147483648/2147483648; mfb 108/70; ncurves 35/50; cofac_gpu 1; ecm_curves 24; qmin 1000000000; qrange 60000; special q 1000000000 to 23627100000; rels_wanted 5900000000; las.threads 22; wutimeout 7200
篩選及合併: target_density 150.0; purge.keep 160; required_excess 0.0; dup1 nshards 16, nslices_log 4, outfmt .zst; dup2 concurrent; merge skip 32; purge 和 merge 停用 gzip; 176 個執行緒
線性代數: krylov: m=512, n=512; simd=128; 四組寬度為 128 的序列;GB200 和 GB300 節點的 7x1 至 16x4 網格;mm_impl=cuda; comm_impl=nccl; nullspace=left; 每 1,024 次迭代建立檢查點;為 mksol 每 8,192 次迭代保留檢查點。lingen: mpi=1x1,單一 GB300 節點;dispatch: mpi=4x2,8 個 GB300 節點;mksol: solutions=0-64, mpi=4x2,每個工作使用 8 個 GB300 節點;gather: mpi=4x2,8 個 GB300 節點
平方根: nchar 50,176 個執行緒,以及 CPU 主節點上的
-ab次通過(-t 8);GPUsqrt(-side0 -side1 -gcd),每個節點一項相依項目,依相依項目 0 至 7 執行 8 個工作
來源:Cognition 模型 / Devin 博客 · cognition.ai