OpenCL implementation of a high performance 3D Peridynamic model on graphics accelerators

OpenCL implementation of a high performance 3D Peridynamic model on graphics accelerators
复制标题

DOI:
10.1016/j.camwa.2017.06.045
复制
发表时间:
2017-10
期刊:
Comput. Math. Appl.
影响因子:
--
通讯作者:
F. Mossaiby;A. Shojaei;M. Zaccariotto;U. Galvanetto
F. Mossaiby;A. Shojaei;M. Zaccariotto;U. Galvanetto
中科院分区:
其他
文献类型:
--
作者:
F. Mossaiby;A. Shojaei;M. Zaccariotto;U. Galvanetto

文献摘要

被引文献

相似文献

并行处理是计算力学界的主要趋势之一。由于处理器设计的固有限制,制造商已转向多核和众核架构。由于高可用性和处理能力以及成熟的开发工具和社区经验,图形处理单元(GPU)越来越受欢迎。在本研究中,我们描述了一种在 GPU 平台上使用 OpenCL 实现 3D 近场动力学模型的相当通用的方法。近场动力学是一种非局部连续理论,用于描述所用材料的行为,特别是当对损伤和裂纹成核或扩展感兴趣时。提供了从串行代码开发 OpenMP 代码所采取的步骤以及 OpenCL 和 OpenMP 代码之间的比较。描述了优化技术及其对代码性能的影响。这些实现在一些具有数十万到数百万个节点的 3D 基准测试上进行了测试。分析了代码在内存或计算限制方面的行为。在报告的所有测试用例中,OpenCL 实现始终优于串行和 OpenMP 实现,并为高性能 Peridynamics 代码的开发铺平了道路。
Parallel processing is one of the major trends in the computational mechanics community. Due to inherent limitations in processor design, manufacturers have shifted towards the multi- and many-core architectures. The graphics processing units (GPUs) are gaining more and more popularity due to high availability and processing power as well as maturity of development tools and community experience. In this research we describe a rather general approach to using OpenCL implementation of 3D Peridynamics model on GPU platform. Peridynamics is a non-local continuum theory for describing the behavior of material used especially when damage and crack nucleation or propagation is of interest. The steps taken for developing an OpenMP code from the serial one as well as the comparison between OpenCL and OpenMP codes are provided. Optimization techniques and their effects on the performance of the code are described. The implementations are tested on some 3D benchmarks with hundred of thousands to millions of nodes. The behavior of codes in terms of being memory or compute bound are analyzed. In all test cases reported, the OpenCL implementation consistently outperforms serial and OpenMP ones and paves the road for the development of high performance Peridynamics codes.