[{"data":1,"prerenderedAt":1852},["ShallowReactive",2],{"post-eth-refuted-not-p-np":3,"site-info":675,"related-en-eth-refuted-not-p-np":771},{"zh":4,"en":351},{"id":5,"title":6,"author":7,"body":8,"cover":332,"coverAlt":333,"date":334,"description":335,"draft":336,"extension":337,"featured":336,"lang":338,"meta":339,"navigation":129,"ogImage":340,"path":341,"seo":342,"slug":343,"stem":344,"tags":345,"translationKey":343,"updated":349,"__hash__":350},"blog\u002Fblog\u002Fzh-TW\u002Feth-refuted-not-p-np.md","朋友問我：P=NP 被攻破了嗎？","Jecision",{"type":9,"value":10,"toc":321},"minimark",[11,15,18,21,24,28,31,34,37,40,48,51,57,68,71,74,77,80,83,89,92,99,102,105,108,115,118,135,139,146,149,152,155,158,161,164,167,170,173,176,187,190,193,196,199,202,205,208,211,214,217,220,231,234,237,240,249,252,255,258,261,264,267,270,273,276,279,282,285,288,291,294,297,300,303,306],[12,13,14],"p",{},"星期二晚上，朋友在群組丟來一張新聞截圖，問我：「這是說 P=NP 被攻破了嗎？」",[12,16,17],{},"我說：「不是 P=NP，是 ETH。」",[12,19,20],{},"他問：「那不是一樣嗎？」",[12,22,23],{},"那個當下我其實沒有好答案。隔天中午我們碰面，我花了半小時把這件事從頭講一次。這篇就是那次講的內容，加上後來我自己去讀原始手稿補上的細節。",[25,26,27],"h2",{"id":27},"那天到底發生了什麼",[12,29,30],{},"OpenAI 在十月六日先把七百多篇數學手稿放上 GitHub。十月二十六日又加了兩篇，其中一篇是目錄上的第 378 號：〈Disproof of the Exponential Time Hypothesis〉，論文自己的標題則是〈The Exponential Time Hypothesis is False〉。",[12,32,33],{},"整個庫現在是 721 篇手稿、373 個家族。家族編號有跳號，所以編號到 378，不代表真的有 378 個家族。",[12,35,36],{},"幾小時後，Anthropic 也說他們的模型在 10 月 16 日獨立找到核心想法，並稱 OpenAI 的模型「獨立且同時」證明了類似的結果。",[12,38,39],{},"朋友打斷我：「所以是誰先的？」",[12,41,42,43,47],{},"「不知道，也不重要。」我跟他說，真正值得看的地方，是",[44,45,46],"strong",{},"這些東西還不是論文","。",[12,49,50],{},"OpenAI 自己在 README 裡寫得很白：這些是「原始研究資料」，不是打磨過的學術論文，而且「部分沒有形式化的結果可能有問題」。整個庫大約 42% 的頂層結果有 Lean 形式化，這篇第 378 號是其中之一，核心的時間上界有被機器檢查過。",[12,52,53,54,47],{},"學界沒有急著下結論。Impagliazzo、Paturi（1999 年提出 ETH，期刊版 2001）跟 MIT 的 Williams 組了工作組、發公開信，特別強調一件事：",[44,55,56],{},"參與，不等於認證",[12,58,59,60,67],{},"到 10 月 28 日，",[61,62,66],"a",{"href":63,"rel":64},"https:\u002F\u002Fmathworld.wolfram.com\u002FExponentialTimeHypothesis.html",[65],"nofollow","MathWorld"," 的紀錄寫得很清楚：還沒有獨立驗證。",[25,69,70],{"id":70},"先從數獨開始",[12,72,73],{},"要講清楚這件事，得先講一個看起來完全不相關的東西：數獨。",[12,75,76],{},"朋友點頭，他玩數獨。",[12,78,79],{},"「你先想像一個填好的盤面。我拿給你看，你大概十秒就能確認對不對。但如果我給你一張空白盤，你要找到那組解，可能要半小時。」",[12,81,82],{},"這就是 P 與 NP 的差別。P 是「可以快速解」的問題，NP 是「答案可以快速驗證」的問題。",[12,84,85,86],{},"而 P 等於 NP 這句話的意思是：",[44,87,88],{},"所有能快速驗證的答案，都能快速找到。",[12,90,91],{},"學界幾乎所有人都覺得這句話是錯的，但沒有人證明過。",[12,93,94,95,98],{},"ETH 比這句話更強。它不只是說「3SAT 不在 P 裡」，而是說：",[44,96,97],{},"存在一個常數 c，使得 3SAT 至少要 2 的 cn 次方步。"," 3SAT 是這一類問題裡最標準的那一個，跟數獨同樣是 NP-完全。",[12,100,101],{},"打個比方。P 不等於 NP 只說「兩者不是同一個位置」；ETH 說的是「兩者至少相距兩千公里」——後者資訊多得多。",[25,103,104],{"id":104},"為什麼有人要假設這種東西",[12,106,107],{},"「假設一個沒人證明的東西，有什麼用？」朋友問。",[12,109,110,111,114],{},"用處在於：",[44,112,113],{},"如果你知道兩地至少相距兩千公里，就可以推論沒有人能在一小時內開車到。"," 距離的下界，直接排除掉一整類「很快」的解法。",[12,116,117],{},"過去二十年，「細粒度複雜度」這個領域就是這樣運作的：先假設 ETH 成立，再證明「如果這個問題有快速演算法，那 3SAT 就有快速演算法，矛盾」。所以 ETH 不是課本上的名詞，它是一整批論文的地基。",[119,120,123,124,123,131],"figure",{"className":121},[122],"article-figure","\n  ",[125,126],"video",{"src":127,"poster":128,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":130},"\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F03-ladder.mp4","\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F03-ladder-poster.jpg",true,"複雜度階梯：多項式、次指數、指數三層",[132,133,134],"figcaption",{},"複雜度階梯。ETH 主張最上層不能更低；這次的結果把「上界」壓到中間那層。",[25,136,138],{"id":137},"那-openai-到底做了什麼","那 OpenAI 到底做了什麼",[12,140,141,142,145],{},"他們的模型找到一個演算法，可以",[44,143,144],{},"算出","一個邏輯公式有幾組解——是「算出有幾組」，不是「判斷有沒有解」，比原本的要求更強。時間是 2 的 n 除以根號（自然對數 n）次方，空間則是多項式。",[12,147,148],{},"朋友指著我在紙上寫的那串式子：「這是什麼意思？」",[12,150,151],{},"「意思是指數還在，只是除以一個會慢慢變大的數字。n 越大，除得越多。」",[12,153,154],{},"「那不是變快了？」",[12,156,157],{},"「是。但要看跟誰比。」",[12,159,160],{},"目前最好的 3SAT 演算法（隨機化）大約是 1.307 的 n 次方。",[12,162,163],{},"假設 n 等於一千。那個等級的演算法，大約是 2 的 386 次方；這次的結果，大約是 2 的 380 次方。",[12,165,166],{},"只快了大約 60 倍。",[12,168,169],{},"60 倍聽起來不少，但 2 的 380 次方還是 10 的 114 次方。宇宙年齡以秒計，也只有 4 乘 10 的 17 次方。",[12,171,172],{},"真正的差別在 n 很大的時候。n 等於一百萬，一個是 2 的 269000 次方，一個是 2 的 386000 次方——差距拉開，但兩個都還是天文數字。",[12,174,175],{},"所以這次的重點不是「快多少」，而是「快過那條下界」。",[119,177,123,179,123,184],{"className":178},[122],[125,180],{"src":181,"poster":182,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":183},"\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F05-magnitude.mp4","\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F05-magnitude-poster.jpg","n=1000 時的量級比較：已知最快 2^386，這次 2^380",[132,185,186],{},"n = 1000 的對照。這次不是從 2^n 降到 2^380，而是從 2^386 降到 2^380——快 64 倍，仍然不可行。",[25,188,189],{"id":189},"上下界要分清楚",[12,191,192],{},"這裡有個容易搞混的地方。",[12,194,195],{},"演算法是一種「上界」：它告訴我們，這件事最多需要多少時間就能做到。",[12,197,198],{},"ETH 是一種「下界」：它說，這件事至少需要多少時間。",[12,200,201],{},"這次的結果，把上界壓到次指數。對足夠大的 n，這個上界會低於 ETH 宣稱的下界——所以 ETH 被推翻。",[12,203,204],{},"朋友問：「所以反過來也成立嗎？」",[12,206,207],{},"「你說的『反過來』有兩種。」",[12,209,210],{},"P 等於 NP 確實會讓 ETH 不成立——但那是同一個箭頭的逆否命題，不是新的推論。",[12,212,213],{},"真正不成立的是另一種反推：手上只有「ETH 被推翻」，推不出「P 等於 NP」。這個箭頭，不成立。",[12,215,216],{},"用回距離的比喻：原本大家以為至少兩千公里，現在證明只有八百公里。距離變短了，但你手上那台車還是太慢，一小時內到不了。",[12,218,219],{},"所以 P 是否等於 NP，到今天為止，完全開放。",[119,221,123,223,123,228],{"className":222},[122],[125,224],{"src":225,"poster":226,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":227},"\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F04-implication.mp4","\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np\u002F04-implication-poster.jpg","兩個箭頭：上面成立、下面打叉",[132,229,230],{},"上面那個箭頭成立，下面那個不成立。這是整件事最常被誤讀的地方。",[25,232,233],{"id":233},"那為什麼還是大事",[12,235,236],{},"「既然 P 等於 NP 沒有被動到，那大家在興奮什麼？」",[12,238,239],{},"「因為它拆掉了很多人的直覺。」",[12,241,242,243,248],{},"Ryan Williams ",[61,244,247],{"href":245,"rel":246},"https:\u002F\u002Ftechcrunch.com\u002F2026\u002F10\u002F27\u002Ffrontier-ai-labs-say-their-models-refuted-the-exponential-time-hypothesis-what-does-that-mean\u002F",[65],"對媒體說","，證明的有些部分也許算例行公事，但確實有兩三個「看起來很外星人」的部分，正是這些部分讓他覺得，這是整個社群要一起處理的課題。",[12,250,251],{},"他也說了一句很誠實的話：「每一位電腦科學家大概都該把 P 等於 NP 的可能性權重調高一點，但調整多少因人而異。」",[12,253,254],{},"「所以有人檢查過了嗎？」朋友問。",[12,256,257],{},"「有，但還沒檢查完。」",[12,259,260],{},"手稿裡大約 42% 的頂層結果有 Lean 形式化。Lean 是一套能讓電腦逐步檢查證明的工具。可是電腦檢查過，不等於結論成立——它確認推導沒有漏洞，卻不能保證題目定義是大家想的那一題，也不能保證這個定理有用。",[12,262,263],{},"實際影響大概三塊。",[12,265,266],{},"第一，細粒度複雜度要重看一批論文。那些「假設 ETH 成立，則某問題不能低於某個複雜度」的條件句，前提沒了；結論不一定變假，但不能再拿來推無條件下界。",[12,268,269],{},"第二，密碼學沒有因此被破。現行系統依賴的是因數分解、離散對數、格問題這幾類特定問題，不是 3SAT 這個家族；而且這次的演算法還是指數時間。",[12,271,272],{},"第三，工程上短期完全無感。任何拿這件事說「AI 推論要變快了」的說法，都是把理論上界當成執行時間。",[25,274,275],{"id":275},"回到那個群組",[12,277,278],{},"隔天吃完午飯，朋友問我最後一個問題：「所以這是假新聞嗎？」",[12,280,281],{},"「不是。」我說，「它有真東西。錯的是把它講成『攻破 P=NP』。」",[12,283,284],{},"「那我以後要怎麼看這種新聞？」",[12,286,287],{},"我想了一下，伸出三根手指。",[12,289,290],{},"「第一，看它是宣稱還是證明。發在 GitHub 上的手稿，跟期刊論文不是同一個等級的東西——更何況 OpenAI 自己就寫了『這是原始研究資料』。",[12,292,293],{},"第二，看它形式化到哪裡。Lean 能檢查推導，但不能保證題目是大家想的那一題。",[12,295,296],{},"第三，看它推翻了什麼、又沒推翻什麼。這次推翻的是『3SAT 至少要 2 的 cn 次方』這個下界的宣稱；它沒有推翻 P 不等於 NP，也沒有給出任何能用的演算法。」",[12,298,299],{},"他聽完，把手機收起來，說了一句：「所以那則新聞，是把『距離沒那麼遠』寫成『已經到了』。」",[12,301,302],{},"對。就是這樣。",[304,305],"hr",{},[12,307,308],{},[309,310,311,312,317,318,47],"em",{},"這篇寫在 2026-10-29，學界審查還在進行中。如果後續出現獨立驗證、或證明被找出問題，我會回來更新。原始資料在 ",[61,313,316],{"href":314,"rel":315},"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fmath",[65],"openai\u002Fmath"," 的第 378 號家族；ETH 的定義與推論可以看 ",[61,319,66],{"href":63,"rel":320},[65],{"title":322,"searchDepth":323,"depth":323,"links":324},"",2,[325,326,327,328,329,330,331],{"id":27,"depth":323,"text":27},{"id":70,"depth":323,"text":70},{"id":104,"depth":323,"text":104},{"id":137,"depth":323,"text":138},{"id":189,"depth":323,"text":189},{"id":233,"depth":323,"text":233},{"id":275,"depth":323,"text":275},"\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np.svg","複雜度階梯圖，標出這次把上界從指數推到次指數，但還沒到多項式","2026-10-29","朋友在群組丟來一則新聞，問我「P=NP 是不是被攻破了」。這則新聞是真的有東西，但朋友把兩件事混在一起了：被推翻的是 ETH，不是 P=NP。而且這次改善的是「上界」，不是「我們終於有快演算法」。這篇是把話講清楚的版本。",false,"md","zh-TW",{},"\u002Fimages\u002Fblog\u002Feth-refuted-not-p-np.jpg","\u002Fblog\u002Fzh-tw\u002Feth-refuted-not-p-np",{"title":6,"description":335},"eth-refuted-not-p-np","blog\u002Fzh-TW\u002Feth-refuted-not-p-np",[346,347,348],"complexity","ai-research","mathematics",null,"NMrlp3rpEa3JWDfQNgon-vgHLEx-iVcVc5fiZjvqrAk",{"id":352,"title":353,"author":7,"body":354,"cover":664,"coverAlt":665,"date":334,"description":666,"draft":336,"extension":337,"featured":336,"lang":667,"meta":668,"navigation":129,"ogImage":669,"path":670,"seo":671,"slug":343,"stem":672,"tags":673,"translationKey":343,"updated":349,"__hash__":674},"blog\u002Fblog\u002Fen\u002Feth-refuted-not-p-np.md","My friend asked: has P=NP been broken?",{"type":9,"value":355,"toc":655},[356,359,362,365,368,372,375,378,381,384,391,394,400,407,411,414,417,420,423,429,432,439,442,446,449,456,459,468,472,479,482,485,488,491,494,497,500,503,506,509,518,522,525,532,539,542,545,548,551,554,557,560,569,573,576,579,586,589,592,595,598,601,604,607,610,614,617,620,623,626,629,632,635,638,641,643],[12,357,358],{},"On Tuesday night, a friend dropped a news screenshot into our group chat and asked: \"Does this mean P=NP has been broken?\"",[12,360,361],{},"I said: \"It's not P=NP. It's ETH.\"",[12,363,364],{},"He asked: \"Isn't that the same thing?\"",[12,366,367],{},"At that moment I didn't have a good answer. We met for lunch the next day, and I spent half an hour walking him through it. This is what I said, plus the details I filled in later from reading the original manuscripts.",[25,369,371],{"id":370},"what-actually-happened","What actually happened",[12,373,374],{},"On October 6, OpenAI put several hundred mathematical manuscripts on GitHub. On October 26 it added two more. One of them is catalogue entry 378: 〈Disproof of the Exponential Time Hypothesis〉 — the paper's own title is 〈The Exponential Time Hypothesis is False〉.",[12,376,377],{},"The repository now holds 721 manuscripts across 373 families. The family numbers skip around, so \"number 378\" does not mean there are 378 families.",[12,379,380],{},"The same day, Anthropic said its model had found the core idea independently on October 16, and described OpenAI's model as having \"independently and concurrently\" proven a similar result.",[12,382,383],{},"My friend cut in: \"So who got there first?\"",[12,385,386,387,390],{},"\"I don't know, and it doesn't matter.\" What matters, I told him, is that ",[44,388,389],{},"these are not papers yet",".",[12,392,393],{},"OpenAI says so itself in the README: these are \"raw research data, rather than polished academic papers\", and \"some of the unformalized results could have issues\". About 42% of the top-line results in the repository have Lean formalizations; entry 378 is one of them, and its core time bound has been machine-checked.",[12,395,396,397,390],{},"The academic response was not slow. Impagliazzo and Paturi (who formulated ETH in 1999; journal version 2001) and MIT's Ryan Williams formed a working group and published an open letter. They stressed one thing: ",[44,398,399],{},"involvement is not certification",[12,401,402,403,406],{},"As of October 28, ",[61,404,66],{"href":63,"rel":405},[65]," records that no independent verification had been reported.",[25,408,410],{"id":409},"start-with-sudoku","Start with Sudoku",[12,412,413],{},"To explain this properly, we have to start with something that looks unrelated: Sudoku.",[12,415,416],{},"My friend nodded. He plays Sudoku.",[12,418,419],{},"\"Imagine a filled-in grid. I show it to you, and you can check it in about ten seconds. Now imagine an empty grid. Finding that solution might take you half an hour.\"",[12,421,422],{},"That is the difference between P and NP. P is the class of problems you can solve quickly. NP is the class you can verify quickly.",[12,424,425,426],{},"And P = NP means: ",[44,427,428],{},"every answer you can verify quickly, you can also find quickly.",[12,430,431],{},"Almost everyone believes that is false, but nobody has proven it.",[12,433,434,435,438],{},"ETH is a stronger claim. It does not just say \"3SAT is not in P\". It says: ",[44,436,437],{},"there is a constant c such that 3SAT requires at least 2 to the cn steps."," 3SAT is the most standard problem in that family — like Sudoku, it is NP-complete.",[12,440,441],{},"Here is an analogy. P ≠ NP only says \"these two are not in the same place\". ETH says \"they are at least two thousand kilometers apart\" — much more information.",[25,443,445],{"id":444},"why-would-anyone-assume-such-a-thing","Why would anyone assume such a thing",[12,447,448],{},"\"What's the use of assuming something nobody has proven?\" my friend asked.",[12,450,451,452,455],{},"The use is this: ",[44,453,454],{},"if you know two places are at least two thousand kilometers apart, you can rule out anyone driving there in an hour."," A lower bound on distance eliminates an entire class of \"fast\" solutions.",[12,457,458],{},"That is how fine-grained complexity has worked for the past twenty years: assume ETH, then prove \"if this problem had a fast algorithm, 3SAT would too, contradiction\". So ETH is not a textbook term. It is the foundation under a whole shelf of papers.",[119,460,123,462,123,465],{"className":461},[122],[125,463],{"src":127,"poster":128,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":464},"Complexity ladder: polynomial, sub-exponential, exponential",[132,466,467],{},"The complexity ladder. ETH claimed the top rung could not be lower; this result pushes the upper bound down to the middle rung.",[25,469,471],{"id":470},"what-did-openai-actually-do","What did OpenAI actually do",[12,473,474,475,478],{},"Their model found an algorithm that ",[44,476,477],{},"counts"," the satisfying assignments of a logical formula — counting them, not just deciding whether one exists, which is a stronger requirement. The running time is 2 to the n divided by the square root of the natural log of n, using polynomial space.",[12,480,481],{},"My friend pointed at the expression I had scribbled on a piece of paper: \"What does that mean?\"",[12,483,484],{},"\"It means the exponent is still there, but divided by a number that grows slowly. The bigger n is, the more it gets divided.\"",[12,486,487],{},"\"So it's faster?\"",[12,489,490],{},"\"It is. But faster than what?\"",[12,492,493],{},"The best known 3SAT algorithm runs in roughly 1.307 to the n.",[12,495,496],{},"Take n = 1,000. That algorithm takes about 2 to the 386. This new one takes about 2 to the 380.",[12,498,499],{},"It is only about 60 times faster.",[12,501,502],{},"Sixty times sounds like a lot, until you notice that 2 to the 380 is still 10 to the 114. The age of the universe in seconds is only 4 × 10 to the 17.",[12,504,505],{},"The real difference appears when n gets large. Take n = 1,000,000: one is 2 to the 269,000, the other is 2 to the 386,000. The gap widens, but both remain astronomical.",[12,507,508],{},"So the point here is not \"how much faster\". It is \"faster than that lower bound\".",[119,510,123,512,123,515],{"className":511},[122],[125,513],{"src":181,"poster":182,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":514},"Magnitude comparison at n=1000: 2^386 versus 2^380",[132,516,517],{},"At n = 1,000. This is not 2^n dropping to 2^380 — it is 2^386 dropping to 2^380. Sixty times faster, still infeasible.",[25,519,521],{"id":520},"keep-upper-and-lower-bounds-straight","Keep upper and lower bounds straight",[12,523,524],{},"This is where people get confused.",[12,526,527,528,531],{},"An algorithm is an ",[44,529,530],{},"upper bound",": it tells you the most time you need to get something done.",[12,533,534,535,538],{},"ETH is a ",[44,536,537],{},"lower bound",": it says the least time anything must take.",[12,540,541],{},"This result pushes the upper bound down to sub-exponential. For large enough n, that upper bound falls below the lower bound ETH claimed — so ETH is refuted.",[12,543,544],{},"My friend asked: \"Does that work in reverse too?\"",[12,546,547],{},"\"There are two kinds of 'reverse'.\"",[12,549,550],{},"P = NP would indeed imply ETH is false — but that is just the contrapositive of the same arrow, not a new deduction.",[12,552,553],{},"What does not hold is the other reverse: from \"ETH has been refuted\" you cannot conclude \"P = NP\". That arrow fails.",[12,555,556],{},"Back to the distance analogy: everyone thought it was at least two thousand kilometers; now someone proves it is only eight hundred. The distance got shorter, but your car is still too slow to arrive within an hour.",[12,558,559],{},"So whether P equals NP remains completely open today.",[119,561,123,563,123,566],{"className":562},[122],[125,564],{"src":225,"poster":226,"autoPlay":129,"loop":129,"muted":129,"playsInline":129,"ariaLabel":565},"Two arrows: the top one holds, the bottom one is crossed out",[132,567,568],{},"The top arrow holds. The bottom one does not. This is the most commonly misread part of the story.",[25,570,572],{"id":571},"then-why-does-it-matter","Then why does it matter",[12,574,575],{},"\"If P = NP is untouched, why is everyone excited?\"",[12,577,578],{},"\"Because it knocks out a lot of intuitions.\"",[12,580,242,581,585],{},[61,582,584],{"href":245,"rel":583},[65],"told reporters"," that some parts of the proof are, you might say, routine — but there are two or three \"alien-looking\" parts, and those are exactly what make this something the whole community needs to work through.",[12,587,588],{},"He also said something honest: \"Every computer scientist should probably put a little more weight on the plausibility of P = NP, but one's weight may vary.\"",[12,590,591],{},"\"So has anyone checked it?\" my friend asked.",[12,593,594],{},"\"Yes, but they are not done.\"",[12,596,597],{},"About 42% of the top-line results carry Lean formalizations. Lean is a tool that lets a computer check a proof step by step. But a machine check is not the same as the result being true — it confirms the derivation has no gaps, not that the statement is the one everyone cares about, and not that the theorem is useful.",[12,599,600],{},"Three practical effects.",[12,602,603],{},"First, fine-grained complexity has papers to re-read. Those \"assuming ETH, problem X cannot be solved below Y\" conditionals lost their premise. The conclusions are not necessarily false, but they can no longer be used to derive unconditional lower bounds.",[12,605,606],{},"Second, cryptography is not broken. Today's systems rely on specific problems — factoring, discrete logarithms, lattices — not on the 3SAT family; and this algorithm is still exponential.",[12,608,609],{},"Third, engineering feels nothing in the short term. Anyone telling you this means \"AI inference is about to get faster\" is confusing a theoretical bound with a wall-clock time.",[25,611,613],{"id":612},"back-to-the-group-chat","Back to the group chat",[12,615,616],{},"After lunch the next day, my friend asked one last question: \"So is it fake news?\"",[12,618,619],{},"\"No,\" I said. \"There is something real in it. What's wrong is turning it into 'P=NP has fallen'.\"",[12,621,622],{},"\"How should I read stories like this in the future?\"",[12,624,625],{},"I held up three fingers.",[12,627,628],{},"\"First, is it a claim or a proof? A manuscript on GitHub is not the same class of object as a journal paper — especially when OpenAI itself writes 'this is raw research data'.",[12,630,631],{},"Second, how far did the formalization go? Lean can check a derivation, but it cannot guarantee the problem is the one everyone thinks it is.",[12,633,634],{},"Third, what does it refute, and what does it not? This refutes the claim that 3SAT requires at least 2 to the cn steps. It does not refute P ≠ NP, and it does not hand anyone a usable algorithm.\"",[12,636,637],{},"He put his phone away and said: \"So the headline turned 'not that far' into 'we're there'.\"",[12,639,640],{},"Yes. That is exactly it.",[304,642],{},[12,644,645],{},[309,646,647,648,651,652,390],{},"Written on 2026-10-29, while academic review is still in progress. If independent verification appears, or the proof is found to have problems, I will come back and update this. The source material is family 378 in ",[61,649,316],{"href":314,"rel":650},[65],"; the definition of ETH and its implications are on ",[61,653,66],{"href":63,"rel":654},[65],{"title":322,"searchDepth":323,"depth":323,"links":656},[657,658,659,660,661,662,663],{"id":370,"depth":323,"text":371},{"id":409,"depth":323,"text":410},{"id":444,"depth":323,"text":445},{"id":470,"depth":323,"text":471},{"id":520,"depth":323,"text":521},{"id":571,"depth":323,"text":572},{"id":612,"depth":323,"text":613},"\u002Fimages\u002Fblog\u002Fen\u002Feth-refuted-not-p-np.svg","A complexity ladder showing the upper bound pushed down to sub-exponential, not yet to polynomial","A friend sent me a news story and asked whether P=NP had fallen. The story is real, but it mixes up two things: it was ETH that was refuted, not P=NP. Here is the explanation I gave him.","en",{},"\u002Fimages\u002Fblog\u002Fen\u002Feth-refuted-not-p-np.jpg","\u002Fblog\u002Fen\u002Feth-refuted-not-p-np",{"title":353,"description":666},"blog\u002Fen\u002Feth-refuted-not-p-np",[346,347,348],"wq5KMOvcqergp4H5bMBJJNK9LUMe3vqhM8PeTxKhMLw",{"id":676,"company":677,"extension":688,"meta":689,"services":690,"social":768,"stem":769,"__hash__":770},"site\u002Fsite.yml",{"name":678,"nameEn":679,"email":680,"address":681,"addressEn":682,"lineUrl":683,"lineId":684,"duns":685,"youtube":686,"youtubeId":687},"銡策數位有限公司","Jecision Digital Co., Ltd.","contact@jecision.com","231 新北市新店區北新路二段 262 號 3 樓之 3","3F.-3, No. 262, Sec. 2, Beixin Rd., Xindian Dist., New Taipei City 231, Taiwan","https:\u002F\u002Fline.me\u002FR\u002Fti\u002Fp\u002F@374qnumi","@374qnumi","963905705","https:\u002F\u002Fwww.youtube.com\u002Fshorts\u002F6UE0WTmyjsg","6UE0WTmyjsg","yml",{},[691,715,741],{"key":692,"zh":693,"en":704},"audit",{"title":694,"tagline":695,"summary":696,"points":697,"deliverable":701,"detail":702,"duration":703},"企業 AI 導入健檢","先看清楚，再花錢","60 分鐘線上訪談，盤點最耗時、最依賴人力的營運環節；我們會告訴你哪些工作現在就能交給 AI、哪些還不成熟。",[698,699,700],"現況盤點：梳理日常營運中最耗時、最依賴人力的環節","痛點診斷：判斷哪些工作現在就能交給 AI，哪些建議先保留人力","可行性評估：依你的業務特性與預算，篩選適合的模型與工具","《企業 AI 導入建議報告書》（PDF）","含 1–2 個「開發成本最低、成效最明顯」的優先項目、技術棧建議、預期節省的人力時間與下一步","訪談 60 分鐘，報告書 3 個工作天內交付",{"title":705,"tagline":706,"summary":707,"points":708,"deliverable":712,"detail":713,"duration":714},"AI Readiness Audit","Look before you spend","A 60-minute remote audit of the workflows that eat the most time and people-power — and an honest answer on what AI can take over today, and what it cannot.",[709,710,711],"Audit the daily workflows that consume the most time and headcount","Triage which tasks AI can own today, and which should stay human","Shortlist the models and tools that fit your budget and constraints","AI Adoption Recommendation Report (PDF)","One or two highest-ROI entry points, a recommended tech stack, expected hours saved, and the concrete next step","60-minute call, report delivered within 3 business days",{"key":716,"zh":717,"en":728},"prompt",{"title":718,"tagline":719,"summary":720,"points":721,"deliverable":725,"detail":726,"duration":727},"提示詞工程","讓 AI 穩定產出，而不是碰運氣","針對你的實際任務設計提示詞與多步驟工作流，並做極限測試，確保換了資料、換了人操作也不會走鐘。",[722,723,724],"客製提示詞：ChatGPT、Claude、Gemini、Midjourney 等主流工具的專屬模板","除錯與優化：修掉幻覺、格式跑掉、時好時壞的問題","工作流建置：把複雜任務拆成多步驟提示詞與可重複的 SOP","提示詞文件或設定檔","附使用說明與範例，並提供 1 對 1 教學，確保你與團隊能自己維護","依任務複雜度報價，通常 3–7 個工作天",{"title":729,"tagline":730,"summary":731,"points":732,"deliverable":738,"detail":739,"duration":740},"Prompt Engineering","Make AI produce reliably, not by luck","Prompt sets and multi-step workflows designed for your actual tasks, stress-tested so they keep working when the data or the operator changes.",[733,734,736],"Custom prompts for ChatGPT, Claude, Gemini, Midjourney and friends",{"Debugging and tuning":735},"kill hallucinations, broken formats and flaky output",{"Workflow design":737},"break complex work into repeatable multi-step SOPs","Prompt library or exportable config","Ships with usage notes and examples, plus a 1:1 walkthrough so your team can maintain it","Quoted by complexity, typically 3–7 business days",{"key":742,"zh":743,"en":754},"poc",{"title":744,"tagline":745,"summary":746,"points":747,"deliverable":751,"detail":752,"duration":753},"極速 PoC","五天，看到能跑的東西","不談架構藍圖，直接做一個能動的雛形。五個工作天內交付線上可操作的智能體，用你真實的資料驗證。",[748,749,750],"Day 1：15 分鐘對焦，鎖定單一痛點與資料盤點","Day 2–4：模型串接、邏輯設計與雛形開發","Day 5：Demo 展示與 AI 擴展建議書","可線上操作的智能體雛形","交付範圍為概念驗證與展示，不含後續維運或大規模伺服器部署；要進階成完整系統會另行報價","5 個工作天",{"title":755,"tagline":756,"summary":757,"points":758,"deliverable":765,"detail":766,"duration":767},"Rapid PoC","Five days to something that runs","No architecture decks — a working prototype built in five business days, validated against your real data.",[759,761,763],{"Day 1":760},"15-minute scoping call, one pain point, data inventory",{"Day 2–4":762},"model integration, logic design, prototype build",{"Day 5":764},"live demo plus an AI expansion recommendation","A runnable online agent prototype","Proof of concept and demo scope only; ongoing operations and large-scale deployment are quoted separately","5 business days",[],"site","XTwARfVAOcrXNiKehsM6V6cdkd2HXy4d5yZVrSWrI3Q",[772,1638],{"id":773,"title":774,"author":7,"body":775,"cover":1623,"coverAlt":1624,"date":1625,"description":1626,"draft":336,"extension":337,"featured":336,"lang":667,"meta":1627,"navigation":129,"ogImage":1628,"path":1629,"seo":1630,"slug":1631,"stem":1632,"tags":1633,"translationKey":1631,"updated":349,"__hash__":1637},"blog\u002Fblog\u002Fen\u002Flogic-folding-fpga-cgra.md","An exit from the FPGA dead end",{"type":9,"value":776,"toc":1610},[777,783,787,790,793,799,802,806,809,831,834,838,841,900,903,942,951,954,958,961,979,989,1001,1013,1017,1020,1026,1032,1038,1044,1051,1055,1058,1064,1070,1076,1088,1091,1095,1149,1153,1156,1354,1357,1407,1410,1413,1416,1488,1491,1495,1547,1550,1554,1560,1566,1572,1578,1582,1589,1595,1601,1607],[778,779,780],"blockquote",{},[12,781,782],{},"No benchmarks of our own here. Facts that have happened are linked. Forecasts and probabilities are our judgment, and we label them. We are optimistic about this direction, and we write down what would have to be true for it to hold.",[25,784,786],{"id":785},"the-short-answer","The short answer",[12,788,789],{},"In September 2026, the Kirin 2026 shipped. It is the first SoC in volume production with logic folding, and after teardown the numbers are: density up from 155 to 238 MTr\u002Fmm² (+55%), and at equal performance, NPU power down 66% and the CPU prime core down 41%.",[12,791,792],{},"This is not a roadmap. It is a phone chip already in people's hands.",[12,794,795,796],{},"So the real question is not whether Huawei can do it. It is: ",[44,797,798],{},"can the same lever pull FPGA and CGRA out of a twenty-year dead end?",[12,800,801],{},"Our answer: it looks promising. Not because the numbers got bigger, but because it loosens three constraints at once — and those three are exactly where AI hurts most.",[25,803,805],{"id":804},"the-dead-end-what-the-fpga-is-stuck-on","The dead end: what the FPGA is stuck on",[12,807,808],{},"The FPGA is not weak. Three structural problems keep it at glue and prototypes:",[810,811,812,819,825],"ol",{},[813,814,815,818],"li",{},[44,816,817],{},"Area."," Configuration SRAM and programmable switches eat a large share of the die. The same function is an order of magnitude bigger than in an ASIC.",[813,820,821,824],{},[44,822,823],{},"The memory wall."," Programmable fabric cannot reach HBM-class bandwidth, so it hangs off external DRAM. Once inference moves to large models, it loses on data movement first.",[813,826,827,830],{},[44,828,829],{},"Staticity."," Weights and routing are fixed at synthesis time. Change the model and you run the whole toolchain again. In an era when models are revised every quarter, that is the largest cost of all.",[12,832,833],{},"The third is discussed least, and it is where the FPGA should be winning in AI. The hardware just was never fast or cheap enough to change.",[25,835,837],{"id":836},"folding-hands-over-three-keys","Folding hands over three keys",[12,839,840],{},"In 2026, logic folding means two different things, and they unlock different locks:",[842,843,844,857],"table",{},[845,846,847],"thead",{},[848,849,850,854],"tr",{},[851,852,853],"th",{},"Huawei LogicFolding (folds Z)",[851,855,856],{},"Academic temporal logic folding (folds T)",[858,859,860,874,887],"tbody",{},[848,861,862,869],{},[863,864,865,868],"td",{},[44,866,867],{},"How:"," one logic block split across two dies, bonded face to face",[863,870,871,873],{},[44,872,867],{}," the same LUTs reconfigured every few cycles",[848,875,876,882],{},[863,877,878,881],{},[44,879,880],{},"Unlocks:"," density, frequency, shorter paths",[863,883,884,886],{},[44,885,880],{}," area out of time; reconfiguration as the norm",[848,888,889,895],{},[863,890,891,894],{},[44,892,893],{},"Evidence:"," Kirin 2026 (in production)",[863,896,897,899],{},[44,898,893],{}," NATURE\u002FNanoMap, Tabula Spacetime",[12,901,902],{},"The three keys map onto the three problems:",[904,905,906,918,930],"ul",{},[813,907,908,911,912,917],{},[44,909,910],{},"Density."," Move configuration memory out of the logic layer (",[61,913,916],{"href":914,"rel":915},"https:\u002F\u002Fdoi.org\u002F10.1109\u002FDAC63849.2025.11132615",[65],"M3D FPGA, DAC 2025",") and the area tax finally gets a discount.",[813,919,920,923,924,929],{},[44,921,922],{},"Bandwidth."," Bond SRAM or DRAM on top. A 28nm 3D logic-on-SRAM CGRA has already shown ",[61,925,928],{"href":926,"rel":927},"https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F11509617",[65],"4TB\u002Fs of vertical bandwidth",", on 51.19mm² at 1GHz and 0.9V.",[813,931,932,935,936,941],{},[44,933,934],{},"Reconfiguration speed."," Hybrid bonding brings reprogramming latency below 10ns (",[61,937,940],{"href":938,"rel":939},"https:\u002F\u002Fdoi.org\u002F10.1145\u002F3748173.3779206",[65],"vFPGA, 2026","). Temporal folding becomes affordable for the first time.",[12,943,944,945,950],{},"One more: face-to-face bonding shortens wires. ",[61,946,949],{"href":947,"rel":948},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.05579",[65],"LaZagna (ICCAD 2025)"," measured up to 6.7% critical path reduction and 22.9% less wirelength in VTR simulation.",[12,952,953],{},"None of these is a revolution on its own. Together, they are the first chance in twenty years to push all three taxes down at the same time.",[25,955,957],{"id":956},"what-has-already-happened-not-what-is-forecast","What has already happened, not what is forecast",[12,959,960],{},"Everything in this section is checkable. That matters, because it moves folding from papers to products.",[12,962,963,966,967,972,973,978],{},[44,964,965],{},"Density and power."," Against the previous planar Kirin 9030 Pro: +55% density, and at equal performance NPU power down 66% and the CPU prime core down 41%, with ",[61,968,971],{"href":969,"rel":970},"https:\u002F\u002Fwww.ithome.com\u002F0\u002F998\u002F598.htm",[65],"GPU figures reported between 45% and 58%",". ",[61,974,977],{"href":975,"rel":976},"https:\u002F\u002Fm.cena.com.cn\u002Fsemi\u002F20261021\u002F129796.html",[65],"Huawei's explanation",": most of a chip's energy goes into moving data along metal wires. Folding shortens those wires and cuts interconnect capacitance, so equal performance can be had at lower frequency and voltage.",[12,980,981,984,985,390],{},[44,982,983],{},"More surgical than expected."," Huawei calls it selective folding: only critical paths and critical timing get folded. Thermal-aware placement interleaves hot and cool circuits so hotspots do not stack vertically. Vertical interconnects already exceed 100 million, with a ",[61,986,988],{"href":969,"rel":987},[65],"three-year target of 720nm top-metal pitch and over 200 million interconnects",[12,990,991,994,995,1000],{},[44,992,993],{},"Process is no longer the excuse."," SMIC's N+3 has entered 5nm-class volume production (",[61,996,999],{"href":997,"rel":998},"https:\u002F\u002Fwww.techpowerup.com\u002F344000\u002Fchinese-smic-achieves-5-nm-production-on-n-3-node-without-euv-tools",[65],"TechPowerUp","). Folding is not a substitute for missing process technology, then, but an architectural option worth taking even when the process is there. That changes the nature of the argument.",[12,1002,1003,1006,1007,1012],{},[44,1004,1005],{},"The official roadmap puts it in AI accelerators."," Per the V2 Tau paper, Ascend 910C in 2025 and 950 in 2026 still use chiplets and 2.5D; ",[61,1008,1011],{"href":1009,"rel":1010},"https:\u002F\u002Fwww.trendforce.com\u002Fnews\u002F2026\u002F07\u002F06\u002Fnews-huawei-expands-tau-scaling-law-v2-paper-highlighting-logicfolding-path-to-ascend-ai-chips-around-2030\u002F",[65],"around 2030, Ascend 990 brings logic folding into AI accelerators",", and from then on 3D folding carries the main line.",[25,1014,1016],{"id":1015},"looking-forward-what-folding-actually-unlocks","Looking forward: what folding actually unlocks",[12,1018,1019],{},"If folding holds up, the FPGA's role in inference moves from glue to reconfigurable inference engine. Four things become practical:",[12,1021,1022,1025],{},[44,1023,1024],{},"One: continual learning."," Weights and routing update with the data, without taping out for every model version. This is the ASIC's structural weakness: change the model and it is obsolete.",[12,1027,1028,1031],{},[44,1029,1030],{},"Two: dynamic routing."," MoE expert routing is, at heart, \"each token takes a different path\". Making that reconfigurable in hardware is cheaper than simulating it with caches in software. Routing is what FPGAs and CGRAs already do.",[12,1033,1034,1037],{},[44,1035,1036],{},"Three: dynamic weights and precision."," One chip can run INT4 today and FP8 tomorrow, or change where KV lives when the context gets long. GPUs schedule this in software; reconfigurable hardware can change the circuit.",[12,1039,1040,1043],{},[44,1041,1042],{},"Four: edge and field."," Sites that cannot reach the network, cannot afford a loud fan, cannot risk a supply cut — they need something buyable, changeable and supported for ten years. GPUs cannot go there and ASIC volumes cannot sustain it.",[12,1045,1046,1047,1050],{},"Put those together and the conclusion is different from the usual one: ",[44,1048,1049],{},"the FPGA does not sell compute. It sells the ability to face uncertainty."," And the next stretch of AI is full of it.",[25,1052,1054],{"id":1053},"careful-though-four-things-still-missing","Careful, though: four things still missing",[12,1056,1057],{},"Optimism is not blindness. If these four are not solved, folding stays a nice prototype.",[12,1059,1060,1063],{},[44,1061,1062],{},"One: the 2026 implementation is conservative."," Kirin uses micro-bumps and standard-pitch bonding, not the finest pitch, and TSV keep-out zones still displace standard cells. The real density dividend waits for finer pitch.",[12,1065,1066,1069],{},[44,1067,1068],{},"Two: the toolchain."," 3D demands cross-die place-and-route, timing, thermal and signal-integrity signoff, with all stacked dies treated as one continuous design entity. For an FPGA that means rewriting the whole compile flow. This is harder than bonding wafers.",[12,1071,1072,1075],{},[44,1073,1074],{},"Three: heat and yield."," Two active logic layers double power density. Huawei proved with a phone that \"denser does not mean hotter\", but FPGAs live in fanless, industrial and base-station environments where the test is ten-year reliability, not a benchmark.",[12,1077,1078,1081,1082,1087],{},[44,1079,1080],{},"Four: cost."," Even HBM4 is still ",[61,1083,1086],{"href":1084,"rel":1085},"https:\u002F\u002Ftechnews.tw\u002Fai-agent\u002Fhuaweis-chip-law-looks-less-like-moore-and-more-like-marketing\u002F11265\u002F",[65],"hesitating"," on hybrid bonding. Yields multiply, costs add, and nobody has said who pays the premium.",[12,1089,1090],{},"These are not reasons to dismiss it. They are the list of what \"it works\" would have to mean.",[25,1092,1094],{"id":1093},"checkpoints-what-to-watch-over-the-next-three-years","Checkpoints: what to watch over the next three years",[842,1096,1097,1107],{},[845,1098,1099],{},[848,1100,1101,1104],{},[851,1102,1103],{},"Signal",[851,1105,1106],{},"Why it matters",[858,1108,1109,1117,1125,1133,1141],{},[848,1110,1111,1114],{},[863,1112,1113],{},"Bonding pitch below 720nm, interconnects past 200 million",[863,1115,1116],{},"Whether the density dividend continues",[848,1118,1119,1122],{},[863,1120,1121],{},"Ascend 990 ships folding before 2030",[863,1123,1124],{},"Real adoption in AI accelerators, not just phones",[848,1126,1127,1130],{},[863,1128,1129],{},"A commercial 3D logic-on-logic FPGA",[863,1131,1132],{},"From \"Huawei's SoC\" to \"the industry's option\"",[848,1134,1135,1138],{},[863,1136,1137],{},"3D-aware EDA and compilers push utilisation up",[863,1139,1140],{},"Without tools, the hardware is a sample",[848,1142,1143,1146],{},[863,1144,1145],{},"Edge tokens\u002FJ clearly ahead of a 2026 GPU",[863,1147,1148],{},"Commercial value has to land on inference per watt",[25,1150,1152],{"id":1151},"the-optimistic-2030-case","The optimistic 2030 case",[12,1154,1155],{},"Decode speed follows one relation:",[1157,1158,1161],"span",{"className":1159},[1160],"katex-display",[1157,1162,1165,1210],{"className":1163},[1164],"katex",[1157,1166,1169],{"className":1167},[1168],"katex-mathml",[1170,1171,1174],"math",{"xmlns":1172,"display":1173},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML","block",[1175,1176,1177,1205],"semantics",{},[1178,1179,1180,1184,1188],"mrow",{},[1181,1182,1183],"mtext",{},"tokens\u002Fs",[1185,1186,1187],"mo",{},"≈",[1189,1190,1191,1202],"mfrac",{},[1178,1192,1193,1196,1199],{},[1181,1194,1195],{},"memory bandwidth",[1185,1197,1198],{},"×",[1181,1200,1201],{},"efficiency",[1181,1203,1204],{},"bytes of weights read per token",[1206,1207,1209],"annotation",{"encoding":1208},"application\u002Fx-tex","\\text{tokens\u002Fs} \\approx \\frac{\\text{memory bandwidth} \\times \\text{efficiency}}{\\text{bytes of weights read per token}}",[1157,1211,1215,1244],{"className":1212,"ariaHidden":1214},[1213],"katex-html","true",[1157,1216,1219,1224,1232,1237,1241],{"className":1217},[1218],"base",[1157,1220],{"className":1221,"style":1223},[1222],"strut","height:1em;vertical-align:-0.25em;",[1157,1225,1229],{"className":1226},[1227,1228],"mord","text",[1157,1230,1183],{"className":1231},[1227],[1157,1233],{"className":1234,"style":1236},[1235],"mspace","margin-right:0.2778em;",[1157,1238,1187],{"className":1239},[1240],"mrel",[1157,1242],{"className":1243,"style":1236},[1235],[1157,1245,1247,1251],{"className":1246},[1218],[1157,1248],{"className":1249,"style":1250},[1222],"height:2.2519em;vertical-align:-0.8804em;",[1157,1252,1254,1259,1350],{"className":1253},[1227],[1157,1255],{"className":1256},[1257,1258],"mopen","nulldelimiter",[1157,1260,1262],{"className":1261},[1189],[1157,1263,1267,1341],{"className":1264},[1265,1266],"vlist-t","vlist-t2",[1157,1268,1271,1336],{"className":1269},[1270],"vlist-r",[1157,1272,1276,1293,1304],{"className":1273,"style":1275},[1274],"vlist","height:1.3714em;",[1157,1277,1279,1284],{"style":1278},"top:-2.314em;",[1157,1280],{"className":1281,"style":1283},[1282],"pstrut","height:3em;",[1157,1285,1287],{"className":1286},[1227],[1157,1288,1290],{"className":1289},[1227,1228],[1157,1291,1204],{"className":1292},[1227],[1157,1294,1296,1299],{"style":1295},"top:-3.23em;",[1157,1297],{"className":1298,"style":1283},[1282],[1157,1300],{"className":1301,"style":1303},[1302],"frac-line","border-bottom-width:0.04em;",[1157,1305,1307,1310],{"style":1306},"top:-3.677em;",[1157,1308],{"className":1309,"style":1283},[1282],[1157,1311,1313,1319,1323,1327,1330],{"className":1312},[1227],[1157,1314,1316],{"className":1315},[1227,1228],[1157,1317,1195],{"className":1318},[1227],[1157,1320],{"className":1321,"style":1322},[1235],"margin-right:0.2222em;",[1157,1324,1198],{"className":1325},[1326],"mbin",[1157,1328],{"className":1329,"style":1322},[1235],[1157,1331,1333],{"className":1332},[1227,1228],[1157,1334,1201],{"className":1335},[1227],[1157,1337,1340],{"className":1338},[1339],"vlist-s","​",[1157,1342,1344],{"className":1343},[1270],[1157,1345,1348],{"className":1346,"style":1347},[1274],"height:0.8804em;",[1157,1349],{},[1157,1351],{"className":1352},[1353,1258],"mclose",[12,1355,1356],{},"For a 7B model at INT4, batch 1, efficiency 0.6 (weights about 3.5 GB):",[842,1358,1359,1372],{},[845,1360,1361],{},[848,1362,1363,1366,1369],{},[851,1364,1365],{},"Machine",[851,1367,1368],{},"Bandwidth",[851,1370,1371],{},"Tokens\u002Fs",[858,1373,1374,1385,1396],{},[848,1375,1376,1379,1382],{},[863,1377,1378],{},"2026 edge FPGA (LPDDR5)",[863,1380,1381],{},"25 GB\u002Fs",[863,1383,1384],{},"≈ 4",[848,1386,1387,1390,1393],{},[863,1388,1389],{},"2030 3D FPGA (3D DRAM)",[863,1391,1392],{},"2 TB\u002Fs",[863,1394,1395],{},"≈ 340",[848,1397,1398,1401,1404],{},[863,1399,1400],{},"2030 GPU (HBM4)",[863,1402,1403],{},"8 TB\u002Fs",[863,1405,1406],{},"≈ 1,370",[12,1408,1409],{},"Four to 340 is 85×. That 85× crosses two product classes and is not a like-for-like comparison.",[12,1411,1412],{},"Against a GPU of the same year, the 3D FPGA is still about four times slower. But that comparison only decides the outcome for large models, batched, bandwidth-bound. For latency-sensitive, fragmented, tokens-per-watt-constrained work, the baseline changes and so does the answer.",[12,1414,1415],{},"Relative to a comparable 2026 FPGA, our estimate is:",[842,1417,1418,1431],{},[845,1419,1420],{},[848,1421,1422,1425,1428],{},[851,1423,1424],{},"Multiplier",[851,1426,1427],{},"Probability",[851,1429,1430],{},"Scenario",[858,1432,1433,1444,1455,1466,1477],{},[848,1434,1435,1438,1441],{},[863,1436,1437],{},"\u003C3×",[863,1439,1440],{},"15%",[863,1442,1443],{},"Two-tier logic only, memory unchanged",[848,1445,1446,1449,1452],{},[863,1447,1448],{},"3–10×",[863,1450,1451],{},"25%",[863,1453,1454],{},"3D DRAM arrives, compilers stay weak",[848,1456,1457,1460,1463],{},[863,1458,1459],{},"10–30×",[863,1461,1462],{},"35%",[863,1464,1465],{},"Logic, memory and toolchain all land together",[848,1467,1468,1471,1474],{},[863,1469,1470],{},"30–80×",[863,1472,1473],{},"20%",[863,1475,1476],{},"Narrow gate: ≤3B models, all-SRAM, edge to edge",[848,1478,1479,1482,1485],{},[863,1480,1481],{},">80×",[863,1483,1484],{},"5%",[863,1486,1487],{},"Requires compute-in-memory or analog — or a rigged baseline",[12,1489,1490],{},"Median around 15×, expectation around 22×. These numbers are more optimistic than our earlier version, because Kirin already delivered density and power at the same time. That was the hardest of the three keys.",[25,1492,1494],{"id":1493},"our-read","Our read",[842,1496,1497,1506],{},[845,1498,1499],{},[848,1500,1501,1504],{},[851,1502,1503],{},"Scenario over five years",[851,1505,1427],{},[858,1507,1508,1516,1524,1532,1539],{},[848,1509,1510,1513],{},[863,1511,1512],{},"Folding becomes the standard microarchitecture of at least one flagship FPGA",[863,1514,1515],{},"60%",[848,1517,1518,1521],{},[863,1519,1520],{},"China's 3D path lands in AI accelerators (Ascend 990 on schedule)",[863,1522,1523],{},"65%",[848,1525,1526,1529],{},[863,1527,1528],{},"FPGA\u002FCGRA takes meaningful share of edge inference",[863,1530,1531],{},"40%",[848,1533,1534,1537],{},[863,1535,1536],{},"A new company built around folding reaches $1B annual revenue",[863,1538,1440],{},[848,1540,1541,1544],{},[863,1542,1543],{},"Folding lets FPGAs take part of data-center inference from GPUs",[863,1545,1546],{},"10%",[12,1548,1549],{},"These are judgments, not a model. Their common premise is that toolchains catch up with hardware by 2028. If they do not, everything above comes down.",[25,1551,1553],{"id":1552},"limits","Limits",[12,1555,1556,1559],{},[44,1557,1558],{},"We have no measurements."," Every number comes from public reporting, papers or vendors; the Kirin power figures are Huawei's own measurements.",[12,1561,1562,1565],{},[44,1563,1564],{},"The optimism has a source, and a bias."," Kirin is one data point, tuned under phone power budgets and selective folding. Move to a 600mm² FPGA and the heat and yield arithmetic has to be redone.",[12,1567,1568,1571],{},[44,1569,1570],{},"The probabilities are ours."," No statistical model stands behind them. Treat them as a view.",[12,1573,1574,1577],{},[44,1575,1576],{},"The forecast rests on three assumptions."," Hybrid bonding yield and cost land by 2030, 3D-aware toolchains mature, and 2030 GPUs do not improve faster than expected.",[25,1579,1581],{"id":1580},"if-youre-placing-a-bet","If you're placing a bet",[12,1583,1584,1585,390],{},"Three questions beat memorising any number here. They are also the first three we ask in a ",[61,1586,1588],{"href":1587},"\u002Fservices","proof of concept",[12,1590,1591,1594],{},[44,1592,1593],{},"Will your model keep changing?"," If yes, reconfigurable value holds. If it is settled and volumes are large, tape out an ASIC.",[12,1596,1597,1600],{},[44,1598,1599],{},"Is your bottleneck bandwidth or latency?"," For large-model batched inference, bandwidth decides and the FPGA does not win. Latency, offline, tokens per watt — that is its ground.",[12,1602,1603,1606],{},[44,1604,1605],{},"Is your baseline a die or a board?"," If you compete against 2–4 discrete parts and a PCB, folding has an account to settle.",[12,1608,1609],{},"As for betting now: hardware bets are usually lost to being early, not to being late. But this one is worth putting on the 2027 options list.",{"title":322,"searchDepth":323,"depth":323,"links":1611},[1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622],{"id":785,"depth":323,"text":786},{"id":804,"depth":323,"text":805},{"id":836,"depth":323,"text":837},{"id":956,"depth":323,"text":957},{"id":1015,"depth":323,"text":1016},{"id":1053,"depth":323,"text":1054},{"id":1093,"depth":323,"text":1094},{"id":1151,"depth":323,"text":1152},{"id":1493,"depth":323,"text":1494},{"id":1552,"depth":323,"text":1553},{"id":1580,"depth":323,"text":1581},"\u002Fimages\u002Fblog\u002Fen\u002Flogic-folding-fpga-cgra.svg","A logic block split across two stacked dies, bonded face to face","2026-10-25","Kirin 2026 already ships logic folding: +55% density, much lower power. Can the same lever pull FPGA and CGRA out of a twenty-year dead end? What it unlocks, what is missing, and what to watch.",{},"\u002Fimages\u002Fblog\u002Fen\u002Flogic-folding-fpga-cgra.jpg","\u002Fblog\u002Fen\u002Flogic-folding-fpga-cgra",{"title":774,"description":1626},"logic-folding-fpga-cgra","blog\u002Fen\u002Flogic-folding-fpga-cgra",[1634,1635,1636],"fpga","cgra","hardware","jlWz0UYPuCakec4aqQT3zgpiWnPWq3FLZBFIh6JXeU8",{"id":1639,"title":1640,"author":7,"body":1641,"cover":1837,"coverAlt":1838,"date":1839,"description":1840,"draft":336,"extension":337,"featured":129,"lang":667,"meta":1841,"navigation":129,"ogImage":1842,"path":1843,"seo":1844,"slug":1845,"stem":1846,"tags":1847,"translationKey":1845,"updated":349,"__hash__":1851},"blog\u002Fblog\u002Fen\u002Fhello-jecision.md","Moving the blog off a domain nobody could find",{"type":9,"value":1642,"toc":1829},[1643,1647,1650,1670,1676,1680,1683,1698,1705,1709,1730,1748,1754,1758,1764,1774,1787,1791,1816,1820,1826],[25,1644,1646],{"id":1645},"it-started-with-one-line-of-source-code","It started with one line of source code",[12,1648,1649],{},"I was sending an old article to a colleague, so I grabbed the page source, and stopped.",[12,1651,1652,1653,1657,1658,1661,1662,1665,1666,1669],{},"No ",[1654,1655,1656],"code",{},"lang"," on ",[1654,1659,1660],{},"\u003Chtml>",". No ",[1654,1663,1664],{},"\u003Ctitle>",". No description, no Open Graph, no canonical, not a single line of JSON-LD. The math was worse: the source contained the literal string ",[1654,1667,1668],{},"\\operatorname{Attention}",", and only became typeset once JavaScript finished running.",[12,1671,1672,1673],{},"Which means: ",[44,1674,1675],{},"to a search engine, that article never existed.",[25,1677,1679],{"id":1678},"how-it-got-that-way","How it got that way",[12,1681,1682],{},"Not carelessness — we used the tool harder than it was designed to be used.",[12,1684,1685,1686,1689,1690,1693,1694,1697],{},"To make formulas render, we wrapped LaTeX in ",[1654,1687,1688],{},"\u003Cdiv class=\"latex-block\">"," and replaced its ",[1654,1691,1692],{},"textContent"," with KaTeX output inside ",[1654,1695,1696],{},"onMounted",". It looked perfect in the browser, so nobody questioned it.",[12,1699,1700,1701,1704],{},"The problem is that this couples two things: the content only exists after JavaScript runs, while SEO needs content that exists ",[309,1702,1703],{},"before"," it does.",[25,1706,1708],{"id":1707},"three-decisions","Three decisions",[12,1710,1711,1714,1715,1718,1719,1722,1723,1718,1726,1729],{},[44,1712,1713],{},"Move the content, not the layout."," All 12 articles were converted to ",[1654,1716,1717],{},"$...$"," and ",[1654,1720,1721],{},"$$...$$",", handled by ",[1654,1724,1725],{},"remark-math",[1654,1727,1728],{},"rehype-katex"," at build time. Math is now part of the HTML.",[12,1731,1732,1735,1736,1739,1740,1743,1744,1747],{},[44,1733,1734],{},"Let data decide the URL, not the filename."," The old filenames looked like ",[1654,1737,1738],{},"2604.04921v1.md",", and the resulting URL was ",[1654,1741,1742],{},"\u002Fen\u002Fblog\u002F04921v1"," — the numeric prefix silently vanished. Now a ",[1654,1745,1746],{},"slug"," field in frontmatter owns the URL.",[12,1749,1750,1753],{},[44,1751,1752],{},"Not a single old URL may break."," 28 redirects, including trailing-slash variants.",[25,1755,1757],{"id":1756},"three-bugs-that-almost-broke-the-launch","Three bugs that almost broke the launch",[12,1759,1760,1763],{},[44,1761,1762],{},"The eaten slug."," Discovered by fetching the live page, not by reading the code. Had we skipped that, we would have assumed a move is just copying files.",[12,1765,1766,1769,1770,1773],{},[44,1767,1768],{},"hreflang pointing at 404s."," The i18n module generates alternates for every locale, but a Chinese-only article has no English version. ",[1654,1771,1772],{},"nuxt generate"," failed with \"Article not found, linked from \u002Fblog\u002Fxxx\". The fix was not to disable the check, but to let each page declare which locales actually exist.",[12,1775,1776,1782,1783,1786],{},[44,1777,1778,1781],{},[1654,1779,1780],{},"\u002Fsitemap.xml"," was HTML."," The build succeeded, the file existed, it had content — but it was a ",[1654,1784,1785],{},"\u003Cmeta http-equiv=\"refresh\">"," shim, not XML. Google would reject it outright. A post-build step now writes the sitemap index into that path.",[25,1788,1790],{"id":1789},"where-we-are","Where we are",[904,1792,1793,1796,1803,1810],{},[813,1794,1795],{},"Math is typeset server-side, with MathML in the markup",[813,1797,1798,1799,1802],{},"Every page has title, description, canonical, hreflang, OG; articles carry ",[1654,1800,1801],{},"BlogPosting"," structured data",[813,1804,1805,1806,1809],{},"RSS, ",[1654,1807,1808],{},"llms.txt",", sitemap and redirects all in place",[813,1811,1812,1813,1815],{},"An ",[1654,1814,692],{}," script checks 25 pages for SEO regressions and broken links on every build: currently 0 errors, 0 warnings",[25,1817,1819],{"id":1818},"the-one-line-takeaway","The one-line takeaway",[12,1821,1822,1823,390],{},"Most of the work in a migration is not moving things — it is ",[44,1824,1825],{},"proving the things arrived",[12,1827,1828],{},"So we turned \"should be there\" into a check that runs on every build. People forget; scripts do not.",{"title":322,"searchDepth":323,"depth":323,"links":1830},[1831,1832,1833,1834,1835,1836],{"id":1645,"depth":323,"text":1646},{"id":1678,"depth":323,"text":1679},{"id":1707,"depth":323,"text":1708},{"id":1756,"depth":323,"text":1757},{"id":1789,"depth":323,"text":1790},{"id":1818,"depth":323,"text":1819},"\u002Fimages\u002Fblog\u002Fhello-jecision.svg","Diagram of moving from a temporary domain to the brand domain","2026-10-23","The old site shipped every article with no title tag, description or canonical URL — and LaTeX that only appeared after JavaScript ran. Here is the move, and the three bugs that almost broke it.",{},"\u002Fimages\u002Fblog\u002Fhello-jecision.jpg","\u002Fblog\u002Fen\u002Fhello-jecision",{"title":1640,"description":1840},"hello-jecision","blog\u002Fen\u002Fhello-jecision",[1848,1849,1850],"nuxt","seo","refactor","PlVBD_RgdHCXJkT3ukEiEkY-5EE2a1TcCkXiLDn5R7M",1793255766146]