应用于金属系统的伪势平面波密度泛函理论代码的另一种 GPU 加速方法

IF 7.2 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS Computer Physics Communications Pub Date : 2024-11-20 DOI:10.1016/j.cpc.2024.109439
Xuejun Gong , Andrea Dal Corso
{"title":"应用于金属系统的伪势平面波密度泛函理论代码的另一种 GPU 加速方法","authors":"Xuejun Gong ,&nbsp;Andrea Dal Corso","doi":"10.1016/j.cpc.2024.109439","DOIUrl":null,"url":null,"abstract":"<div><div>We present an alternative <span>GPU</span> acceleration for plane waves pseudopotentials electronic structure codes designed for systems that have small unit cells but require a large number of <strong>k</strong> points to sample the Brillouin zone as happens, for instance, in metals. We discuss the diagonalization of the Kohn and Sham equations and the solution of the linear system derived in density functional perturbation theory. Both problems take advantage from a rewriting of the routine that applies the Hamiltonian to the Bloch wave-functions to work simultaneously (in parallel on the <span>GPU</span> threads) on the wave-functions with different wave-vectors <strong>k</strong>, as many as allowed by the <span>GPU</span> memory. Our implementation is written in <span>CUDA Fortran</span> and makes extensive use of kernel routines that run on the <span>GPU</span> (<span>GLOBAL</span> routines) or can be called from inside the <span>GPU</span> kernel (<span>DEVICE</span> routines). We compare our method with the <span>CPUs</span> only calculation and with the approach currently implemented in <span>Quantum ESPRESSO</span> that uses <span>GPU</span> accelerated libraries for the <span>FFT</span> and for the linear algebra tasks such as the matrix-matrix multiplications as well as <span>OpenACC</span> directives for loop parallelization. We show in a realistic example that our method can give a significant improvement in the cases for which it has been designed.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"308 ","pages":"Article 109439"},"PeriodicalIF":7.2000,"publicationDate":"2024-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"An alternative GPU acceleration for a pseudopotential plane-waves density functional theory code with applications to metallic systems\",\"authors\":\"Xuejun Gong ,&nbsp;Andrea Dal Corso\",\"doi\":\"10.1016/j.cpc.2024.109439\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>We present an alternative <span>GPU</span> acceleration for plane waves pseudopotentials electronic structure codes designed for systems that have small unit cells but require a large number of <strong>k</strong> points to sample the Brillouin zone as happens, for instance, in metals. We discuss the diagonalization of the Kohn and Sham equations and the solution of the linear system derived in density functional perturbation theory. Both problems take advantage from a rewriting of the routine that applies the Hamiltonian to the Bloch wave-functions to work simultaneously (in parallel on the <span>GPU</span> threads) on the wave-functions with different wave-vectors <strong>k</strong>, as many as allowed by the <span>GPU</span> memory. Our implementation is written in <span>CUDA Fortran</span> and makes extensive use of kernel routines that run on the <span>GPU</span> (<span>GLOBAL</span> routines) or can be called from inside the <span>GPU</span> kernel (<span>DEVICE</span> routines). We compare our method with the <span>CPUs</span> only calculation and with the approach currently implemented in <span>Quantum ESPRESSO</span> that uses <span>GPU</span> accelerated libraries for the <span>FFT</span> and for the linear algebra tasks such as the matrix-matrix multiplications as well as <span>OpenACC</span> directives for loop parallelization. We show in a realistic example that our method can give a significant improvement in the cases for which it has been designed.</div></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"308 \",\"pages\":\"Article 109439\"},\"PeriodicalIF\":7.2000,\"publicationDate\":\"2024-11-20\",\"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/S001046552400362X\",\"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/S001046552400362X","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

摘要

我们介绍了平面波伪势电子结构代码的另一种 GPU 加速方法,该方法专为具有小单元但需要大量 k 点来采样布里渊区的系统而设计,例如在金属中发生的情况。我们讨论了 Kohn 和 Sham 方程的对角化问题,以及密度泛函扰动理论推导出的线性系统的求解问题。这两个问题都利用了将哈密顿应用于布洛赫波函数的例程重写,以同时(在GPU线程上并行)处理具有不同波矢k的波函数,波矢k的数量在GPU内存允许的范围内。我们的实现是用 CUDA Fortran 编写的,并广泛使用了在 GPU 上运行的内核例程(GLOBAL 例程)或可从 GPU 内核内部调用的例程(DEVICE 例程)。我们将我们的方法与只使用 CPU 的计算方法以及目前在 Quantum ESPRESSO 中实施的方法进行了比较,后者将 GPU 加速库用于 FFT 和线性代数任务,如矩阵-矩阵乘法以及用于循环并行化的 OpenACC 指令。我们在一个现实的例子中表明,我们的方法可以在其设计的情况下带来显著的改进。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
An alternative GPU acceleration for a pseudopotential plane-waves density functional theory code with applications to metallic systems
We present an alternative GPU acceleration for plane waves pseudopotentials electronic structure codes designed for systems that have small unit cells but require a large number of k points to sample the Brillouin zone as happens, for instance, in metals. We discuss the diagonalization of the Kohn and Sham equations and the solution of the linear system derived in density functional perturbation theory. Both problems take advantage from a rewriting of the routine that applies the Hamiltonian to the Bloch wave-functions to work simultaneously (in parallel on the GPU threads) on the wave-functions with different wave-vectors k, as many as allowed by the GPU memory. Our implementation is written in CUDA Fortran and makes extensive use of kernel routines that run on the GPU (GLOBAL routines) or can be called from inside the GPU kernel (DEVICE routines). We compare our method with the CPUs only calculation and with the approach currently implemented in Quantum ESPRESSO that uses GPU accelerated libraries for the FFT and for the linear algebra tasks such as the matrix-matrix multiplications as well as OpenACC directives for loop parallelization. We show in a realistic example that our method can give a significant improvement in the cases for which it has been designed.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
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.
期刊最新文献
Asparagus: A toolkit for autonomous, user-guided construction of machine-learned potential energy surfaces DEMPgen: Physics event generator for Deep Exclusive Meson Production at Jefferson Lab and the EIC A Kalman filter for track reconstruction in very large time projection chambers An alternative GPU acceleration for a pseudopotential plane-waves density functional theory code with applications to metallic systems Screener and enumerator with force-field optimization (SEFFO): Algorithm for searching adsorption sites and configurations on 2D materials
×
引用
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