超级计算机并没有想象中那么神秘,它也只是一个计算工具。当有人输入计算条件后,超级计算机就会输出计算的结果。和买菜用的计算器是一样一样的,仅仅只是规模上的区别而已。
我们常用的家用电脑一般只有一个CPU,每个CPU内一般只有2~8个物理核心,这样就能玩游戏、看视频、浏览网页,因为这些程序的背后只需要少量的浮点运算。假如要模拟飞机附近空气的流动,以及飞机本身的受力情况,就需要拥有成千上万颗CPU的超算来完成,需要把空气、机体分割成一个一个的小块块,分别计算每个小块的运动和受力,再整合起来得到整体的运动和受力情况。超算可以将一个大的任务切分成并行计算,这样就可以快速地完成繁重的计算任务。
如果把飞机模型中的一个1立方米的立方体分成1立方毫米的小方块,那么就会得到10亿个小方块。普通一个家用CPU需要连续做10亿次运算,算完整个过程可能需要花上一整天,而如果有10个CPU,就可以把10亿个小方块分成10分,每个CPU只需要计算1亿个方块,再把所有CPU计算的结果整合起来,两小时就能算完了。
如今超级计算机已经广泛的应用于气象气候、石油勘探、大气海洋环境、航空航天、宇宙模拟、密码研究、核爆模拟、武器研制、材料科学、工业设计、地震模拟、动漫渲染、深度学习、人工智能、生物医药、基因工程、数据挖掘、过程控制、金融分析、人类组织系统研究、公共服务等各个方面。所以超级计算机成为了强国必争之地,可以说未来想要打破科幻片里所谓的“质子锁”就需要用到超算。
“超级计算机”一词并没有明确的定义,随着计算机行业的发展而发生变化。早期的控制数据公司机器可达十倍速于竞争对手,但也仅是原始的标量处理器。到了1970年代,大部分的超级计算机已经是向量处理器了。1980年代初期,超级计算机朝着大规模并行计算系统发展,这时的超级计算机由成千上万的普通处理所组成。1980年代中叶,将8个到16个不等的向量处理器联合起来进行并行计算成为了通用的方法。1990年代到21世纪初期,超级计算机互联主要基于精简指令集的张量处理器(如:PowerPC、PA-RISC或DEC Alpha)来进行并行计算。
我国超级计算机的现状在近期发布的全球超级计算机Top500榜中我国有214台超算上榜,在数量蝉联第一,而曾多次登榜首的神威太湖之光、天河2A分别位于第4名和第6名。日本继超算“京”的失败基础上推出后续“富岳”时隔9年再度登顶,而美国的超算“Summit”、“Sierra”被挤到了2、3名。
虽然我们已经取得了不小的成绩,但CPU仍然是我们的短板。比如过去天河二号用英特尔Xeon Phi(至强融核)的CPU连续4次在超算界Top500榜上荣登宝座。但自从2015年4月美国禁止英特尔向广州超算中心出售至强融核CPU后,明显有些跟不上脚步了。
虽然可以用2~3颗国产的申威芯片替代,但用一张Tesla V100就能解决问题只会增加复杂程度,芯片越多,调度就越困难。这就好比5个人的团队好管理,而500人的团队管理难度几何级数增加。
总结我国的超算之路想要有长足的发展,依然需要补齐半导体产业链的短板。假如神威的CPU也能采用7nm的工艺制程和HBM2的内存,也不见得会比日本的“富岳”矮一截,谁胜谁负会是一个未知数。但恰恰这个前提是我们很欠缺的。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!