Cache blocking for flux reconstruction: Extension to Navier-Stokes equations and anti-aliasing

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS Computer Physics Communications Pub Date : 2024-08-05 DOI:10.1016/j.cpc.2024.109332
Semih Akkurt , Freddie Witherden , Peter Vincent
{"title":"Cache blocking for flux reconstruction: Extension to Navier-Stokes equations and anti-aliasing","authors":"Semih Akkurt ,&nbsp;Freddie Witherden ,&nbsp;Peter Vincent","doi":"10.1016/j.cpc.2024.109332","DOIUrl":null,"url":null,"abstract":"<div><p>In this article, cache blocking is implemented for the Navier Stokes equations with anti-aliasing support on mixed grids in PyFR for CPUs. In particular, cache blocking is used as an alternative to kernel fusion to eliminate unnecessary data movements between kernels at the main memory level. Specifically, kernels that exchange data are grouped together, and these groups are then executed on small sub-regions of the domain that fit in per-core private data cache. Additionally, cache blocking is also used to efficiently implement a tensor product factorisation of the interpolation operators associated with anti-aliasing. By using cache blocking, the intermediate results between application of the sparse factors are stored in per-core private data cache, and a significant amount of data movement from main memory is avoided. In order to assess the performance gains a theoretical model is developed, and the implementation is benchmarked using a compressible 3D Taylor-Green vortex test case on both hexahedral and prismatic grids, with third-, fourth-, and fifth-order solution polynomials. The expected performance gains based on the theoretical model range from 1.99 to 2.83, and the speedups obtained in practice range from 1.51 to 3.91 compared to PyFR v1.11.0.</p></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"305 ","pages":"Article 109332"},"PeriodicalIF":7.2000,"publicationDate":"2024-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0010465524002558/pdfft?md5=f253f41651251a63812f0a8e5e79c01d&pid=1-s2.0-S0010465524002558-main.pdf","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524002558","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

In this article, cache blocking is implemented for the Navier Stokes equations with anti-aliasing support on mixed grids in PyFR for CPUs. In particular, cache blocking is used as an alternative to kernel fusion to eliminate unnecessary data movements between kernels at the main memory level. Specifically, kernels that exchange data are grouped together, and these groups are then executed on small sub-regions of the domain that fit in per-core private data cache. Additionally, cache blocking is also used to efficiently implement a tensor product factorisation of the interpolation operators associated with anti-aliasing. By using cache blocking, the intermediate results between application of the sparse factors are stored in per-core private data cache, and a significant amount of data movement from main memory is avoided. In order to assess the performance gains a theoretical model is developed, and the implementation is benchmarked using a compressible 3D Taylor-Green vortex test case on both hexahedral and prismatic grids, with third-, fourth-, and fifth-order solution polynomials. The expected performance gains based on the theoretical model range from 1.99 to 2.83, and the speedups obtained in practice range from 1.51 to 3.91 compared to PyFR v1.11.0.

查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
通量重建的缓存阻塞:扩展到纳维-斯托克斯方程和抗锯齿
在本文中,PyFR for CPU 实现了在混合网格上支持抗锯齿的纳维-斯托克斯方程缓存阻塞。尤其是,缓存阻塞被用作内核融合的替代方法,以消除主内存级内核间不必要的数据移动。具体来说,将交换数据的内核分组,然后在适合每个内核专用数据缓存的小域子区域上执行这些分组。此外,缓存阻塞还用于高效地实现与抗锯齿相关的插值运算符的张量乘积因式分解。通过使用缓存阻塞,稀疏因子应用之间的中间结果被存储在每核专用数据缓存中,从而避免了从主存储器移动大量数据。为了评估性能增益,我们开发了一个理论模型,并使用六面体和棱柱网格上的可压缩三维泰勒-格林涡旋测试案例,以及三阶、四阶和五阶求解多项式,对实施情况进行了基准测试。与 PyFR v1.11.0 相比,基于理论模型的预期性能增益从 1.99 到 2.83 不等,而实际获得的速度提升从 1.51 到 3.91 不等。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
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.
期刊最新文献
An improved version of PyWolf with multithread-based parallelism support A new way to use nonlocal symmetries to determine first integrals of second-order nonlinear ordinary differential equations An algorithm for the incorporation of relevant FVM boundary conditions in the Eulerian SPH framework On-the-fly clustering for exascale molecular dynamics simulations Implementation of magnetic compressional effects at arbitrary wavelength in the global version of GENE
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1