有限元内核动态适应 SIMD 矢量化方法

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Kristian Kadlubiak, Ondřej Meca, Lubomír Říha, Tomáš Brzobohatý
{"title":"有限元内核动态适应 SIMD 矢量化方法","authors":"Kristian Kadlubiak,&nbsp;Ondřej Meca,&nbsp;Lubomír Říha,&nbsp;Tomáš Brzobohatý","doi":"10.1016/j.cpc.2024.109319","DOIUrl":null,"url":null,"abstract":"<div><p>The paper focuses on the optimization of the FEM matrix kernels with respect to user-defined parameters such as materials, initial conditions, and boundary conditions that are known during run-time only. Adapting the kernels to specific parameters can save a significant amount of execution time and increase performance. Handling them efficiently is challenging due to the exponential number of potential combinations that the user can specify.</p><p>The paper presents an approach that combines (a) cross-element vectorization for the easy-to-write transformation of the original scalar code to vectorized one, (b) meta-programming for utilization of a compiler for building sub-kernels tailored for a particular set of parameters, (c) and dynamic polymorphism allowing run-time selection of sub-kernels.</p><p>We show that the above techniques allow (1) straightforward code modifications, (2) efficient handling of required dynamic behavior with a minor performance penalty for most kernels, and (3) achieving up to 8-fold speedups compared to non-adapted kernels.</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"304 ","pages":"Article 109319"},"PeriodicalIF":7.2000,"publicationDate":"2024-07-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"An approach for dynamically adaptable SIMD vectorization of FEM kernels\",\"authors\":\"Kristian Kadlubiak,&nbsp;Ondřej Meca,&nbsp;Lubomír Říha,&nbsp;Tomáš Brzobohatý\",\"doi\":\"10.1016/j.cpc.2024.109319\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The paper focuses on the optimization of the FEM matrix kernels with respect to user-defined parameters such as materials, initial conditions, and boundary conditions that are known during run-time only. Adapting the kernels to specific parameters can save a significant amount of execution time and increase performance. Handling them efficiently is challenging due to the exponential number of potential combinations that the user can specify.</p><p>The paper presents an approach that combines (a) cross-element vectorization for the easy-to-write transformation of the original scalar code to vectorized one, (b) meta-programming for utilization of a compiler for building sub-kernels tailored for a particular set of parameters, (c) and dynamic polymorphism allowing run-time selection of sub-kernels.</p><p>We show that the above techniques allow (1) straightforward code modifications, (2) efficient handling of required dynamic behavior with a minor performance penalty for most kernels, and (3) achieving up to 8-fold speedups compared to non-adapted kernels.</p></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"304 \",\"pages\":\"Article 109319\"},\"PeriodicalIF\":7.2000,\"publicationDate\":\"2024-07-17\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S001046552400242X\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S001046552400242X","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

摘要

本文的重点是根据用户定义的参数(如材料、初始条件和边界条件)优化有限元矩阵内核,这些参数仅在运行时已知。根据特定参数调整矩阵核可以节省大量执行时间并提高性能。本文介绍了一种方法,该方法结合了(a)跨元素矢量化,便于将原始标量代码转换为矢量化代码;(b)元编程,利用编译器为特定参数集构建子内核;(c)动态多态性,允许运行时选择子内核。我们的研究表明,采用上述技术可以:(1)直接修改代码;(2)高效处理所需的动态行为,对大多数内核的性能影响较小;(3)与非适配内核相比,速度最多可提高 8 倍。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
An approach for dynamically adaptable SIMD vectorization of FEM kernels

The paper focuses on the optimization of the FEM matrix kernels with respect to user-defined parameters such as materials, initial conditions, and boundary conditions that are known during run-time only. Adapting the kernels to specific parameters can save a significant amount of execution time and increase performance. Handling them efficiently is challenging due to the exponential number of potential combinations that the user can specify.

The paper presents an approach that combines (a) cross-element vectorization for the easy-to-write transformation of the original scalar code to vectorized one, (b) meta-programming for utilization of a compiler for building sub-kernels tailored for a particular set of parameters, (c) and dynamic polymorphism allowing run-time selection of sub-kernels.

We show that the above techniques allow (1) straightforward code modifications, (2) efficient handling of required dynamic behavior with a minor performance penalty for most kernels, and (3) achieving up to 8-fold speedups compared to non-adapted kernels.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper. Computer Programs in Physics (CPiP) These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged. Computational Physics Papers (CP) These are research papers in, but are not limited to, the following themes across computational physics and related disciplines. mathematical and numerical methods and algorithms; computational models including those associated with the design, control and analysis of experiments; and algebraic computation. Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信