Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/larsgeb/m1-gpu-cpp
Metal Shading Language on Apple M1's GPU for scientific C++.
https://github.com/larsgeb/m1-gpu-cpp
clang cpp cpp17 gpu-acceleration gpu-computing m1-mac metal metal-cpp objective-c scientific-computing
Last synced: 3 months ago
JSON representation
Metal Shading Language on Apple M1's GPU for scientific C++.
- Host: GitHub
- URL: https://github.com/larsgeb/m1-gpu-cpp
- Owner: larsgeb
- License: other
- Created: 2022-04-20T12:20:59.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-20T19:36:42.000Z (over 1 year ago)
- Last Synced: 2024-10-09T08:08:15.091Z (4 months ago)
- Topics: clang, cpp, cpp17, gpu-acceleration, gpu-computing, m1-mac, metal, metal-cpp, objective-c, scientific-computing
- Language: C++
- Homepage:
- Size: 10.9 MB
- Stars: 79
- Watchers: 3
- Forks: 15
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
- [Getting started](https://larsgeb.github.io/2022/04/20/m1-gpu.html)
- [SAXPY and FD](https://larsgeb.github.io/2022/04/22/m1-gpu.html)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](https://arxiv.org/abs/2206.01791).