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

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

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


【資料圖】

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

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

計(jì)算費(fèi)曼圖的軟件包FormCalc也是在它的基礎(chǔ)上實(shí)現(xiàn)。

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

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

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

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

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

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

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

靠硬盤空間求解超長(zhǎng)公式

簡(jiǎn)單理解,F(xiàn)ORM是一個(gè)可以進(jìn)行符號(hào)運(yùn)算的程序。

相較于更通用的Mathematica,它更專注于大規(guī)模處理符號(hào)表達(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é)果將會(huì)是:F=f(3,4,1,2)。

它主要有兩方面特點(diǎn):

第一、計(jì)算快。

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

第二、能處理超級(jí)大的方程式。

只要硬盤空間夠大,多長(zhǎng)都能算。

這正是FORM最特別的地方。

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

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

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

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

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

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

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

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

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

在FORM的GitHub主頁上也寫著:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

為什么會(huì)這樣?

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

喬斯老爺子無奈地表示:

多年來,我一直看到物理學(xué)領(lǐng)域中在計(jì)算工具開發(fā)上花大把時(shí)間的人,得不到一個(gè)終身職位。而且相比之下,喬斯及FORM還算是挺幸運(yùn)的,因?yàn)樗旧碛薪K身職位——荷蘭國(guó)家亞原子物理研究所(Nikhef)長(zhǎng)期擔(dān)任理論組研究員。

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

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

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

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

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

因?yàn)檫@不光會(huì)耗費(fèi)精力、往往得不到高收益,還要求開發(fā)人員有過硬的跨學(xué)科能力。(其中一科還是粒子物理...)

有網(wǎng)友指出:

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

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

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

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

但是到現(xiàn)在為止新版本還沒有完成,因?yàn)锽en Ruijl不得不因?yàn)樽约褐饕难芯空n題而擱置它。

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

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

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

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

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

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

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

關(guān)鍵詞: