僅剩1位73歲開發(fā)者苦撐!能求解超復(fù)雜物理方程式的計算程序,要沒人維護(hù)了 全球動態(tài)
2023-04-25 10:39:58    量子位

本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

高能物理先進(jìn)計算必備程序之一,快要沒人維護(hù)了。


【資料圖】

隨著唯一的長期維護(hù)者達(dá)到73歲高齡,計算系統(tǒng)FORM的命運開始變得撲朔迷離起來。

過去30多年,這個程序被視為粒子物理學(xué)研究的基礎(chǔ)工具之一,可計算伽馬矩陣、并行計算、模式匹配等。

計算費曼圖的軟件包FormCalc也是在它的基礎(chǔ)上實現(xiàn)。

要知道,費曼圖能夠用圖像描述大型粒子對撞機(jī)中粒子碰撞的可能結(jié)果,號稱“有助于幫助改變物理學(xué)家看世界的方式”。

除此之外,高階QCD(量子色動力學(xué)) β函數(shù)、多重Zeta數(shù)值(MZV)的數(shù)學(xué)結(jié)構(gòu)研究等也都用到了FORM。

甚至在它誕生十?dāng)?shù)年后,仍舊有大量前沿研究依賴于它。

自2000年以來,平均每隔幾天就有一篇基于FORM的粒子物理學(xué)論文被發(fā)表。

但這樣重要的計算程序,現(xiàn)在卻只靠一位73歲的退休人員維護(hù)——其開發(fā)者荷蘭粒子物理學(xué)家喬斯·維馬塞倫(Jos Vermaseren)。

如今,隨著老爺子年事已高,其后繼維護(hù)者還沒找到。

而完全能頂替它的程序似乎還沒有出現(xiàn),盡管Mathematica也能計算,但是速度上完全無法與之相比。

靠硬盤空間求解超長公式

簡單理解,F(xiàn)ORM是一個可以進(jìn)行符號運算的程序。

相較于更通用的Mathematica,它更專注于大規(guī)模處理符號表達(dá)式。

但本質(zhì)上FORM還是數(shù)學(xué)代數(shù)系統(tǒng),具體的操作過程大概是醬嬸的:

設(shè)定函數(shù) f 中,在 x 之前如果出現(xiàn)任何參數(shù),都將它們進(jìn)行調(diào)換。

Symbol x;Local E = f(1,2,x,3,4);id f(?a,x,?b) = f(?b,?a);Print;.end

那么FORM輸出的結(jié)果將會是:F=f(3,4,1,2)。

它主要有兩方面特點:

第一、計算快。

FORM建立了一些專業(yè)算法,比如能將費曼圖中的某些部分快速相乘;通過重新排列方程減少相乘、相加步驟。

第二、能處理超級大的方程式。

只要硬盤空間夠大,多長都能算。

這正是FORM最特別的地方。

計算機(jī)的存儲模式可分為兩種。其一是主存,這里常說的是RAM(隨機(jī)存儲器)。它是電腦系統(tǒng)中最重要的存儲器,能和CPU直接交換數(shù)據(jù),隨時讀寫、速度很快,但存儲空間非常有限。另一種是外存,也就是硬盤、固態(tài)硬盤、磁盤等。它們的優(yōu)點是容量大,但計算速度慢。

比如一臺筆記本的內(nèi)存只有16GB,但是存儲空間可以到2TB。

如果想要求解超復(fù)雜的物理方程式,那必須要依靠主存。

但問題是,這么小的容量空間,根本無法處理超長公式。更何況FORM生于80年代,那個時候的主存容量就更小了。

FORM選擇了一個巧妙的方法——把硬盤當(dāng)成主存來用。

通過將主存和硬盤空間“分頁”處理,然后將方程式放入到不同的“頁”上,并且為每一個項都固定一個存儲位置,程序運行時就能快速找到各個項的位置將其帶回真正的主存,而不必訪問其他的項。

這樣做的好處是在擴(kuò)大主存的同時,還繞開了低效的內(nèi)存交換操作,可以快速計算復(fù)雜龐大的方程式。

憑借著這一特點,F(xiàn)ORM自誕生后便成為了粒子物理學(xué)中的關(guān)鍵工具之一。

即便放到現(xiàn)在FORM也依舊至關(guān)重要——畢竟計算存儲發(fā)展的速度,怎么也追不上物理學(xué)方程式加長的速度……

在FORM的GitHub主頁上也寫著:

FORM是高能物理領(lǐng)域中許多最先進(jìn)計算的必備工具。

值得一提的是,F(xiàn)ORM并不能被視為CAS的加強(qiáng)版,它們的編程邏輯并不相同。

上手FORM可能需要一點門檻,但只要跨過去,就是打開一番新天地了。FORM和CAS配合使用可以解決數(shù)學(xué)、物理中諸多難以計算的復(fù)雜問題。

蘇黎世大學(xué)教授托馬斯?格爾曼(thames Gehrmann)表示,自己的課題組在過去20年中取得的大多數(shù)高精度結(jié)果,很大程度上都依賴于FORM。

高能物理學(xué)助理教授馬特·馮·希佩爾(Matt von Hippel)在Quantamagazine的文章中也提到,自己的一位同事前不久才使用FORM將一項計算的精度推到新高度。

被重視程度卻遠(yuǎn)遠(yuǎn)不夠

但和想象中不同,這樣一個為高能物理領(lǐng)域帶來巨大進(jìn)步的工具,一路發(fā)展過來,背后的運維卻“冷冷清清”,以至于現(xiàn)在整個軟件都岌岌可危。

FORM的起點在1984年。當(dāng)時計算機(jī)的角色正在迅速變化,PC機(jī)在這個時期開始普及。

其前身是一個名為Schoonschip的程序,由荷蘭物理學(xué)家馬蒂努斯·維爾特曼(Martinus Veltman)創(chuàng)建。

和我們今天許多常用的計算機(jī)程序不同,當(dāng)時的程序大都是搭載于外部的ROM芯片中,得把芯片插到電腦上才能運行(試想一下光盤)——Schoonschip也不例外。

而喬斯則希望做出一個更易于訪問的程序,可被世界各地高校下載的那種。

開發(fā)FORM之初,喬斯使用的是FORTRAN語言(也是FORM名字的重要來源),這種語言很擅長“搞數(shù)學(xué)”。

FORTRAN是由IBM為科學(xué)和工程應(yīng)用開發(fā)的,是第一代計算機(jī)高級語言。

從上世紀(jì)50年代起,F(xiàn)ORTRAN一度成了科學(xué)和工程計算的首選語言;從60年代末到70年代初,大多數(shù)高性能計算機(jī)都支持FORTRAN,許多專門的編譯器和工具可以用其編寫算法。

而隨著計算機(jī)技術(shù)發(fā)展、其它編程語言一個個出現(xiàn),F(xiàn)ORTRAN慢慢被C、C++、Python、Matlab等取代,因為它沒有對象導(dǎo)向編程的支持,且語法比較笨重。

在1989年,F(xiàn)ORM1.0正式發(fā)布前,喬斯改用C語言把FORM重寫了一遍。

但FORM其實從誕生起就在被逐漸推廣試用了:1984至1986年間, FORM最早支持的是Apollo工作站,這是上世紀(jì)80年代的第一批圖形處理工作站。

到上世紀(jì)90年代初,全球已有超過200家機(jī)構(gòu)下載了FORM,后面這個數(shù)字還在不斷攀升。

與此同時,F(xiàn)ORM還發(fā)展出了3個不同的版本:

FORM:順序版,旨在在單個處理器上運行;ParFORM:多處理器版,處理器有自己的內(nèi)存,可以使用集群和系統(tǒng),同時為兩個及以上的處理器;TFORM:處理器共享內(nèi)存系統(tǒng)的多線程版,主要用于處理器數(shù)量有限的系統(tǒng)。FORM和FormCalc是相互補充的,F(xiàn)ORM作為一種通用符號計算和公式管理軟件,而FormCalc作為一種特定于高能物理研究的工具。

這么看來,F(xiàn)ORM貌似一直在“茁壯成長”。但其實從開發(fā)至今,維護(hù)FORM的人數(shù)總共也就十余人。

到現(xiàn)在,只剩下73歲的喬斯孤零零一人還在苦苦支撐。

為什么會這樣?

一個重要的原因是:在物理學(xué)界,開發(fā)程序的努力往往被低估了。

喬斯老爺子無奈地表示:

多年來,我一直看到物理學(xué)領(lǐng)域中在計算工具開發(fā)上花大把時間的人,得不到一個終身職位。而且相比之下,喬斯及FORM還算是挺幸運的,因為他本身有終身職位——荷蘭國家亞原子物理研究所(Nikhef)長期擔(dān)任理論組研究員。

而且FORM也受到了歐洲研究理事會(ERC)的關(guān)注。

光是在2012年,ERC就給FORM的相關(guān)項目資助了170萬歐(約合人民幣1235萬元)。當(dāng)時喬斯提出把游戲領(lǐng)域的蒙特卡洛方法,用來求解高能物理方程(這種方程往往要求高精度、計算量巨大)。

并且這是ERC給喬斯等Nikhef研究人員的第三筆大額撥款。

但同樣是在粒子物理學(xué)領(lǐng)域,意大利物理學(xué)家Stefano Laporta就沒這么走運了。他也開發(fā)了一種很有用的簡化算法,可是整個職業(yè)生涯中都沒收到什么資助……

如今,即便是曾經(jīng)發(fā)展還不錯的FORM,想要找到后續(xù)維護(hù)者都有些難了。

因為這不光會耗費精力、往往得不到高收益,還要求開發(fā)人員有過硬的跨學(xué)科能力。(其中一科還是粒子物理...)

有網(wǎng)友指出:

其實最難的不是寫代碼,而是確保它能正確處理數(shù)據(jù)。

比如,要對國際粒子物理學(xué)委員會編寫的參考書PDG Review of Particle Physics行之有效。

如果后續(xù)維護(hù)不跟進(jìn),F(xiàn)ORM很快就會跟不上計算機(jī)更新迭代的腳步,變得越來越不可用。

學(xué)者Ben Ruijl最近在嘗試用Rust開發(fā)一個新版本的FORM——DreFORM,來嘗試減少FORM中的bug。

但是到現(xiàn)在為止新版本還沒有完成,因為Ben Ruijl不得不因為自己主要的研究課題而擱置它。

對此,哥本哈根大學(xué)(尼爾斯·玻爾的母校)的粒子物理學(xué)助理教授Matt von Hippel表示擔(dān)憂:

(假如FORM真不行了,)物理學(xué)者可能不得不只能選擇Mathematica,其速度比FORM慢了好幾個數(shù)量級。

粒子物理學(xué)可能還會因此停滯不前,只有少數(shù)人能夠勝任最難的計算工作。

眼下,喬斯老爺子已在積極思考解決辦法。據(jù)說在今年4月份,他會召開一個FORM用戶峰會,號召大家一起討論后續(xù)維護(hù)問題。

GitHub上,也有不少用戶在一直在為這個程序找Bug、提意見。

我們發(fā)現(xiàn)最近也有人在更新項目,但似乎代碼出現(xiàn)了一些問題。

FORM主頁:https://www.nikhef.nl/~form/GitHub主頁:https://github.com/vermaseren/form

關(guān)鍵詞: