Search arXivSearch

arXiv · 2206.01791

Seamless GPU acceleration for C++ based physics with the Metal Shading Language on Apple's M series unified chips

Abstract

The M series of chips produced by Apple have proven a capable and power-efficient alternative to mainstream Intel and AMD x86 processors for everyday tasks. Additionally, the unified design integrating the central processing and graphics processing unit, have allowed these M series chips to excel at many tasks with heavy graphical requirements without the need for a discrete graphical processing unit (GPU), and in some cases even outperforming discrete GPUs. In this work, we show how the M series chips can be leveraged using the Metal Shading Language (MSL) to accelerate typical array operations in C++. More importantly, we show how the usage of MSL avoids the typical complexity of CUDA or OpenACC memory management, by allowing the central processing unit (CPU) and GPU to work in unified memory. We demonstrate how performant the M series chips are on standard one-dimensional and two-dimensional array operations such as array addition, SAXPY and finite difference stencils, with respect to serial and OpenMP accelerated CPU code. The reduced complexity of implementing MSL also allows us to accelerate an existing elastic wave equation solver (originally based on OpenMP accelerated C++) using MSL, with minimal effort, while retaining all CPU and OpenMP functionality. The resulting performance gain of simulating the wave equation is near an order of magnitude for specific settings. This gain attained from using MSL is similar to other GPU-accelerated wave-propagation codes with respect to their CPU variants, but does not come at much increased programming complexity that prohibits the typical scientific programmer to leverage these accelerators. This result shows how unified processing units can be a valuable tool to seismologists and computational scientists in general, lowering the bar to writing performant codes that leverage modern GPUs.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Lars Gebraad, Andreas Fichtner. 2022-06-28. Seamless GPU acceleration for C++ based physics with the Metal Shading Language on Apple's M series unified chips. https://doi.org/10.1785/0220220241

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Bi-Hamiltonian in Semiflexible Polymers built upon Overdamping Process

Quantifying the interaction between a system of interest and its ambient conditions, the memory effect links the states of two distinct Hamiltonians: one for the target system and one for the environment. In this paper, we propose the diffusion process derived from the Smoluchowski equation that can derive the evolution process described by the memory effect integration in a non Markovian regime. The Smoluchowski picture, within the framework of stochastic thermodynamics, justifies a diffusion process incorporated into the equations of motion, and the result of the derivation enables a coarse-grained molecular dynamics simulation with the modified equation of motion to reproduce attenuation from collisions between single walled carbon nanotubes (SWCNTs) under far from equilibrium conditions. The results of the numerical experiments on the collision confirm that heat diffusion compensates for the correlated momentum arising from the memory effect between the two Hamiltonians in both equilibrium and far from equilibrium states.

physics.comp-ph

Translation of transient acoustic fields

A method is presented for the translation of acoustic field data from a source to a target region. Field data are represented as spherical harmonic expansions on spheres surrounding the source and target regions respectively and expansions are translated using a ``point and shoot'' method using the Kirchhoff--Helmholtz integral to carry out an axial translation from one sphere to the other. The principal motivation for the method is its use in a time-domain Fast Multipole Method, and test cases reflective of this application are presented. The method converges to six digits for appropriate values of parameters and for the values of $N$ considered here computational effort scales approximately as $N^{2}$ where $N$ is the order of spherical harmonic expansion for the field data. The method is causal and thus avoids artifacts generated in methods which are not based on intrinsically causal formulations.

physics.comp-ph

Learning continuous reaction paths for transition-state prediction

Transition states are defined by reaction pathways, yet most machine-learning methods predict them as isolated geometries. We introduce MARC-TS, a two-stage framework that learns a continuous, endpoint-conditioned path, queries it at any resolution and uses local path context to refine a transition-state candidate. We construct T1x-IRC-8K, a dataset of 8,209 reactions and 1,088,725 path-resolved geometries. On held-out reactions, the path model reduced complete-path error by 48.4% relative to endpoint interpolation, and the localizer achieved a mean aligned structural error of 0.127 Å. Quantum-chemical optimization and vibrational analysis yielded 405 frequency-confirmed first-order saddle-point candidates from 410 predictions. In a 100-reaction nudged elastic band comparison, learned-path initialization reached a joint geometry-and-force target for 66% of reactions, compared with 12% for geometric interpolation after 100 optimizer steps. By treating the path as a reusable representation rather than an auxiliary output, MARC-TS connects transition-state prediction, mechanistic interpretation and quantum-chemical refinement.

physics.comp-ph