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

zhqroger/m1-gpu-cpp

 
 

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.5%
  • Metal 11.0%
  • Python 10.0%
  • Objective-C 5.5%