高能物理先进计算必备程序之一,快要没人维护了。
随着唯一的长期维护者达到 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
本文来自微信公众号:量子位 (ID:QbitAI),作者:明敏 Alex
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。