-
People have already mentioned Metal, but if you want cross platform, https://github.com/gfx-rs/wgpu has a vulkan-like API and cross compiles to all the various GPU frameworks. I believe it uses https://github.com/KhronosGroup/MoltenVK to run on Macs. You can also see the metal shader transpilation results for debugging.
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
MoltenVK
MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on macOS, iOS and tvOS.
People have already mentioned Metal, but if you want cross platform, https://github.com/gfx-rs/wgpu has a vulkan-like API and cross compiles to all the various GPU frameworks. I believe it uses https://github.com/KhronosGroup/MoltenVK to run on Macs. You can also see the metal shader transpilation results for debugging.
-
You can help with the reverse engineering of the Apple Silicon done by a dozen people, that is how we find out the GPU and NPU instructions[1][2].
[1] https://github.com/antgroup-skyward/ANETools/tree/main/ANEDi...
[2] https://github.com/hollance/neural-engine
You can use a high level API like Metal or CoreML to use the GPU to compute other things on the GPU and NPU.
[3] is an example programming language that translates into WebGPU/WEBGL.
-
You can help with the reverse engineering of the Apple Silicon done by a dozen people, that is how we find out the GPU and NPU instructions[1][2].
[1] https://github.com/antgroup-skyward/ANETools/tree/main/ANEDi...
[2] https://github.com/hollance/neural-engine
You can use a high level API like Metal or CoreML to use the GPU to compute other things on the GPU and NPU.
[3] is an example programming language that translates into WebGPU/WEBGL.
-
It's hard to answer not knowing exactly what your aim is, or your experience level with CUDA and how easily the concepts you know will map to Metal, and what you find "restricted and convoluted" about the documentation.
helped me write some simple Metal-accelerated code by scaffolding the compute pipeline, which took most of the nuisance out of learning the API and let me focus on writing the kernel code.
Here's the code if it's helpful at all. https://github.com/rgov/thps-crack
-
I’ve had a good time dabbling with Metal.jl: https://github.com/JuliaGPU/Metal.jl
-
If you're looking for a high level introduction to GPU development on Apple silicon I would recommend learning Metal. It's Apple's GPU acceleration language similar to CUDA for Nvidia hardware. I ported a set of puzzles for CUDA called GPU-Puzzles (a collection of exercises designed to teach GPU programming fundamentals)[1] to Metal [2]. I think it's a very accessible introduction to Metal and writing GPU kernels.
[1] https://github.com/srush/GPU-Puzzles
[2] https://github.com/abeleinin/Metal-Puzzles
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.