Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hollance/metal-gpgpu
Collection of notes on how to use Apple’s Metal API for compute tasks
https://github.com/hollance/metal-gpgpu
deep-learning gpgpu gpu gpu-programming ios macos metal objective-c swift
Last synced: 4 months ago
JSON representation
Collection of notes on how to use Apple’s Metal API for compute tasks
- Host: GitHub
- URL: https://github.com/hollance/metal-gpgpu
- Owner: hollance
- Created: 2018-07-10T18:49:43.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-10T18:50:58.000Z (over 6 years ago)
- Last Synced: 2023-03-11T06:03:50.855Z (almost 2 years ago)
- Topics: deep-learning, gpgpu, gpu, gpu-programming, ios, macos, metal, objective-c, swift
- Size: 1000 Bytes
- Stars: 86
- Watchers: 10
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
Awesome Lists containing this project
README
# Metal GPGPU
This is a collection of notes on how to use Apple's **Metal** API for **compute** tasks. 🤘
Metal is a low-level graphics programming API for iOS and macOS but it can also be used for general-purpose compute on these devices. Unfortunately, Metal is not extensively documented. And the existing docs assume that you already know other graphics or compute APIs such as OpenGL, OpenCL, or CUDA.
Hopefully these notes will help you understand Metal a little better. Mostly I collected this information because my poor brain can't possibly remember all this stuff, and I thought it would be useful to turn it into a community thing.
> **NOTE:** This is a work-in-progress. Use these notes at your own risk -- there may be mistakes. Pull requests for corrections and enhancements are welcome!
## Table of contents
(coming soon)
## See also
There is a lot of useful documentation inside the Metal header files. You can find these at the following locations:
1. First, go to `/Applications/Xcode.app/Contents/Developer/Platforms/`
2. Pick your platform: `iPhoneOS.platform/`, `AppleTVOS.platform/`, or `MacOSX.platform/`
3. For the Metal standard library, go to: `usr/lib/clang//include/metal`
4. For Metal.framework, MetalKit.framework, MetalPerformanceShaders.framework, go to:
`Developer/SDKs//System/Library/Frameworks`Web pages from Apple:
- [developer.apple.com/metal](https://developer.apple.com/metal/) -- links to the official documentation, WWDC videos, and sample code
- [Metal Shading Language Specification](https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf)
- [Apple Developer Forums: Metal](https://forums.developer.apple.com/community/graphics-and-games/metal)Other useful websites about using Metal (mostly graphics, not so much compute):
- [Metal questions on Stack Overflow](https://stackoverflow.com/questions/tagged/metal)
- [Metal tutorials at raywenderlich.com](https://www.raywenderlich.com/tag/metal)
- [metalkit.org](http://metalkit.org)
- [Metal by Example](http://metalbyexample.com)Websites and courses about GPGPU programming:
- [Udacity cs344, Intro to Parallel Programming](https://udacity.com/course/intro-to-parallel-programming--cs344)
## Change log
#### 10 July 2018
First version.
## License
The content is licensed under the Creative Commons [Attribution-NonCommercial-ShareAlike 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) license.