中国的超级计算机都在做哪些工作?

关注者
4,229
被浏览
5,462,062

270 个回答

天河1A,Titan,Edison,Cori用户

不得不说, 在科研对外宣传上面, 美帝完爆其他国家(包括欧洲和日本), 拿NERSC((美国)能源部高性能计算中心)来说, 主页是这个样子的

每次会在主页上放4个成功案例,所选的成功案例都是非常贴近大众生活的, 可以大大提高公众对于NERSC的支持度。 这是其中一个, 使用超算来优化燃料电池材料, 未来可能应用于电动汽车, 这一期还有一个是讲生物数据库的, 介绍的文章都非常详细。

再往下翻, 可以看到当前正在计算(烧钱)的任务排名:

列出正在运行的任务简介, 牵头的科学家以及单位, 所使用的CPU核数和正在烧掉的机时, 最后的白框里的数字是会跳动的, 告诉你这是实时的数据。比如第二位的是开发基于等离子体尾波场的加速器, 可以大大缩小加速器体积, 用于医学等领域。第四位是计算核聚变装置边界的不稳定性(核聚变领域对计算能力的需求就是无底洞,最近中科大一个组在太湖之光上跑到了全机运行, 用来模拟托卡马克装置中的逃逸电子)。第五名是计算大气物理, 用于理解环境变化。

我想说的是, 中国的超算上也在运行同样种类的任务,为科学研究,国计民生服务, 但是天河1A的主页呢?太简陋, 而且基本不怎么更新, 系统升级和故障信息也都是通过邮件甚至是电话通知, 没有统一的信息发布平台和用户管理系统:


所以国内的超算啊, 还是要在管理和对外宣传上学习一个。

当然是用来完成科研、工程项目中繁重的计算任务的。

超算没有那么神秘,就是个计算工具。你输入计算条件,它给你输出计算结果。和买菜用的计算器是一样一样的,只是规模上有区别而已。

家用电脑一般只有一颗CPU(GPU同理),每颗CPU内一般只有2~8个物理核心。而一般的超算有成千上万颗CPU,每颗CPU内一般有几十个物理核心。

消费级4核心CPU

这么多CPU当然不是拿来供暖的,而是为了通过并行计算,完成繁重的计算任务的。

举个例子,在飞行器制造领域,经常要计算飞机附近空气的流动,以及飞行器本身的受力情况。最常用的计算方法是把空气、机体分割成一个个小块块,分别计算每个小块的运动和受力,再整合起来得到整体的运动和受力情况。

一般来说,分割的越精细,每个小块越小,计算越准确。

而鱼与熊掌不可兼得,分割的越精细,计算量也越大。

工程计算中的网格划分

假如要把一个1 m^3 的立方体分成1 mm^3 的小方块,那么就要对10亿个小方块进行计算。

如果用单个CPU核心,需要连续做10亿次运算,算完整个过程可能要花上一天。

而如果有10个CPU核心,那就可以把这10亿个方块分成10份,每个CPU核心只要计算1亿个方块,然后把得到的结果整合起来就行。这样大约能快上10倍,两个小时就能算完了。

在科研和工程领域,有许许多多这样的计算任务,例如原子基本性质的量子力学计算、药物反应过程的分子动力学模拟、黑洞碰撞的相对论模拟、大气运动和天气变化的预测、桥梁设计中的受力计算......

这些复杂的问题,如果用单个CPU核心计算,可能要花上几个月甚至是几年才能得到结果。这么长的计算时间是难以接受的,所以我们需要用多个CPU核心进行并行计算以提高效率,集成大量CPU于一身的超算自然就应需而生了。


最后安利一下自己的干货回答收藏夹: