KomputeProject/kompute

General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.

What it solves

Kompute 是一個通用 GPU 計算框架,旨在為顯示卡(包括 AMD、Qualcomm、NVIDIA 以及其他廠商)提供跨廠商相容性。它簡化了撰寫 GPU 加速應用程式的流程,特別是機器學習與資料處理領域,且不會被鎖定在單一廠商的專屬生態系統中。

How it works

Kompute 建立於 Vulkan API 之上,採用「Bring‑your‑own‑Vulkan」設計,讓它能與既有的 Vulkan 應用程式無縫整合。它提供 C++ SDK 與 Python 模組,用於管理 GPU 資源。框架使用 Manager 來協調裝置元件,使用 Tensor 來表示結構化資料,並以基於 shader 的 Algorithm 在 GPU 上執行邏輯。它支援透過 GPU 家族佇列的非同步與平行處理,並提供對主機與 GPU 記憶體的顯式記憶體管理。

Who it’s for

此框架適合需要在不同硬體廠商間取得高效能 GPU 加速的開發者,包括構建機器學習模型的研究者、使用 Android NDK 開發行動應用的開發者,以及遊戲開發者(例如使用 Godot Engine)。

Highlights

  • Cross-Vendor Support: Works across AMD, NVIDIA, and Qualcomm GPUs.
  • Mobile Enabled: Optimized for mobile environments with Android NDK support.
  • Flexible Interfaces: Offers both a low-level C++ SDK for optimization and a high-level Python package for rapid experimentation.
  • Asynchronous Execution: Supports parallel operations across multiple GPU queues.
  • Industry Backing: Hosted project by the LF AI & Data Foundation.