Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vulkan
  3. VUDA

VUDA

MITC++

A header-only Vulkan-based library providing a CUDA Runtime API interface for GPU-accelerated applications.

GitHubGitHub
909 stars40 forks0 contributors

What is VUDA?

VUDA is a header-only C++ library that implements the CUDA Runtime API interface using Vulkan as the backend. It allows developers to write GPU-accelerated applications with CUDA-like syntax while running on any hardware that supports Vulkan, including non-NVIDIA GPUs. This solves the problem of CUDA code being locked to NVIDIA hardware by providing a cross-platform alternative.

Target Audience

C++ developers working on GPU-accelerated applications who want to maintain CUDA compatibility while achieving cross-platform support, or those who need to run CUDA-like code on non-NVIDIA hardware.

Value Proposition

Developers choose VUDA because it provides the familiar CUDA programming model while enabling true hardware portability through Vulkan. Unlike vendor-locked solutions, it allows the same codebase to run across different GPU vendors and operating systems with minimal changes.

Overview

VUDA is a header-only library based on Vulkan that provides a CUDA Runtime API interface for writing GPU-accelerated applications.

Use Cases

Best For

  • Porting existing CUDA applications to run on non-NVIDIA hardware
  • Developing cross-platform GPU-accelerated applications with a single codebase
  • Learning GPU programming with CUDA syntax without requiring NVIDIA hardware
  • Integrating GPU compute into applications that need Vulkan compatibility
  • Creating GPU-accelerated tools that must run on diverse hardware configurations
  • Prototyping CUDA algorithms before deploying to production NVIDIA systems

Not Ideal For

  • Applications requiring full CUDA feature parity, such as dynamic parallelism or unified memory with complex access patterns
  • High-performance computing tasks where minimal latency is critical and native CUDA optimization is preferred
  • Teams with dedicated NVIDIA infrastructure and no need for multi-vendor GPU support
  • Projects integrated with NVIDIA-specific libraries like cuDNN or TensorRT for machine learning

Pros & Cons

Pros

Cross-Platform CUDA Portability

Implements the CUDA Runtime API on Vulkan, enabling existing CUDA code to run on non-NVIDIA hardware like AMD and Intel GPUs with minimal changes, as shown in the usage example.

Header-Only Integration

Easy to add to C++ projects without complex build dependencies, since it only requires including vuda.hpp or vuda_runtime.hpp, simplifying setup.

CUDA Syntax Familiarity

Uses near-identical function calls to CUDA, reducing the learning curve for developers already skilled in CUDA programming, as demonstrated in the code snippet.

Vulkan Backend Flexibility

Leverages Vulkan's cross-platform capabilities, allowing GPU acceleration on various operating systems where Vulkan is supported, enhancing hardware compatibility.

Cons

Incomplete CUDA Coverage

Has known deviations from the CUDA specification, as noted in the wiki, meaning some advanced CUDA features may not be supported, limiting compatibility.

Performance Overhead

Adds an abstraction layer over Vulkan, which can introduce latency and reduce performance compared to native CUDA on NVIDIA hardware, especially for compute-intensive tasks.

Shader Management Complexity

Requires manual handling of SPIR-V shaders and Vulkan setup, unlike CUDA's integrated toolchain, adding extra steps for kernel compilation and launch.

Open Source Alternative To

VUDA is an open-source alternative to the following products:

N
NVIDIA CUDA

Frequently Asked Questions

Quick Stats

Stars909
Forks40
Contributors0
Open Issues6
Last commit2 years ago
CreatedSince 2018

Tags

#vulkan#cuda#compute-shaders#gpu-acceleration#c-plus-plus#vulkan-api#gpu-computing#header-only-library#cross-platform#spir-v

Built With

S
SPIR-V
V
Vulkan API
C
C++

Included in

Vulkan3.7k
Auto-fetched 17 hours ago

Related Projects

ncnnncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform

Stars23,178
Forks4,419
Last commit11 days ago
BgfxBgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Stars16,992
Forks2,090
Last commit1 day ago
glfwglfw

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

Stars14,954
Forks5,870
Last commit1 month ago
MoltenVKMoltenVK

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on macOS, iOS and tvOS.

Stars5,603
Forks496
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub