超算软件优化——解铃还须系铃人

  1986年3月,也就是距今整整30年前,邓小平同志提出了著名的863计划。伴随着这个旨在提升中国科技整体实力的计划,中国的超算事业开始了蹒跚的起步。早在这个宏伟项目的执行初期,高性能的并行计算机就成为了整个863计划中十分重要的一个组成部分。

  30年过去了中国的超级计算机实力取得了举世瞩目的进步,银河、天河等中国自主研发的超级计算机不仅在技术上取得了国际领先的地位,更让普罗大众了解了中国超算的实力。

  当然,中国自主超算的成功并不意味着我们可以停下脚步。相反,在国家面临的重大挑战、经济实现转型升级、人民健康和精准医疗以及科学研发等重点领域,更高性能、更高效率的超级计算机总是处在供不应求的状态。而这也是中国超算不断进步的核心动力。

  超算的进步不止硬件

  计算机想要运行,单靠硬件是不行的,还要有相关的操作系统和应用软件。这个道理现在连小孩子都懂,其实超级计算机也一样。

  超算之所以能够服务于产业和科研不仅是因为他的硬件足够强大,更是因为有面向这些具体应用的软件。而这些软件是不是好用,则要看他们的优化程度。

  我们都有过这样的经历:很多软件用起来又快又稳定,而有些软件运行起来就很慢,还经常崩溃。这就是软件优化的作用,在超算上也一样。

  中国有很多很强的硬件公司,这些公司不仅在国内叱诧风云,更在国际上有着卓越的表现。但国内软件领域却鲜有这样的企业存在。而在超算领域,我们面临着同样的尴尬。我们的超算硬件系统可以连续六次蝉联超算排行榜的冠军,但我们的相关超算软件却仍然严重依赖进口。

  既然笔者能够看出中国超算的差距,那些天天跟超算打交道的人自然看得更明白。

  在英特尔高性能开发者论坛上,北京航空航天大学钱德沛教授在名为《十三五在高性能计算应用方面计划和考虑》报告中就明确的将发展适用于超算环境的大型应用软件开发和优化作为学界提出的十三五期间超算发展的四大方向之一,足见超算软件对于整个超算的重要性。

  超算软件优化——解铃还须系铃人

  在很多科研单位中,研究人员从事的往往是科学最前沿的研究工作,这其中就涉及到大量的实验数据处理和计算。但实际的情况确是,他们使用的软件往往都是十年前甚至更早的版本。

  硬件发展日新月异,10年前,我们没有22核心的处理器;10年前,超算里没有协处理器;10年前,最强大的超算也不过6万个物理核心,而TOP500中的大多数超算都没有达到万核级。而今天,TOP500前十名中绝大多数都是数十万核心级别的系统,而像天河2号这样的顶级超算更是达到了300万核心。硬件的巨大进步,和软件的停滞不前在实际应用中的表现就是硬件资源闲置或低效运转。

  显然,中国超算对新一代应用软件的需求是迫切的。那么如何才能快速的针对今天的硬件架构来优化和开发新的软件呢?

  解铃还须系铃人,要想更好的利用超算里的计算资源还需要超算处理器的设计者来帮忙。面对这样的局面,英特尔并没有回避,而是与中科院网络信息中心携手推建立IPCC并行计算中心。其目的就是要为各个领域的超算用户提供软件代码的优化服务,让超算上的软件能够更有效的利用先进的硬件架构,跑得更快。

  同时,参与这个项目的不仅包括国内机构,更包括了哈佛、剑桥这样的国际一流学府。让产学研的合作可以跨越国界。

  软硬兼施为超算

  对于英特尔来说,硬件是本行,而软件则是助推硬件的催化剂。而这种逻辑关系在高精尖的超算领域则显得尤为重要。

  超算的性质决定了,目前使用超算的大多是学术和科研机构。这些机构并不是生产部门,其对超算的需求往往是跨学科且非常前沿的。所以很多用户在超算的使用中都会遇到软件编程滞后的现象。而此时,第一个站出来的自然是英特尔。

  目前,英特尔在产学研三端都在推行其代码现代化工作,以便不同类型的用户都能获得超算软件和编程方面的技术支持。

  在产业端,英特尔早就与浪潮联合推出了《MIC高性能计算编程指南》一书,这本书也是全球第一本专门针对英特尔MIC架构高性能计算系统所推出工具书,而且这本书是中文的。