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

TL;DR
This paper demonstrates how Apple's M series chips can be efficiently utilized with Metal Shading Language to accelerate C++ array operations and wave equation simulations, offering high performance with minimal programming complexity.
Contribution
It introduces a method to leverage MSL for GPU acceleration on M series chips, simplifying memory management compared to CUDA or OpenACC, and applies it to seismic wave simulation.
Findings
Near an order of magnitude performance improvement in wave simulation
MSL enables GPU acceleration with minimal code changes
Performance comparable to specialized GPU codes
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
