大规模并行数值计算是21世纪高科技领域竞相争夺的战略制高点,E级计算是未来十年世界各国最重要的计算挑战。有越来越多的科学问题不可能进行物理实验或实验极其危险、昂贵,E级计算使计算模拟仿真提高到前所未有的速度和保真度,促使企业加快新产品研发,推动创造力的发展,为能源、安全、环境、经济和基础科学五大领域提供变革性进步。大规模并行数值计算不但在实现机制和程序开发方法方面与串行计算差别巨大,而且具有很强的领域特征,不同学科专业的应用场景跨度很大,需要不同的软、硬件技术支撑。到目前为止虽然已有许多数值计算程序系统在各种计算机上运行,然而熟悉数值计算方法的科学家和工程师却深深感到,他人提供的计算程序系统很难满足自己的种种要求,只是在拥有了自己的源程序并能随心所欲地修改时才能得心应手。因此人们渴望能有一个按照自己的意愿建立起来的数值计算系统。但研制任何一个最简单的计算程序系统都需要花费大量的时间、精力与经费,人们往往只好放弃研制的打算。
大规模和超大规模计算的程序编制极其困难,这些程序不再可能是采购的,为提供大规模并行数值计算程序,编程语言和编程工具将发生巨大变化,软件界多年的探索实践表明,依托于编程语言和生成器技术的大规模并行有限元自动仿真设计软件是解决问题的有效途径,是支撑大规模并行数值计算的有力工具。
有限元自动仿真设计软件
天津新创振华科技发展有限公司推广的有限元自动仿真设计软件AUTOCAX是工业仿真数值模拟领域编程语言和软件智能生成平台,能够高效地解决工程和科研任何领域任何问题的有限元仿真计算任务,它使有限元编程变得像书写数学公式那么简单,适用于用户依据自己的问题定制生成各种功能的软件。该项技术是我国乃至世界数值仿真的未来之路,具备如下先进性:
1)跨学科无障碍耦合技术先进性
随着科学技术飞速发展,工程上对多物理场耦合仿真的要求越来越迫切,现有的商业软件多采用程序库形式,无法满足日益复杂的耦合仿真需求。用户需要同时使用多款商业软件才能完成一个耦合仿真的计算任务,使用方式不便,解决的问题也极为有限,耦合计算成为现有商用数值模拟软件的发展瓶颈。有限元程序自动仿真设计系统从研究问题的数理方程出发,针对问题涉及到的不同物理场通过有限元语言设定各场的求解方程表达式以及耦合关系,即可开发多物理场耦合仿真计算程序。真正意义上实现了跨学科无障碍多物理场耦合计算,是迄今为止唯一能够在同一软件平台下实现任意多物理场、任意耦合方式的仿真软件平台。
2)无限制并行计算技术先进性
并行计算软件是大规模并行计算机被广泛使用的最大障碍,编写和维护一个用于解决大型工程与科学计算问题的通用并行计算程序起点高、难度大、投入多,选择一个好的并行计算平台和并行编程工具非常重要。有限元程序自动仿真设计系统平台是无限制并行计算软件,以“起点低,难度小,投入少”为主要特征,打破了并行程序开发的坚冰,在计算问题的物理场数量及求解问题的规模方面,均可实现无限制并行计算。
3)数值模拟软件开发平台技术先进性
数值模拟软件的复用性问题严重影响着行业的发展,数值模拟软件开发人员一直努力寻找各种能提高软件复用性的开发模式。现有的商用数值模拟软件多呈现“黑箱”模式,复用性差的特征使其难以满足用户个性化需求。针对科学计算领域,智能有限元开发平台是一种发展趋势,用户对集设计、分析、优化于一体的开发平台及其衍生的个性化数值模拟软件存在巨大需求。有限元自动仿真设计软件这种三位一体的数值模拟平台软件将成为数值模拟的主流软件,给科研、企业用户提供生成式个性定制的软件开发平台,助推科研实力提升,促进企业核心竞争力提升。
4)源头创新引擎技术先进性
通过多个级别的生成和接入手段,有限元自动仿真设计软件为用户提供了自然科学层面的源头引擎,屏蔽了痛苦的编码过程及错误修正,加速从理论到实践的实现进程。
有限元智能开发技术特点
5)适应国家自主超级计算机发展先进性
基于超级计算机的大规模并行数值计算被广泛应用于国民经济、国防建设和科技发展中具有深远影响的重大课题。超级计算机的自主发展和大规模并行数值计算是大国国力和科技实力的象征,我国超级计算机“天河二号”、“神威太湖之光”超级计算机自2013年以来持续蝉联全球超级计算机排名榜首,在大规模并行数值计算的硬件发展令人叹为观止的同时,我国在软件方面却存在较大的缺失,除有限元程序自动仿真设计系统系列软件尚未见成熟高效的并行有限元分析软件,由于超级计算机在结构上千差万别,传统CPU、国产自主CPU、以及GPU、MIC、FPGA等加速卡的集成,在复杂的超级计算硬件体系上运行的应用程序必须源代码级兼容,有限元自动仿真设计软件的程序自动生成源代码技术能很好地适应不同体系结构的超级计算机,充分发挥硬件资源计算能力,对国民经济和科学技术的发展、对军事和国防建设具有十分重要的意义。
有限元自动仿真设计软件是基于有限元、有限体积、有限差分法的编程语言,为开发数值仿真软件,赶超世界先进创造了条件。采用有限元编程语言开发仿真软件比采用现有的高级语言(如Fortran/C/C++)可以减少代码量90%以上。采用有限元编程语言开发有限元软件主要是书写物理模型(微分方程表达式)和计算方法,软件极易维护和发展,从根本上解决了软件的再用性问题。
在大规模线性方程组问题的计算中拥有丰富的求解器模块,对于对称矩阵和非对称矩阵以及近奇异矩阵方程组的计算都有相应的处理技术,线性方程租的并行求解步骤如下:
1)描述并行机(处理机的台数);
2)初始化矩阵和向量数据结构;
3)选取求解器算法、预处理方法和收敛准则;
4)初始化右端项和初值;
5)调用解算器并行通信协调求解。
通过并行有限元自动仿真设计软件可进行万核数十亿阶超大规模线性方程组的求解,其包含直接法LU分解并行求解器和迭代法求解器。
2.2 基本功能
公司为用户提供串行程序并行化服务及并行有限元程序开发,欢迎咨询沟通。