我国高性能计算软件创新急待提高

近几年来,高性能计算在我国很多领域都取得了很大的发展。这一方面得益于高性能计算机硬件的性价比越来越高,特别是标准化、开放性和高性价比的集群系统得到了越来越多用户的青睐,大大降低了用户进入高性能计算领域的门槛;同时,在气象、石油、航空航天等领域也研制成功了一批有使用价值、水平较高的应用软件,极大地方便了最终用户。另一方面,随着自主创新战略的日渐深入,从各级政府、科研院校到广大企业,都对“通过高性能计算机模拟来提高技术创新能力,加快创新速度,降低开发成本”的策略有了更深入的认识,上海、北京、西安、成都、深圳等地一大批高性能计算中心、超算中心的项目因此纷纷上马。

不过,高性能计算产业的发展仍然存有结构性的矛盾,突出表现在硬件和软件发展不平衡、应用跟不上高性能计算机发展步伐。在11月29日在北京举行的2008年全国高性能算法软件研究开发研讨会上,北京应用物理与计算数学研究所袁国兴研究员就指出,目前在高性能计算软件研究方面,存在“把高性能计算软件研制等同于软件编程”、“硬件、算法、软件的研究相脱节”等不合理的现象,致使中国高性能计算软件面临“计算规模受限制,计算精度、分辨率不高,关键应用受限制,不易改进和发展”等多方面的挑战。

袁国兴认为,高性能计算软件的开发是一项系统工程——首先需要把物理或化学的问题变成模型或方程,然后在计算机上进行大量的数值模拟和计算,随时调整参数,最后进行必要的实验进行验证,因此需要对“物理建模、计算方法、并行算法、物理参数调优”等四个方面进行统筹安排和规划,而不只是简单的软件编程,因为其中每一步都可能对软件最终性能和计算结果产生巨大影响。

针对目前的科研体制,他还指出,虽然国家近几年在软件方面有一些投资,但一些单位研究的问题却差不多,拿出来的成果也差不多,存在低水平重复建设的现象。在国外,往往需要物理、算法、计算机三方面的人才组成团队进行研究开发,至少需要十几个人进行几年甚至十几年的攻关,而国内很多项目组只有两三个人,一两年就做完了,而实际上“懂计算机的人不懂计算方法,懂计算办法的人不懂物理建模”,这很难做出有突破性和创新性的成果出来。

其实,不少最终用户也已经受到了软件不足的困扰。中科院金属研究所此前通过高性能计算机模拟帮助一些重型企业解决了材料开发方面的难题,成功进行了50吨大型支承辊铸造、三峡水轮机组铸件、大型船用曲轴、百万千瓦核电大型锻件等新技术、新工艺的开发,但下一步在进行多尺度耦合计算研究时就碰到了软件算法方面的瓶颈。中科院金属研究所助理研究员肖纳敏博士在会上也谈到,我们平时主要是材料研究为主,在算法方面并不是强项,所以特别希望能够得到中科院软件所算法专家的支持和帮助。

上海超级计算中心是目前我国最大的高性能计算平台,峰值达到200万亿次规模的“魔方”系统(曙光5000A)也将在明年5月正式投入运行。该中心高性能计算技术总监姚继锋博士告诉记者,当前大部分软件作业难以有效利用1000多个以上CPU,从算法到软件都有很多工作要做。“百万亿次计算机系统需要容量计算,更需要能力计算,以解决各个应用领域现有系统无法实现的模拟计算。”

据了解,美国能源部虽然拥有世界上最先进的计算平台,但实际花费在硬件上的投资不到总投资的1/6,大部分预算都花在了物理建模和软件算法方面。“高端计算真正的危机在于软件,软件已成为了现代技术中最主要的经济开支。” 袁国兴不无忧患地谈到,我们在高性能计算软件开发方面,不仅需要加大软件投资比例,更需要改变过去传统的科研体制,培养交叉学科人才,成立专家组进行项目的统筹规划,定制检查,而不是各自为战,不然我们很难摆脱“要么购买商用软件,要么自己小规模开发”的尴尬局面。

当然,从另一方面来看,虽然今年我们国家已经诞生了曙光5000A和联想深腾7000两套百万亿次规模的计算机,而真正能够用到百万亿次计算能力的应用还很少,但计算机超前于应用的发展并不总是坏事,因为有了更加强大的超级计算机这样一个舞台,科学家们才能够打破在科学研究领域中的天花板,应用软件和算法研究人员在开发更大规模并行软件时才能够发现软件和算法的瓶颈,并加以改进,提升软件水平。曙光公司总裁历军此前在接受IT168服务器频道专访时也谈到,“机器和应用之间有一代的差距是可以理解的。上一代的曙光4000A刚出来时也面临有没有人用的问题,但到今天我们国家的大飞机设计、神舟飞船、基因研究、石油勘探上面都用上了,可见机器带动应用是现阶段的必经之路。”