轉載自公眾平臺:量子位
明敏 Alex 發自 凹非寺
量子位 | 公眾號 QbitAI
高能物理先進計算必備程序之一,快要沒人維護了。
隨著唯一的長期維護者達到73歲高齡,計算系統FORM的命運開始變得撲朔迷離起來。
過去30多年,這個程序被視為粒子物理學研究的基礎工具之一,可計算伽馬矩陣、并行計算、模式匹配等。
計算費曼圖的軟件包FormCalc也是在它的基礎上實現。
要知道,費曼圖能夠用圖像描述大型粒子對撞機中粒子碰撞的可能結果,號稱“有助于幫助改變物理學家看世界的方式”。
除此之外,高階QCD(量子色動力學) β函數、多重Zeta數值(MZV)的數學結構研究等也都用到了FORM。
甚至在它誕生十數年后,仍舊有大量前沿研究依賴于它。
自2000年以來,平均每隔幾天就有一篇基于FORM的粒子物理學論文被發表。
但這樣重要的計算程序,現在卻只靠一位73歲的退休人員維護——其開發者荷蘭粒子物理學家喬斯·維馬塞倫(Jos Vermaseren)。
如今,隨著老爺子年事已高,其后繼維護者還沒找到。
而完全能頂替它的程序似乎還沒有出現,盡管Mathematica也能計算,但是速度上完全無法與之相比。
靠硬盤空間求解超長公式
簡單理解,FORM是一個可以進行符號運算的程序。
相較于更通用的Mathematica,它更專注于大規模處理符號表達式。
但本質上FORM還是數學代數系統,具體的操作過程大概是醬嬸的:
設定函數 f 中,在 x 之前如果出現任何參數,都將它們進行調換。
Symbol x;
Local E = f(1,2,x,3,4);
id f(?a,x,?b) = f(?b,?a);
Print;
.end
那么FORM輸出的結果將會是:F=f(3,4,1,2)。
它主要有兩方面特點:
第一、計算快。
FORM建立了一些專業算法,比如能將費曼圖中的某些部分快速相乘;通過重新排列方程減少相乘、相加步驟。
第二、能處理超級大的方程式。
只要硬盤空間夠大,多長都能算。
這正是FORM最特別的地方。
計算機的存儲模式可分為兩種。其一是主存,這里常說的是RAM(隨機存儲器)。它是電腦系統中最重要的存儲器,能和CPU直接交換數據,隨時讀寫、速度很快,但存儲空間非常有限。另一種是外存,也就是硬盤、固態硬盤、磁盤等。它們的優點是容量大,但計算速度慢。
比如一臺筆記本的內存只有16GB,但是存儲空間可以到2TB。
如果想要求解超復雜的物理方程式,那必須要依靠主存。
但問題是,這么小的容量空間,根本無法處理超長公式。更何況FORM生于80年代,那個時候的主存容量就更小了。
FORM選擇了一個巧妙的方法——把硬盤當成主存來用。
通過將主存和硬盤空間“分頁”處理,然后將方程式放入到不同的“頁”上,并且為每一個項都固定一個存儲位置,程序運行時就能快速找到各個項的位置將其帶回真正的主存,而不必訪問其他的項。
這樣做的好處是在擴大主存的同時,還繞開了低效的內存交換操作,可以快速計算復雜龐大的方程式。
憑借著這一特點,FORM自誕生后便成為了粒子物理學中的關鍵工具之一。
即便放到現在FORM也依舊至關重要——畢竟計算存儲發展的速度,怎么也追不上物理學方程式加長的速度……
在FORM的GitHub主頁上也寫著:
FORM是高能物理領域中許多最先進計算的必備工具。
值得一提的是,FORM并不能被視為CAS的加強版,它們的編程邏輯并不相同。
上手FORM可能需要一點門檻,但只要跨過去,就是打開一番新天地了。FORM和CAS配合使用可以解決數學、物理中諸多難以計算的復雜問題。
蘇黎世大學教授托馬斯?格爾曼(thames Gehrmann)表示,自己的課題組在過去20年中取得的大多數高精度結果,很大程度上都依賴于FORM。
高能物理學助理教授馬特·馮·希佩爾(Matt von Hippel)在Quantamagazine的文章中也提到,自己的一位同事前不久才使用FORM將一項計算的精度推到新高度。
被重視程度卻遠遠不夠
但和想象中不同,這樣一個為高能物理領域帶來巨大進步的工具,一路發展過來,背后的運維卻“冷冷清清”,以至于現在整個軟件都岌岌可危。
FORM的起點在1984年。當時計算機的角色正在迅速變化,PC機在這個時期開始普及。
其前身是一個名為Schoonschip的程序,由荷蘭物理學家馬蒂努斯·維爾特曼(Martinus Veltman)創建。
和我們今天許多常用的計算機程序不同,當時的程序大都是搭載于外部的ROM芯片中,得把芯片插到電腦上才能運行(試想一下光盤)——Schoonschip也不例外。
而喬斯則希望做出一個更易于訪問的程序,可被世界各地高校下載的那種。
開發FORM之初,喬斯使用的是FORTRAN語言(也是FORM名字的重要來源),這種語言很擅長“搞數學”。
FORTRAN是由IBM為科學和工程應用開發的,是第一代計算機高級語言。
從上世紀50年代起,FORTRAN一度成了科學和工程計算的首選語言;從60年代末到70年代初,大多數高性能計算機都支持FORTRAN,許多專門的編譯器和工具可以用其編寫算法。
而隨著計算機技術發展、其它編程語言一個個出現,FORTRAN慢慢被C、C++、Python、Matlab等取代,因為它沒有對象導向編程的支持,且語法比較笨重。
在1989年,FORM1.0正式發布前,喬斯改用C語言把FORM重寫了一遍。
但FORM其實從誕生起就在被逐漸推廣試用了:1984至1986年間, FORM最早支持的是Apollo工作站,這是上世紀80年代的第一批圖形處理工作站。
到上世紀90年代初,全球已有超過200家機構下載了FORM,后面這個數字還在不斷攀升。
與此同時,FORM還發展出了3個不同的版本:
-
FORM:順序版,旨在在單個處理器上運行;
-
ParFORM:多處理器版,處理器有自己的內存,可以使用集群和系統,同時為兩個及以上的處理器;
-
TFORM:處理器共享內存系統的多線程版,主要用于處理器數量有限的系統。
-
FORM和FormCalc是相互補充的,FORM作為一種通用符號計算和公式管理軟件,而FormCalc作為一種特定于高能物理研究的工具。
這么看來,FORM貌似一直在“茁壯成長”。但其實從開發至今,維護FORM的人數總共也就十余人。
到現在,只剩下73歲的喬斯孤零零一人還在苦苦支撐。
為什么會這樣?
一個重要的原因是:在物理學界,開發程序的努力往往被低估了。
喬斯老爺子無奈地表示:
多年來,我一直看到物理學領域中在計算工具開發上花大把時間的人,得不到一個終身職位。
而且相比之下,喬斯及FORM還算是挺幸運的,因為他本身有終身職位——荷蘭國家亞原子物理研究所(Nikhef)長期擔任理論組研究員。
而且FORM也受到了歐洲研究理事會(ERC)的關注。
光是在2012年,ERC就給FORM的相關項目資助了170萬歐(約合人民幣1235萬元)。當時喬斯提出把游戲領域的蒙特卡洛方法,用來求解高能物理方程(這種方程往往要求高精度、計算量巨大)。
并且這是ERC給喬斯等Nikhef研究人員的第三筆大額撥款。
但同樣是在粒子物理學領域,意大利物理學家Stefano Laporta就沒這么走運了。他也開發了一種很有用的簡化算法,可是整個職業生涯中都沒收到什么資助……
如今,即便是曾經發展還不錯的FORM,想要找到后續維護者都有些難了。
因為這不光會耗費精力、往往得不到高收益,還要求開發人員有過硬的跨學科能力。(其中一科還是粒子物理…)
有網友指出:
其實最難的不是寫代碼,而是確保它能正確處理數據。
比如,要對國際粒子物理學委員會編寫的參考書PDG Review of Particle Physics行之有效。
如果后續維護不跟進,FORM很快就會跟不上計算機更新迭代的腳步,變得越來越不可用。
學者Ben Ruijl最近在嘗試用Rust開發一個新版本的FORM——DreFORM,來嘗試減少FORM中的bug。
但是到現在為止新版本還沒有完成,因為Ben Ruijl不得不因為自己主要的研究課題而擱置它。
對此,哥本哈根大學(尼爾斯·玻爾的母校)的粒子物理學助理教授Matt von Hippel表示擔憂:
(假如FORM真不行了,)物理學者可能不得不只能選擇Mathematica,其速度比FORM慢了好幾個數量級。
粒子物理學可能還會因此停滯不前,只有少數人能夠勝任最難的計算工作。
眼下,喬斯老爺子已在積極思考解決辦法。據說在今年4月份,他會召開一個FORM用戶峰會,號召大家一起討論后續維護問題。
GitHub上,也有不少用戶在一直在為這個程序找Bug、提意見。
我們發現最近也有人在更新項目,但似乎代碼出現了一些問題。

FORM主頁:
https://www.nikhef.nl/~form/
GitHub主頁:
https://github.com/vermaseren/form
參考鏈接:
[1]https://www.quantamagazine.org/crucial-computer-program-for-particle-physics-at-risk-of-obsolescence-20221201/
[2]https://www.nikhef.nl/www/news/nikhef-researcher-jos-vermaseren-receives-prestigious-erc-advanced-grant/
[3]https://news.ycombinator.com/item?id=33818082
[4]https://arxiv.org/abs/math-ph/0010025
原創文章,作者:計算搬磚工程師,如若轉載,請注明來源華算科技,注明出處:http://www.zzhhcy.com/index.php/2024/03/22/af77ec454d/