%A 孟德龙,文敏华,韦建文,林新华 %T 神威太湖之光上OpenFOAM的移植与优化 %0 Journal Article %D 2017 %J 计算机科学 %R 10.11896/j.issn.1002-137X.2017.10.012 %P 64-70 %V 44 %N 10 %U {https://www.jsjkx.com/CN/abstract/article_16703.shtml} %8 2018-12-01 %X 神威太湖之光是最新一期Top500榜单上排名第一的超级计算机,峰值性能为125.4 PFlops,其计算能力主要归功于国产SW26010众核处理器。OpenFOAM(Open Source Field Operation and Manipulation)是计算流体力学领域使用最广泛的开源软件包,但是由于其基于C++实现,与神威太湖之光上的异构众核处理器SW26010的编译器不兼容,因此无法直接在该架构上有效运行。基于SW26010的主核/从核的体系架构移植了OpenFOAM的核心计算代码,并采用混合语言编程实现的方式来解决编译不兼容的问题。此外,通过寄存器通信、向量化和双缓冲等优化手段,单核组的性能较优化后的主核代码提高了8.03倍,较Intel(R) Xeon(R) CPU E5-2695 v3的串行执行性能提高了1.18倍。同时,将单核组的实现扩展到了神威太湖之光的大规模集群上,并进行了强可扩展性测试,256个核组上实现了184.9倍的加速。采用的移植方式和优化手段也可以为其他复杂C++程序在神威太湖之光上的应用提供借鉴。