Skip to content

Release matmul blog post #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 25, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions blog/2024-11-25-optimizing-matmul/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: "Optimizing a Rust GPU matmul kernel"
authors: ["LegNeato"]
slug: optimizing-matmul
tags: ["demo", "code", "performance"]
draft: true
---

I read the excellent post [Optimizing a WebGPU Matmul Kernel for 1TFLOP+
Expand Down Expand Up @@ -45,7 +44,8 @@ a low-level format that [most GPUs understand](https://vulkan.gpuinfo.org/). Sin
SPIR-V is the format [Vulkan](https://www.vulkan.org/) uses, Rust GPU makes it possible
to integrate Rust-based GPU programs into any Vulkan-compatible workflow[^1].

For more details, check out the [Rust GPU website](https://Rust-gpu.github.io/) or the [GitHub repository](https://github.com/Rust-gpu/Rust-gpu).
For more details, check out the [Rust GPU website](http://Rust-gpu.github.io/) or the
[GitHub repository](https://github.com/Rust-gpu/Rust-gpu).

## How does Rust GPU work?

Expand All @@ -54,9 +54,12 @@ what the GPU executes. However, Rust GPU doesn't dictate how you handle CPU-to-G
communication or data transfer. You're free to choose a host CPU library written in
whatever language that fits your project. Some popular options in Rust include:

- **[ash](https://github.com/ash-rs/ash)**: Low-level Vulkan bindings for Rust, providing maximum control over Vulkan operations.
- **[vulkano](https://github.com/vulkano-rs/vulkano)**: A higher-level Vulkan library that simplifies common tasks.
- **[wgpu](https://github.com/gfx-rs/wgpu)**: A cross-platform library that abstracts GPU operations across Vulkan, DirectX, Metal, and WebGPU.
- **[ash](https://github.com/ash-rs/ash)**: Low-level Vulkan bindings for Rust,
providing maximum control over Vulkan operations.
- **[vulkano](https://github.com/vulkano-rs/vulkano)**: A higher-level Vulkan library
that simplifies common tasks.
- **[wgpu](https://github.com/gfx-rs/wgpu)**: A cross-platform library that abstracts
GPU operations across Vulkan, DirectX, Metal, and WebGPU.

But again, you don't _have_ to use Rust for the CPU-side when using Rust on the GPU—any
language will do.
Expand Down