并且相较于其他国家,我国超算主要采用的异构运算在这方面的能力可谓更加是得天独厚。
同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。
同构超算只单纯使用一种处理器,根据已经披露出来的信息,日本的超算“京”就采用的处理器是富士通制造的sparc64viiifx,神威蓝光只采用了874片申威16,mira和sequoia(sequoia采用了约16万个a2处理核心,就只采用了poerpca2处理器,这些都没有采用gpu或众核芯片等加速器。
在同构超算中,日本的京,ibm的mira和sequoia和我国的神威蓝光都是同构超算的代表。
而异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。
常见的计算单元类别包括cpu、gpu等协处理器、dsp、asic、fpga等。异构计算是一种并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。
具体来说,异构计算是在运算中既使用处理器,又使用gpu或众核芯片等加速器。
以美国泰坦和我国天河2号为例,泰坦有18688个运算节点,每个运算节点由1个16核心amdopteron6274处理器和1个nvidiateslak2加速器组成,共计2998个运算核心;
天河2号有16个计算节点,每个节点由2片intel的e52692和3片xeonphi组成,共使用了32片intel的e52692和48片xeonphi;天河1a使用了14336片intelxeonx567处理器和7168片nvidiateslam25高性能计算卡。除了泰坦和天河2号和天河1a之外,曙光6也是采用了异构计算架构。
要知道,超算和普通的pc不同,超算大多应用于科研和军事领域。而pc在日常使用中,除玩游戏、3d渲染等之外,大多是程序都倚重整数运算性能。
超算主要应用在例如弹道计算、核物理研究、气候气象、海洋环境、数值风洞、碰撞仿真、蛋白质折叠、基因研究、新药研发、分子动力学模拟、量子化学计算、材料科学、动漫设计、工业设计等方面,在运算中更加倚重双精浮点性能,对整数运算性能要求相对较低。
这就产生了用加速器提升浮点运算性能的需求。
衡量芯片性能的一个重要指标就是计算峰值,例如浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值:
理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数。
理论浮点峰值=cpu主频xcpu每个时钟周期执行浮点运算的次数x系统中cpu核心数目。
实测浮点峰值是指linpack测试值,也就是说在这台机器上运行linpack测试程序,通过各种调优方法得到的最优的测试结果。
在实际程序运行过程中,大多数超算几乎不可能长时间维持在实测浮点峰值,理论浮点峰值更是仅仅存在于纸面上的数据。理论浮点峰值和实测浮点峰值只是作为衡量机器性能的一个指标,用来表明机器处理能力的一个标尺和潜能的度量。