Skip to content

Metal Shading Language on Apple M1's GPU for scientific C++.

License

Notifications You must be signed in to change notification settings

larsgeb/m1-gpu-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3d8f8c5 · Feb 27, 2023

History

29 Commits
Jun 3, 2022
Feb 27, 2023
Jun 3, 2022
Jun 3, 2022
Apr 20, 2022
Jun 3, 2022
Apr 20, 2022
Jun 3, 2022
Apr 20, 2022
Apr 20, 2022
Jun 3, 2022
Jun 3, 2022
Jun 16, 2022

Repository files navigation

M1 GPUs for (scientific) computations in C++

In this repo, I explore the capabilities of the Metal Shading Language combined with C++, specifically for use of accelerating scientific codes.

This repo accompaines "Seamless GPU acceleration for C++ based physics using the M1's unified processing units, a case study for elastic wave propagation and full-waveform inversion". If you use VSCode, all instructions to compile can be found in .vscode.

I also wrote a few blog posts about the work in this repo:

However, if you just want to try out the code, make sure you install llvm and libomp using brew and Xcode and its command line tools. By cloning the repo and opening it in VSCode you should have all build configurations.

Additionally, I wrote a preprint (with the actual paper currently in peer-review) on how to use MSL for modelling of PDEs available on arXiv.