State of GPGPU in 2022

This page summarizes the projects mentioned and recommended in the original post on /r/rust

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • learn-wgpu

    Guide for using gfx-rs's wgpu library.

  • Nice and simple. Its quite portable too. But simplicity and ease of use come with some limitations. Ash is much more complex but can extract every bit of power from your card if needed. Wgpu-rs github comes with many examples and you can find a really nice tutorial here

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • rust-gpu

    🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

  • The book guide from rust-gpu was important to bootstrap my experience with Rust-gpu, but as you progress you'll soon realise that it is very, very limited. The code source repository of EmbarkStudio/rust-gpu is full of informations. Specifically this more or less up-to-date support page

  • wgpu

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

  • wgpu also supports compute shaders, though I haven't used it yet

  • futhark

    :boom::computer::boom: A data-parallel functional programming language

  • Albeit on a rather small-scale case, I have ben pretty happy interfacing Rust with Futhark kernels through the C ABI. I don't know how far you can go with that, but it worked nicely for me.

  • ash

    Vulkan bindings for Rust

  • Nice and simple. Its quite portable too. But simplicity and ease of use come with some limitations. Ash is much more complex but can extract every bit of power from your card if needed. Wgpu-rs github comes with many examples and you can find a really nice tutorial here

  • SPIRV-LLVM-Translator

    A tool and a library for bi-directional translation between SPIR-V and LLVM IR

  • Of course, CUDA is field tested framework to do job done. But it is interesting to look at other perspective technologies. Are there many differences between NVIDIA PTX and SPIR-V? Isn't possible to compile (Rust, C++, CUDA, etc.) to LLVM IR, then use tool like LLVM to SPIR-V translator and have GPU code that runs on any vendor card?

  • kompute

    General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.

  • Other API things, like command buffer recording, memory buffer allocation/copy, could be abstracted from Vulkan. There were attempts by few people, most notable Kompute, but they use GLSL.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • gpuweb

    Where the GPU for the Web work happens!

  • Wgpu has performance close to Vulkan in some cases, but still no compute performance benchmarks. Just curios, why wgpu couldn't just make extension to use advanced atomics, multiple queues or other high-performance feature in hardware that supports it? One of Vulkan and wgpu goals are to make it highly customizable through extensions. edit: actually already there is wgpu extension that supports (subgroup operations)[https://github.com/gpuweb/gpuweb/pull/1459]

  • rust-gpu-compute-example

    Minimal example of using rust-gpu and wgpu to dispatch compute shaders written in rust.

  • Basic rust-gpu compute example : One very simple example to setup a compute shader with Wgpu and rust-gpu.

  • compute-shader-101

    Sample code for compute shader 101 training (by DJMcNab)

  • DJMcNab compute shader examples: A great set of examples for rust-gpu and compute shaders.

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