服务器 频道

高性能计算在生物化工过程模拟中的应用

HPC存储模板

  ▲进入高性能计算专区

  【IT168 专稿】采访背景:中国科学院过程工程研究所多相复杂系统国家重点实验室【官网:http://www.mpcs.cn/】于2006年7月由科技部正式批准开始建设,2009年1月16日通过科技部的验收。实验室的研究对象是能源转化、材料制备等多相复杂系统,主要内容包括多相复杂系统的多尺度理论与方法,多相体系的离散化模型与计算,化工、材料与能源工程中的工艺与过程调控,过程工程数据信息平台等。主要目的是提高反应的效率、降低成本、减少污染、节能减排等等。

  为进一步了解高性能计算在生物化工过程模拟中的应用,IT168记者采访了来自中科院过程工程研究所的葛蔚,他介绍了在应用高性能计算进行过程模拟的挑战,分享了自己的一些经验,并谈到了对于高性能计算未来的一些建议。

高性能计算在生物化工过程模拟中的应用
▲点击查看视频:http://v.zz.ku6.com/play.php?vid=BHubiqQoaYNFZ3WtKtQC2g..

  高性能计算在生物化工过程模拟应用中的挑战

  葛魏表示,以前的主要是通过实验来模拟这些过程,现在随着高性能计算的发展,慢慢可以用计算的方式来做一些工作。但是要完全靠计算来解决还有很长的路要走。

  首先,应用领域的人需要深入了解底层的硬件架构。随着机器规模越来越大,特别是像GPU这样的技术的出现,应用领域的人不得不去了解机器,以及更多的底层的需求。以前,只需学会高级语言,了解了算法,就可以了;现在,更重要的问题是“怎么算得快”,这样,要使用高性能计算的时候就不得了解底层硬件的架构,这样才能使写出来的程序更适合这个硬件架构。并且,不能光从一个因素考虑,需要通过长时间的积累,去摸索多方面的影响因素。

  同时,微观层次模拟模型的建立也是一个很重要的问题。葛蔚表示,微观层次的模拟在模型上有很大问题,模型如果是合理的,计算结果才会是正确的,如何建立正确的模型,这个不是计算机本身的问题,而是应用领域的人需要考虑的。所以,我们应用领域的人,还有大量的工作要做。同时,模型如何做到有足够的精度也是很重要的一个方面。例如,解一般流动的问题,NS方程是正确的,但是,算法是不是能够算到足够大的规模?特别是在高性能计算中大量的都是用并行计算。以前可能在串行上效率很好的,但是到并行上以后,它的效率马上下降,反过来在原来串行比较慢的方法,可能反而是一个好方法,这需要在编程思路上做一些转变。

  此外,效率和通用性的矛盾是一个十分重要的方面。学反应和化工过程的模拟实际上包含各种各样不同的算法,在这一个领域已经包含了很多不同的机器的需求,所以,实际上并不是说我们这个化学工程的计算就要用某一个类型特定的机器,对别的领域我相信也是这样,一个领域涉及到不同的算法。

  这个角度来讲,更应该打破领域概念,而是从算法本身特点来考虑底层的硬件。比如说解方程组是一种算法,解粒子运动是一种算法,应该从这个角度考虑不同的算法,应该用什么特殊的硬件,这些方法之间怎么耦合起来,解决各种各样的应用问题。

  不同的算法需要不同的硬件,然而不可能为每一种算法提供一个系统,所以就需要在通用型和效率之间寻求一个平衡。目前很多的情况下,效率和通用性这个矛盾还是比较突出的,又想哪都能用,又想效率高,这是一个很难的地方。

  一方面,让软件尽可能有通用性,另一方面,效率方面,针对软件设计的硬件,尽可能的有专门的设计提高它的效率,这样能够相对比较好的解决效率和通用性之间的矛盾。比如说以前的流动的问题,用方程组的解法,现在转化为粒子解法;比如说对于多项系统,对于颗粒和流体都可以用粒子方法解,以前我相当于两种方法去耦合,现在可以用同一种方法来解,这时候,算法设计的难度和并行性就提高了。当然,这并不是功能较多的,但是当你遇到一个问题的时候,你可能需要想这样一些非常规的办法。

  HPC未来如何走?混合计算提高耦合效率

  在谈到对于未来的展望时,葛蔚表示,混合计算—Heterogeneous结构目前来看是比较显著一个方向,可以发挥不同硬件的特长,针对不同的软件来提高耦合以后的效率。

  另一方面,在软件的开发方面应该大家投入,葛魏认为,现在中国经济发展迅速,购置一些硬件,买一些GPU或者超算的设备,不是一个特别大的问题,相对来讲,软件开发的投入不是特别的足。

  另外,怎么样保证一种机制,让大家有非常长的时间,稳定的去开发软件,都非常的关键。软件开发是长期投入才能得到比较好的效果,但是现在大部分的工作中,大家都愿意支持一些写论文,或者建一些硬件的东西。

  实验室规划:在软件和硬件的迭代中达到非常好的配合

  葛蔚还介绍了实验室在未来的一些规划,他表示,希望通过软件和硬件之间的迭代改进,来达到非常好的的配合。“我们现在主要还是在做一些应用软件的开发,近期主要侧重于应用。随着应用的深入,将会对硬件提出一些新的要求,根据这些硬件要求,再和其他一些单位合作,考虑怎么样构建新一代的硬件的设备,从硬件到软件,软件到硬件,这样相互不断的迭代,最后达到一个非常好的的配合。”

  具体的非常好的的硬件架构究竟是怎样的还需要慢慢探索。但是,葛蔚表示,应用对高性能计算的要求将会主要有几个方面,比如更加可靠,计算和访存的比例的改进,访存的速度应该进一步提高,通讯的速度进一步加快等。

  中科院过程工程研究所葛蔚研究员简介:http://cuda.it168.com/a2011/1121/1276/000001276798.shtml

  更多高性能计算内容请访问:高性能计算社区

0
相关文章