Skip to content

Commit

Permalink
Switch to docusaurus (#4)
Browse files Browse the repository at this point in the history
  • Loading branch information
LegNeato authored Oct 30, 2024
1 parent 8d5b7ad commit a099a14
Show file tree
Hide file tree
Showing 53 changed files with 10,847 additions and 492 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Deploy to GitHub Pages

on:
push:
branches:
- main
# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on

jobs:
build:
name: Build Docusaurus
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn

- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build website
run: yarn build

- name: Upload Build Artifact
uses: actions/upload-pages-artifact@v3
with:
path: build

deploy:
name: Deploy to GitHub Pages
needs: build

# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source

# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
31 changes: 0 additions & 31 deletions .github/workflows/main.yml

This file was deleted.

26 changes: 26 additions & 0 deletions .github/workflows/test-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Test deployment

on:
pull_request:
branches:
- main
# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on

jobs:
test-deploy:
name: Test deployment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 18
cache: yarn

- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Test build website
run: yarn build
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
public/
node_modules/
.DS_Store
build/
.docusaurus

31 changes: 27 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,30 @@

This is the website for the Rust GPU organization.

## Building
1. Install [zola](https://www.getzola.org/)
2. `git submodule update --init --recursive`
3. `zola build`
This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

### Installation

```
$ yarn
```

### Local Development

```
$ yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

### Build

```
$ yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

### Deployment

Auto deployed to GitHub pages via GitHub Actions.
3 changes: 3 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
+++
title = "Rust GPU Transitions to Community Ownership"
authors = ["LegNeato", "eddyb"]
+++
---
title: "Rust GPU Transitions to Community Ownership"
authors: ["LegNeato", "eddyb"]
slug: transition-announcement
tags: ["announcement"]
---

We are excited to announce that as of today the <a
href="https://rust-gpu.github.io">Rust GPU</a> project will be transitioning from
Expand All @@ -11,6 +13,8 @@ beginning of a broader strategy aimed at revitalizing, unifying, and standardizi
programming in Rust. We are eager to share more details in the near future but in the
meantime if you are a maintainer of a GPU-related Rust project, please reach out!

<!-- truncate -->

## What is Rust GPU?

<a href="https://rust-gpu.github.io">Rust GPU</a> makes it possible to write and run GPU
Expand All @@ -29,35 +33,20 @@ and possibly integrated with Rust GPU.

To put Rust GPU in context, here's an overview of the current landscape:

- [rust-gpu](https://github.com/EmbarkStudios/rust-gpu): Compiles unmodified Rust code to
[SPIR-V](https://www.khronos.org/spir/) (Vulkan) so that it can run on the GPU.
- [rust-cuda](https://github.com/Rust-GPU/Rust-CUDA): Compiles unmodified Rust code to
[NVVM](https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html) (CUDA) so that it can run
on the GPU. _Currently unmaintained but stay tuned!_
- [nvptx backend in
rustc](https://doc.rust-lang.org/rustc/platform-support/nvptx64-nvidia-cuda.html):
Compiles unmodified Rust code to
[PTX](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html) (CUDA) so
that it can run on the GPU.
- [CubeCL](https://github.com/tracel-ai/cubecl): Compute language extension for Rust.
Enables annotated Rust code to run on the GPU.
- [krnl](https://github.com/charles-r-earp/krnl): Safe, portable, high performance
compute (GPGPU) kernels. Enables annotated Rust code to run on the GPU (via Rust GPU).
- [cudarc](https://github.com/coreylowman/cudarc): Minimal and safe api over the CUDA
toolkit. Enables calling CUDA from Rust running on the CPU.
- [wgpu](https://wgpu.rs/): A safe and portable graphics library for Rust based on the
WebGPU API. Enables communicating with the GPU from Rust running on the CPU.
- [naga](https://github.com/gfx-rs/wgpu/tree/trunk/naga): A source code translator
written in Rust that converts between various GPU-specific shader languages
([WGSL](https://www.w3.org/TR/WGSL/),
[GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language),
[HLSL](https://en.wikipedia.org/wiki/High-Level_Shader_Language), and
[MSL](https://developer.apple.com/metal/)). These shaders ultimately run on the GPU.
- [ZLUDA](https://github.com/vosen/ZLUDA): A drop-in replacement for CUDA written in
Rust. Enables using tools and libraries targeted at CUDA on non-NVIDIA hardware.
- [Asahi Linux GPU
drivers](https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/): GPU drivers
partially written in Rust to add Linux support for Apple GPUs.
- **[rust-gpu](https://github.com/EmbarkStudios/rust-gpu)**: Compiles unmodified Rust
code to [SPIR-V](https://www.khronos.org/spir/) (Vulkan) so that it can run on the
GPU.
- **[rust-cuda](https://github.com/Rust-GPU/Rust-CUDA)**: Compiles unmodified Rust code
to [NVVM](https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html) (CUDA) so that it can
run on the GPU. _Currently unmaintained but stay tuned!_
- **[nvptx backend in rustc](https://doc.rust-lang.org/rustc/platform-support/nvptx64-nvidia-cuda.html)**: Compiles unmodified Rust code to [PTX](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html) (CUDA) so that it can run on the GPU.
- **[CubeCL](https://github.com/tracel-ai/cubecl)**: Compute language extension for Rust. Enables annotated Rust code to run on the GPU.
- **[krnl](https://github.com/charles-r-earp/krnl)**: Safe, portable, high performance compute (GPGPU) kernels. Enables annotated Rust code to run on the GPU (via Rust GPU).
- **[cudarc](https://github.com/coreylowman/cudarc)**: Minimal and safe api over the CUDA toolkit. Enables calling CUDA from Rust running on the CPU.
- **[wgpu](https://wgpu.rs/)**: A safe and portable graphics library for Rust based on the WebGPU API. Enables communicating with the GPU from Rust running on the CPU.
- **[naga](https://github.com/gfx-rs/wgpu/tree/trunk/naga)**: A source code translator written in Rust that converts between various GPU-specific shader languages ([WGSL](https://www.w3.org/TR/WGSL/)**, **[GLSL](https://en.wikipedia.org/wiki/OpenGL_Shading_Language), [HLSL](https://en.wikipedia.org/wiki/High-Level_Shader_Language), and [MSL](https://developer.apple.com/metal/)). These shaders ultimately run on the GPU.
- **[ZLUDA](https://github.com/vosen/ZLUDA)**: A drop-in replacement for CUDA written in Rust. Enables using tools and libraries targeted at CUDA on non-NVIDIA hardware.
- **[Asahi Linux GPU drivers](https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/)**: GPU drivers partially written in Rust to add Linux support for Apple GPUs.

## Why Rust for GPU Programming?

Expand Down Expand Up @@ -200,8 +189,3 @@ Thank you for your continued support and contributions. Stay tuned for more upda
don't hesitate to reach out if you have any questions or want to get involved.

Happy coding!

_LegNeato ([GitHub](https://github.com/LegNeato),
[Twitter](https://twitter.com/legneato)) and eddyb ([GitHub](https://github.com/eddyb))_

**Rust GPU Maintainers**
19 changes: 19 additions & 0 deletions blog/authors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
LegNeato:
name: Christian Legnitto
title: Rust GPU maintainer
url: https://github.com/LegNeato
image_url:
## Image URL managed by the fetchAuthorImages plugin. Changes may be overwritten.
/img/authors/LegNeato.png
socials:
x: LegNeato
github: LegNeato

eddyb:
name: EddyB
title: Rust GPU maintainer
image_url:
## Image URL managed by the fetchAuthorImages plugin. Changes may be overwritten.
/img/authors/eddyb.png
socials:
github: eddyb
14 changes: 14 additions & 0 deletions blog/tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
release:
label: release
permalink: /releases
description: New releases

announcement:
label: announcement
permalink: /announcements
description: Announcements

demo:
label: demo
permalink: /demos
description: Demos
31 changes: 0 additions & 31 deletions config.toml

This file was deleted.

68 changes: 0 additions & 68 deletions content/_index.md

This file was deleted.

Loading

0 comments on commit a099a14

Please sign in to comment.