Traverse-Research/gpu-allocator

🦀 GPU memory allocator for Vulkan, DirectX 12 and Metal. Written in pure Rust

What it solves

Managing GPU memory manually across different graphics APIs is complex and error-prone. This project provides a unified, Rust-based memory allocator to handle the allocation and freeing of GPU memory for multiple backends.

How it works

The library acts as a memory manager that interfaces with low-level graphics APIs. It allows developers to request memory allocations based on specific requirements (such as size and location) and handles the underlying API-specific logic for Vulkan, DirectX 12, and Metal.

Who it’s for

Developers building high-performance graphics applications, game engines, or GPU-accelerated software in Rust who need a cross-platform way to manage GPU memory.

Highlights

  • Multi-API Support: Works with Vulkan, DirectX 12, and Metal.
  • no_std Support: Can be used in environments without the Rust standard library.
  • Rust-Native: Fully written in Rust for memory safety and performance.
  • Visualizer: Includes a visualizer tool to help debug and monitor memory allocations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project