用GPU加速相对论迪拉克 - 科恩 - 沙姆方法:BERTHA和PyBERTHA的预exa规模实现
Loriano Storchi1,2, Laura Bellentani3, Jeff Hammond4
1Dipartimento di Farmacia, Università G. d'Annunzio Chieti-Pescara, via dei Vestini 31, 66100 Chieti, Italy.
Journal of chemical theory and computation
|March 21, 2025
概括
研究人员优化了Dirac-Kohn-Sham (DKS) 方法用于GPU,在复杂的计算中实现了显著的加速度. 这种混合CPU/GPU方法加速了科学计算,并使高效的大规模模拟成为可能.
科学领域:
- 计算物理 计算物理
- 量子化学 是一个量子化学.
- 高性能计算 高性能计算
背景情况:
- 狄拉克-科恩-沙姆 (DKS) 方法对于相对论电子结构计算至关重要.
- 对DKS的有效计算对于解决复杂的分子系统至关重要.
- 将计算代码移植到像GPU这样的现代硬件上对于性能增长至关重要.
研究的目的:
- 在BERTHA代码中展示DKS方法计算的进步.
- 为了证明FORTRAN代码对图形处理单元 (GPU) 的高效移植.
- 通过混合CPU/GPU实现加速DKS和实时DKS (RT-TDDKS) 计算.
主要方法:
- 使用混合的OpenMP/OpenACC编程模型进行CPU/GPU实现.
- 通过OpenACC将计算密集的DKS矩阵评估 (三中心二电子积分) 卸载到GPU.
- 使用GPU优化的线性代数库 (cuBLAS,cuSOLVER).
- 使用 FORTRAN 整体内核移植基于 Python 的 RT-TDDKS 实现 (PyBERTHART).
主要成果:
- 实现了显著的加快速度:在单点DKS能量计算 (Au16) 中高达30倍,在RT-TDDKS计算 (Au8) 中高达10倍.
- 展示了一个高效的混合CPU/GPU实现,利用FORTRAN和OpenACC.
- 成功地将Python API移植到基于FORTRAN内核的GPU,用于双电子积分评估.
结论:
- 介绍的混合CPU/GPU方法为DKS计算提供了相当大的加速.
- 这项工作代表了Python API对GPU的新移植,使用FORTRAN内核进行整体评估.
- 该方法是一般的,为未来的超大规模实施铺平了道路.
相关概念视频
Fermi Level Dynamics
210
The vacuum level denotes the energy threshold required for an electron to escape from a material surface. It is usually positioned above the conduction band of a semiconductor and acts as a benchmark for comparing electron energies within various materials.
Electron affinity in semiconductors refers to the energy gap between the minimum of its conduction band and the vacuum level and it is a critical parameter in determining how easily a semiconductor can accept additional electrons.
The work...
Electron affinity in semiconductors refers to the energy gap between the minimum of its conduction band and the vacuum level and it is a critical parameter in determining how easily a semiconductor can accept additional electrons.
The work...
210
Maxwell-Boltzmann Distribution: Problem Solving
1.4K
Individual molecules in a gas move in random directions, but a gas containing numerous molecules has a predictable distribution of molecular speeds, which is known as the Maxwell-Boltzmann distribution, f(v).
This distribution function f(v) is defined by saying that the expected number N (v1,v2) of particles with speeds between v1 and v2 is given by
This distribution function f(v) is defined by saying that the expected number N (v1,v2) of particles with speeds between v1 and v2 is given by
1.4K
Accelerating Fluids
984
When a fluid is in constant acceleration, the pressure and buoyant force equations are modified. Suppose a beaker is placed in an elevator accelerating upward with a constant acceleration, a. In the beaker, assume there is a thin cylinder of height h with an infinitesimal cross-sectional area, ΔS.
The motion of the liquid within this infinitesimal cylinder is considered to obtain the pressure difference. Three vertical forces act on this liquid:
The motion of the liquid within this infinitesimal cylinder is considered to obtain the pressure difference. Three vertical forces act on this liquid:
984
Ampere-Maxwell's Law: Problem-Solving
502
A parallel-plate capacitor with capacitance C, whose plates have area A and separation distance d, is connected to a resistor R and a battery of voltage V. The current starts to flow at t = 0. What is the displacement current between the capacitor plates at time t? From the properties of the capacitor, what is the corresponding real current?
To solve the problem, we can use the equations from the analysis of an RC circuit and Maxwell's version of Ampère's law.
For the first part of...
To solve the problem, we can use the equations from the analysis of an RC circuit and Maxwell's version of Ampère's law.
For the first part of...
502
Radiation Pressure: Problem Solving
302
The radiation pressure applied by an electromagnetic wave on a perfectly absorbing surface equals the energy density of the wave. The wave's momentum also gets transferred to the surface when an electromagnetic wave is entirely absorbed by it. The rate at which momentum is transmitted to an absorbing surface perpendicular to the propagation direction equals the force on the surface.
The average value of the rate of momentum transfer divided by the absorbing area represents the average force...
The average value of the rate of momentum transfer divided by the absorbing area represents the average force...
302
Acceleration Vectors
7.9K
In everyday conversation, accelerating means speeding up. Acceleration is a vector in the same direction as the change in velocity, Δv, therefore the greater the acceleration, the greater the change in velocity over a given time. Since velocity is a vector, it can change in magnitude, direction, or both. Thus acceleration is a change in speed or direction, or both. For example, if a runner traveling at 10 km/h due east slows to a stop, reverses direction, and continues their run at 10 km/h...
7.9K


