• ISSN: 1674-7461
  • CN: 11-5823/TU
  • 主管:中国科学技术协会
  • 主办:中国图学学会
  • 承办:中国建筑科学研究院有限公司

基于OpenSees的大型结构分析GPU高性能计算方法

解琳琳, 韩博, 许镇, 陆新征, 任爱珠

解琳琳, 韩博, 许镇, 陆新征, 任爱珠. 基于OpenSees的大型结构分析GPU高性能计算方法[J]. 土木建筑工程信息技术, 2014, 6(5): 22-25.
引用本文: 解琳琳, 韩博, 许镇, 陆新征, 任爱珠. 基于OpenSees的大型结构分析GPU高性能计算方法[J]. 土木建筑工程信息技术, 2014, 6(5): 22-25.
Xie Linlin, Han Bo, Xu Zhen, Lu Xinzheng, Ren Aizhu. GPU Powered High-performance Computing Method for the Analysis of Large-Scale Structures based on OpenSees[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2014, 6(5): 22-25.
Citation: Xie Linlin, Han Bo, Xu Zhen, Lu Xinzheng, Ren Aizhu. GPU Powered High-performance Computing Method for the Analysis of Large-Scale Structures based on OpenSees[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2014, 6(5): 22-25.

基于OpenSees的大型结构分析GPU高性能计算方法

基金项目: 

北京市自然科学基金 8142024

国家自然科学基金 91315301

国家科技支撑计划课题(2013BAJ08B02), 国家自然科学基金(91315301, 51378299), 北京市自然科学基金(8142024)

国家自然科学基金 51378299

国家科技支撑计划课题 2013BAJ08B02

详细信息
    作者简介:

    解琳琳(1986-), 男, 博士研究生。主要从事高层结构抗震研究

    陆新征(1978-), 男, 教授, 博士。主要从事结构非线性仿真研究

  • 中图分类号: TU313;O246

GPU Powered High-performance Computing Method for the Analysis of Large-Scale Structures based on OpenSees

  • 摘要: 近年来我国大型结构抗震弹塑性分析得到了广泛应用, 其中OpenSees作为一款开源有限元程序已逐渐成为最具国际影响力的计算平台之一。但是由于该软件的矩阵求解器效率较低, 难以满足大型结构的计算需求。因此本文以GPU高性能求解为技术手段, 在OpenSees中集成了两个基于迭代法的并行线性求解器, 并通过两个大规模模型验证了基于GPU进行大型结构弹塑性分析的可靠性和高效性(加速比9~15), 为进一步开展基于OpenSees的大型结构地震灾变行为研究提供了高效的计算方法。
    Abstract: Numerical simulation using finite element (FE) software packages has been widely adopted to investigate the seismic performance of large-scale structures, recently.Among these, Open System for Earthquake Engineering Simulation (OpenSees), as an open-source FE software program, has increasingly become one of the most influential packages.However, the computational efficiency of the matrix solvers currently cannot satisfy the demand for numerical simulation of large-scale structures.Consequently, two new, parallel, iterative linear solvers are proposed and implemented in OpenSees based on two graphic processing unit-based (GPU-based) libraries.The time history analysis of two typical large-scale structures are performed using the proposed solvers.The speed-up ratio of the proposed solvers are up to 9 to 15 (achieved with high accuracy in results).The research outcome can provide an effective computing technology for further numerical analysis of the seismic behavior of large-scale structures.
  • 近年来世界范围内地震频发, 这使得高层、超高层、大型桥梁和百米高坝等大型重要建筑的抗震性能研究成为了一个研究热点问题。大量研究表明, 数值模拟已经日益成为研究这类大型重要建筑抗震性能的一个有效手段[1-4]。其中OpenSees[5](Open System for Earthquake Engineering Simulation)作为一款开源的有限元软件, 由于具有良好的灵活性和可扩展性, 已经逐渐成为最具国际影响力的计算平台之一。

    陆新征等基于分层壳理论, 在OpenSees中开发了用于模拟大型结构中剪力墙、核心筒、桥面板和桥桩等重要构件的分层壳模型, 并将该模型应用于超高层[6, 7]和特大跨桥梁[8]等大型结构的抗震性能分析, 为基于OpenSees的大型结构的抗震性能研究提供了参考。然而研究表明基于CPU(Central Processing Unit, 中央处理器)使用OpenSees对大型结构进行抗震性能研究, 其计算效率往往较低, 这大大制约了基于OpenSees的大型结构抗震性能研究的深入开展。

    相比于CPU, GPU(Graphic Processing Unit, 图像处理器)具有强大的并行计算能力, 且价格较为低廉, 因此近年来基于GPU的高性能计算在通用计算领域得到了快速的发展和应用。韩博等[9]基于高性能GPU计算对城市建筑群进行了震害模拟, 研究结果表明GPU的计算效率可以达到相同价位CPU的40多倍, 证明了采用GPU进行大规模结构群抗震性能分析的可行性和高效性。得益于OpenSees的开源特性, 本研究成功实现了两个基于GPU的并行迭代线性求解器的开发, 在OpenSees中集成了相应的GPU加速计算模块, 并采用上述新求解器对一141.8m高的框架核心筒结构和632m高的上海中心进行弹塑性动力时程分析。结果表明, 相比于CPU采用GPU可使非线性时程分析的计算效率提高8~14倍, 且计算结果与CPU计算结果吻合良好, 为进一步开展基于OpenSees的大型结构地震灾变行为研究提供了高效的计算方法。

    OpenSees求解线性方程组模块主要由以下两个基类组成:LinearSOE(Linear System of Equation)类和LinearSOESolver(Linear System of Equation Solver)类。其中LinearSOE类指定了方程组的存储类型, 而LinearSOESolver类则指定了求解方程组所使用的求解器。线性方程组矩阵通常由质量阵、刚度阵和阻尼阵组成。对于大型结构, 其OpenSees模型往往由杆系模型和分层壳模型组成, 其刚度阵、质量阵和阻尼阵(如果采用经典瑞雷阻尼)呈现出明显的稀疏矩阵特性。因此对于该类结构模型其方程组Ax=b通常以稀疏矩阵的方式存储, 且采用相应的稀疏矩阵求解器进行计算。

    OpenSees2.4.3版本中主要集成了SparseSYM和SuperLU等稀疏矩阵求解器, 这些求解器大多基于直接求解法。由于直接法一般采用三角分解和消元求解, 其算法并行化空间较小, 导致上述基于直接求解法的求解器无法高效使用并行方法, 所有其计算效率偏低, 难以满足大型结构的计算需求。

    GPU具有强大的浮点运算能力和并行计算能力, 这非常有利于大型结构模型的高性能计算。然而OpenSees原有的线性方程组求解器并不适合采用GPU进行并行化处理。因此, 有必要为OpenSees开发并集成适合GPU并行求解的稀疏矩阵方程求解器。为了提升GPU加速求解器的性能, 并保持与OpenSees原版计算程序良好的兼容性, GPU加速求解器根据下述原则编写:

    (1) 采用迭代法求解, 以便最大限度地发挥GPU多核并行计算能力, 提高计算性能;

    (2) 分别设计存储类(LinearSOE)与求解器类(LinearSOESolver), 加强兼容性和可扩展性, 其中基于GPU的求解器类继承OpenSees原有LinearSOESolver类进行设计, 最大限度保持与OpenSees其他求解模块的兼容性;

    (3) 求解函数本身设计为DLL(Dynamic-Link Library, 动态链接库)形式, 可以方便地进行求解函数的替换和修改。

    基于GPU的稀疏矩阵加速求解器工作流程如图 1所示, 首先在CPU中集成方程组, 然后将方程组中的矩阵和向量数据拷贝到显存中, 再采用GPU进行并行迭代求解, 最终将计算结果返回给CPU用于下一步的计算。

    图 1 基于GPU的OpenSees稀疏矩阵加速求解器
    图  1  基于GPU的OpenSees稀疏矩阵加速求解器

    对于存储类LinearSOE, 稀疏矩阵具有多种存储形式, OpenSees中提供了SparseGenRowLinSOE类, 其采用常用的CSR格式(Compressed Sparse Row, 压缩存储格式)对矩阵进行存储。这种存储格式具有以下优点:可以快速的与COO格式(Coordinate, 坐标格式)进行转换; 存储占用空间低; 可以快速获得一些矩阵特征数; 在GPU上这种格式可以方便高效地进行矩阵乘矩阵、矩阵乘向量的并行计算。因此本研究直接采用此类作为存储类。

    在确定了SparseGenRowLinSOE作为LinearSOE后, 需为其编写基于GPU计算的LinearSOESolver类。为此, 本研究引入两个基于CUDA(Compute Unified Device Architecture, 通用并行计算架构)[10]编写的GPU加速稀疏矩阵方程组求解库—CulaSparse[11](可用于科研用途的线性代数函数模板库)和CuSP[12](开源的稀疏矩阵函数模板库), 作为OpenSees中稀疏矩阵方程组的求解器加速求解。其中CuSP已被集成至OpenSees2.4.4版本, 相应命令流详见http://opensees.berkeley.edu/wiki/index.php/Cusp

    为了研究GPU在大型结构模型弹塑性时程分析时的加速效果, 本研究对上述两个求解器进行了性能测试。测试选用为TBI2N模型[6](高141.8m, 43层)和上海中心模型[7](高632m, 121层)。其中TBI2N模型包含23 945个结点, 23 024个纤维梁柱单元和16 032个分层壳单元, 模型如图 2(a)所示; 上海中心模型包含53 006个结点, 48 774个纤维梁柱单元和39 315个分层壳单元, 模型如图 2(b)所示。选取El-Centro 1940地震动记录作为地震动输入, 加速度峰值分别调幅为400gal(TBI2N)和1 000gal(上海中心), 以研究GPU加速求解器在结构强非线性阶段的计算效率和计算结果的可靠性。

    图 2 测试模型
    图  2  测试模型

    为了验证GPU加速求解器计算结果的可靠性和明确相应的计算效率, 本研究同时采用CPU和GPU平台对上述模型分别进行计算和对比。两个计算平台硬件配置及所采用的求解器如表 1所示。

    表  1  测试平台硬件配置及求解器
    平台 硬件 价格及购置时间 求解器
    CPU Intel Core i7-3970X 3.5GHz 15645元2013年6月 SparseSYM
    GPU Intel Core i7-4770X 3.4GHz & NVIDIA Geforce GTX Titan 15005元2013年12月 CulaSparse Solver & CuSP Solver
    下载: 导出CSV 
    | 显示表格

    基于OpenSees的GPU加速求解器和CPU求解器分别对TBI2N和上海中心进行弹塑性时程分析。三种求解器计算所得的顶点时程曲线对比如图 3所示, 从图中可以看出采用两种GPU求解器进行计算的结果基本一致, 与CPU求解结果虽然存在一定的误差, 但误差较小基本可以忽略, 验证了基于GPU稀疏矩阵加速求解器的可靠性。

    图 3 顶点时程曲线对比
    图  3  顶点时程曲线对比

    三种求解器的计算时长及两种GPU求解器的加速比(CPU计算时长/GPU计算时长)分别如表 2所示, 从表中可以看出采用两种GPU加速求解器进行弹塑性时程分析, 可以使计算效率提升8~14倍, 验证了基于GPU的OpenSees稀疏矩阵加速求解器的高效性。

    表  2  三种求解器计算用时
    平台 求解器 TBI2N计算用时 加速比 上海中心计算用时 加速比
    CPU SparseSYM 168h \ 409h \
    GPU CulaSparseSolver 18h 9.33 38h 10.76
    CuSPSolver 11h 15.27 27.5h 14.87
    下载: 导出CSV 
    | 显示表格

    本研究通过引入两个基于CUDA的GPU加速稀疏矩阵方程组求解库—CulaSparse和CuSP, 在开源有限元软件OpenSees中成功实现了基于GPU的并行迭代线性稀疏矩阵求解器的开发。并通过对TBI2N模型和上海中心模型进行弹塑性时程分析, 验证了基于本文提出的求解器进行大型结构弹塑性分析的可靠性和高效性(加速比为9~15), 为进一步开展基于OpenSees的大型结构地震灾变行为研究提供了高效的计算方法。

    致谢: 本研究得到国家科技支撑计划课题(No.2013BAJ08B02)、国家自然科学基金(No.91315301, 51378299)、北京市自然科学基金(No.8142024)的支持, 特此感谢!参与本文研究的还有清华大学研究生李梦珂、田源等。
  • 图  1   基于GPU的OpenSees稀疏矩阵加速求解器

    图  2   测试模型

    图  3   顶点时程曲线对比

    表  1   测试平台硬件配置及求解器

    平台 硬件 价格及购置时间 求解器
    CPU Intel Core i7-3970X 3.5GHz 15645元2013年6月 SparseSYM
    GPU Intel Core i7-4770X 3.4GHz & NVIDIA Geforce GTX Titan 15005元2013年12月 CulaSparse Solver & CuSP Solver
    下载: 导出CSV

    表  2   三种求解器计算用时

    平台 求解器 TBI2N计算用时 加速比 上海中心计算用时 加速比
    CPU SparseSYM 168h \ 409h \
    GPU CulaSparseSolver 18h 9.33 38h 10.76
    CuSPSolver 11h 15.27 27.5h 14.87
    下载: 导出CSV
  • [1]

    Lu X, Lu XZ, Guan H, Ye LP.Collapse simulation of reinforced concrete high-rise building induced by extreme earthquakes [J].Earthquake Engineering & Structural Dynamics, 2013, 42(5):705-723. https://research-repository.griffith.edu.au/bitstream/handle/10072/49281/79444_1.pdf;sequence=1

    [2]

    Li MK, Lu X, Lu XZ, Ye LP.Influence of the soil-structure interaction on the seismic collapse resistance of super-tall buildings [J].Journal of Rock Mechanics and Geotechnical Engineering, 2014, 6(5):477-485. DOI: 10.1016/j.jrmge.2014.04.006

    [3]

    Xu LJ, Lu XZ, Guan H, Zhang YS.Finite element and simplified models for collision simulation between over-height trucks and bridge superstructures [J].Journal of Bridge Engineering, ASCE.2013, 18(11):1140-1151. DOI: 10.1061/(ASCE)BE.1943-5592.0000472

    [4]

    Lu X, Lu XZ, Zhang WK, Ye LP.Collapse simulation of a super high-rise building subjected to extremely strong earthquakes [J].Science China Technological Sciences, 2011, 54(10):2549-2560. DOI: 10.1007/s11431-011-4548-0

    [5]

    McKenna F, Scott MH, Fenves GL.Nonlinear finite-element analysis software architecture using object composition [J].Journal of Computing in Civil Engineering, 2009, 24(1):95-107. https://www.sciencedirect.com/science/article/pii/S0168874X15000074

    [6] 解琳琳, 黄羽立, 陆新征, 等.基于OpenSees的RC框架-核心筒超高层建筑抗震弹塑性分析[J].工程力学, 2014, 31(1):64-71. http://www.cnki.com.cn/Article/CJFDTOTAL-GCLX201401009.htm
    [7]

    Xie Linlin, Huang Yuli, Lu Xinzheng et al.Elasto-plastic analysis for super tall RC frame-core tube structures based on OpenSees [J].Engineering Mechanics, 2014, 31(1):64-71. https://www.researchgate.net/publication/288655792_Elasto-plastic_analysis_for_super_tall_RC_frame-core_tube_structures_based_on_OpenSees

    [8]

    Xie LL, Lu X, Lu XZ, Huang YL, Ye LP.Multi-layer shell element for shear walls in OpenSees [J].Computing in Civil and Building Engineering, 2014:1190-1197. DOI: 10.1061/9780784413616.148

    [9]

    URL: http://www.luxinzheng.net/download/OpenSees_Workshop/LuXinzheng.pdf.

    [10]

    Lu XZ, Han B, Hori M, Xiong C, Xu Z.A coarse-grained parallel approach for seismic damage simulations of urban areas based on refined models and GPU/CPU cooperative computing [J].Advances in Engineering Software, 2014, 70:90-103. DOI: 10.1016/j.advengsoft.2014.01.010

    [11]

    NVIDIA. NVIDIA CUDA programming guide. 2012 [EB/OL]. (2012-10-01). http://docs.NVIDIA.com/cuda/pdf/CUDA_C_Programming_Guide.pdf.

    [12]

    Humphrey JR, Price DK, Spagnoli KE et al. CULA: hybrid GPU accelerated linear algebra routines [C]. SPIE Defense, Security, and Sensing. International Society for Optics and Photonics, 2010: 770502-770502-7.

    [13]

    CuSP Home Page [EB/OL]. http://cusplibrary.github.io/.

图(3)  /  表(2)
计量
  • 文章访问数:  2158
  • HTML全文浏览量:  1959
  • PDF下载量:  40
  • 被引次数: 0
出版历程
  • 发布日期:  2014-09-30
  • 刊出日期:  2014-09-30

目录

/

返回文章
返回