作者:姜靖 发布时间: 2010-12-28 来源于:科技日报
中国科学院数学与系统科学研究院自主研制的面向大规模并行计算机的并行自适应有限元软件平台Parallel Hierarchical Grid(简称PHG)日前取得了阶段性成果。基于PHG完成的并行自适应有限元应用程序在国产高性能并行计算机上,最大并行规模达到了4096个进程,最大网格规模超过了十亿个计算单元。PHG平台使得让科研人员可以在并行计算环境下方便地使用自适应有限元方法,在提升了计算效率的同时,显著地缩短了科研人员设计算法的周期。
有限元方法是科学与工程计算中最重要的计算方法之一,通过数值计算软件,科研人员利用该方法可以求解电磁场计算、天体物理计算、流体力学计算等一系列计算问题。然而,随着大规模并行计算机的问世,现有的数值计算软件无法跟上硬件发展的速度,不能很好地利用并行计算资源来提升计算效率。科研人员为了让自适应有限元方法可以并行计算,往往要花费很长的研制周期来设计调试程序。PHG的目的就是封装、集成并行自适应有限元程序中网格管理与有限元计算的共性算法模块,为并行自适应的有限元计算软件开发提供一个方便、易用、高效的通用开发平台。
据该院负责此项目的张林波研究员介绍,目前,PHG的核心部分包含约10万行代码,主要模块及功能基本成熟,已实际应用于一系列科学问题的计算。PHG开源版本的源码已经通过互联网公开发布(http://lsec.cc.ac.cn/phg),科研人员可以免费下载使用。“长期以来,‘计算效率低’和‘研制周期长’是导致我国数值计算软件严重滞后于计算机硬件发展的两大瓶颈。影响高性能科学计算发展的一个决定性因素是数值计算软件能否快速适应实际应用的发展需求和计算机硬件的迅猛发展。”张林波说,必须革新串行软件传统的并行化做法。针对特定的高性能计算应用领域发展软件平台或应用框架,在其中集成共性的算法模块,再以平台和框架为基础发展并行数值计算软件,是突破这两大瓶颈的有效途径。PHG正是在这一指导思想下研制的。
“PHG的应用可以把从事相关算法研究和软件开发的科研人员从繁琐的并行数值计算设计中解放出来。”张林波说,比如搞算法研究的人就可以利用PHG这个软件平台,不用考虑并行实现的细节,只需要关心具体的计算格式,因为并行计算的过程PHG已经自动处理了。PHG能够实现自适应有限元计算方法在并行计算机数千个处理器核上的高效运行,它对用户是完全透明的,大大方便了并行自适应有限元程序的开发。相关科研人员可以像编写串行有限元程序一样,方便地编写并行自适应有限元程序,从而可将精力更多地集中在建模及算法实现方面。
另外,PHG还提供了一组任意阶的层次有限元基函数,可以方便地实现高阶有限元计算,并且支持hp自适应计算。PHG提供面向对象的用户接口,方便了有限元算法的研究与测试。PHG中还实现了一个与有限元计算密切关联的线性代数模块,提供大量线性方程组和特征值问题的求解器,基于PHG编写的应用程序可任意选用这些求解器,并可将求解器和预条件子进行灵活地组合,从而得到针对特定问题的高效求解器。
附件下载: