Ask HN: Resources for General Purpose GPU development on Apple's M* chips?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
getstream.io
featured
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.
www.influxdata.com
featured
  1. wgpu

    A cross-platform, safe, pure-Rust graphics API.

    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.

  2. 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.

    Stream logo
  3. 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.

  4. ANETools

    CLI Tools For ANE

    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.

  5. neural-engine

    Everything we actually know about the Apple Neural Engine (ANE)

    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.

  6. thps-crack

    Metal-Accelerated Cheat Code Cracker for Tony Hawk's Pro Skater 2/3

    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

  7. Metal.jl

    Metal programming in Julia

    I’ve had a good time dabbling with Metal.jl: https://github.com/JuliaGPU/Metal.jl

  8. GPU-Puzzles

    Solve puzzles. Learn CUDA.

    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

  9. 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.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • What's Next for WebGPU

    7 projects | news.ycombinator.com | 21 Nov 2024
  • A high-performance, zero-overhead, extensible Python compiler using LLVM

    6 projects | news.ycombinator.com | 18 Sep 2024
  • GLFW has merged proper support for client-side window decorations on Wayland!

    4 projects | /r/linux | 28 Mar 2023
  • Is modern C# a good choice for writing a Vulkan engine?

    3 projects | /r/gamedev | 7 Jan 2022
  • Language for game engine

    5 projects | /r/GraphicsProgramming | 2 Jan 2022