耗能巨大的计算机如何减少碳足迹?使用绿色能源固然是一条路径,其实还有一个更简便的办法——使用最新版本的软件,更新版本、使用优化的软件可以提升计算效率,从而显著降低能耗。
评估一台超算设备的碳足迹,一般都会基于硬件、任务所需时间,以及数据中心或超级计算机的地理位置等主要因素。在评估算法中设有一个“务实的缩放系数”,它将考虑算法的实际运行次数,这也会对实际排放量产生直接影响。
科研人员正在监测超级计算机运行。图/视觉中国
事实上,大多数算法都要运行多次,有时甚至要用不同的参数运行成百上千次,而且运行次数会因任务和研究领域的不同产生很大差异。因此,高效的算法程序对于“绿色”计算至关重要。荷兰莱顿大学的天体物理学家西蒙·波尔蒂奇说:“我看到周围很多人所运行的程序效率极低。如果可以多花一点时间优化代码,它将运行得更快,也将因此减少排放。”
转换计算机编程语言可能是一个好主意。为此,西蒙做了个实验,他用十几种不同的计算机编程语言来运行同一个算法。他发现,在物理学家中最流行的Python,需要更长的时间来运行,因此它会比C++或Fortran等语言产生更多排放。西蒙认为,问题在于Python极其容易使用,但很难优化,而其他语言写程序更困难,却更容易优化。
然而,只要不用Python就能更加绿色节能吗?并不一定。针对西蒙的论文观点,法国国家科学研究中心研究员皮埃尔·奥吉尔认为,更好的教育和使用Python编译器可能同样有效。奥吉尔是法国格勒诺布尔阿尔卑斯大学的流体动力学和湍流专家。他用不同语言的优化代码和五种不同的Python实现方式来进行类似的实验。结果发现,Python有四种实现方式比C++和Fortran更快,产生的排放更少,而且还更容易理解和使用。“我不认为换一种语言更容易,因为学习如何正确使用Python并不十分困难。”奥吉尔认为,与其关注使用什么编程语言,不如说计算和编程应在物理学教育中占据更重要的位置,“只要专攻物理学,就应该在学生时代就学习编程”。
西蒙也同意Python可以更高效,但他认为,也许物理学研究机构应该雇用更多的计算机专家。他说:“我们在物理学方面很出色,但一个计算机科学家把我们学习物理学的所有时间都用来学习如何与计算机沟通,毫无疑问,他们在编程方面会做得更好。”
作者:慕子岚/编译