Skip to content

Commit 5392e43

Browse files
authored
Merge branch 'Rust-GPU:main' into main
2 parents 50e2451 + 0575113 commit 5392e43

3 files changed

Lines changed: 38 additions & 8 deletions

File tree

.github/workflows/ci_linux.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,18 @@ jobs:
2828
- name: Ubuntu-24.04 / CUDA-12.8.1 / ARM64
2929
image: "ghcr.io/rust-gpu/rust-cuda-ubuntu24-cuda12:latest"
3030
runner: ubuntu-24.04-arm
31+
- name: Ubuntu-24.04 / CUDA-13.0.2 / x86_64
32+
image: "ghcr.io/rust-gpu/rust-cuda-ubuntu24-cuda13:latest"
33+
runner: ubuntu-latest
34+
- name: Ubuntu-24.04 / CUDA-13.0.2 / ARM64
35+
image: "ghcr.io/rust-gpu/rust-cuda-ubuntu24-cuda13:latest"
36+
runner: ubuntu-24.04-arm
3137
- name: RockyLinux-9 / CUDA-12.8.1 / x86_64
3238
image: "ghcr.io/rust-gpu/rust-cuda-rockylinux9-cuda12:latest"
3339
runner: ubuntu-latest
40+
- name: RockyLinux-9 / CUDA-13.0.2 / x86_64
41+
image: "ghcr.io/rust-gpu/rust-cuda-rockylinux9-cuda13:latest"
42+
runner: ubuntu-latest
3443

3544
steps:
3645
- name: Free up space

crates/cudnn-sys/build/cudnn_sdk.rs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,15 @@ impl CudnnSdk {
6262
let cudnn_include_dir = env::var_os("CUDNN_INCLUDE_DIR");
6363

6464
#[cfg(not(target_os = "windows"))]
65-
const CUDNN_DEFAULT_PATHS: &[&str] = &["/usr/include", "/usr/local/include"];
65+
const CUDNN_DEFAULT_PATHS: &[&str] = &[
66+
"/usr/include",
67+
"/usr/local/include",
68+
// CUDA 13 seems to have moved the headers into arch-specific directories.
69+
"/usr/include/x86_64-linux-gnu",
70+
"/usr/include/aarch64-linux-gnu",
71+
"/usr/local/include/x86_64-linux-gnu",
72+
"/usr/local/include/aarch64-linux-gnu",
73+
];
6674
#[cfg(target_os = "windows")]
6775
const CUDNN_DEFAULT_PATHS: &[&str] = &[
6876
"C:/Program Files/NVIDIA/CUDNN/v9.x/include",

examples/README.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,36 @@
11
# CUDA + Rust examples
22

3-
The examples in here showcase both the GPU side and the CPU side of writing a tool which uses the GPU.
3+
The examples in here showcase both the GPU side and the CPU side of writing a tool which uses the
4+
GPU.
45

56
## Available Examples
67

78
### [vecadd](vecadd)
9+
810
A simple vector addition example demonstrating basic CUDA kernel usage.
911

1012
### [gemm](gemm)
13+
1114
General Matrix Multiplication (GEMM) implementation showing more complex CUDA operations.
1215

16+
### [i128_demo](i128_demo)
17+
18+
A simple demo that uses 128-bit integer operations.
19+
1320
### [sha2_crates_io](sha2_crates_io)
14-
Demonstrates using an existing Rust crate ([`sha2`](https://crates.io/crates/sha2) from crates.io) on both CPU and GPU without modification. Shows that the same cryptographic hashing code can run on CUDA, producing identical results to the CPU implementation.
1521

16-
### [Interactive Path Tracer](path_tracer)
17-
A very simple interactive Path Tracer inspired by [Ray Tracing In One Weekend](https://raytracing.github.io/books/RayTracingInOneWeekend.html)
18-
which runs on CPU or GPU, with the additional option of running OptiX denoising.
22+
Demonstrates using an existing Rust crate ([`sha2`](https://crates.io/crates/sha2) from crates.io)
23+
on both CPU and GPU without modification. Shows that the same cryptographic hashing code can run on
24+
CUDA, producing identical results to the CPU implementation.
25+
26+
### [Interactive Path Tracer](../crates/optix/examples/path_tracer/)
27+
28+
A very simple interactive Path Tracer inspired by [Ray Tracing In One
29+
Weekend](https://raytracing.github.io/books/RayTracingInOneWeekend.html) which runs on CPU or GPU,
30+
with the additional option of running OptiX denoising.
1931

2032
![Path Tracer](assets/path_tracer.png)
2133

22-
The Path Tracer uses cuda_builder to compile the core path tracer for the GPU and GPU (hardware raytracing), and uses the core path tracer as a normal crate
23-
for CPU rendering and sharing structures.
34+
The Path Tracer uses `cuda_builder` to compile the core path tracer for the GPU and GPU (hardware
35+
raytracing), and uses the core path tracer as a normal crate for CPU rendering and sharing
36+
structures.

0 commit comments

Comments
 (0)