kompute  by KomputeProject

GPU compute framework for cross-vendor graphics cards

Created 5 years ago
2,340 stars

Top 19.5% on SourcePulse

GitHubView on GitHub
Project Summary

Kompute is a general-purpose GPU compute framework built on Vulkan, designed to provide cross-vendor graphics card support (AMD, Qualcomm, NVIDIA) for advanced GPU data processing. It offers a flexible Python module and a C++ SDK, enabling asynchronous and parallel processing, mobile enablement, and explicit memory management for developers in machine learning, mobile, and game development.

How It Works

Kompute abstracts the complexity of the Vulkan API, providing a higher-level interface for GPU computation. Its core components include a Manager for orchestrating devices and resources, Sequence for batching operations, Tensor for data management, and Algorithm for encapsulating shader logic. This approach allows developers to leverage Vulkan's performance without writing extensive boilerplate code, facilitating easier integration and optimization for GPU-accelerated tasks.

Quick Start & Requirements

  • Python: pip install kp or pip install git+git://github.com/KomputeProject/kompute.git@master
  • C++: CMake build system. Dependencies managed via vcpkg.
  • Prerequisites: Python 3.5+, CMake 3.4.1+. Vulkan SDK and compatible GPU drivers are required for actual GPU execution.
  • Resources: Interactive Colab notebooks are available for trying out examples with free GPUs.
  • Documentation: Documentation

Highlighted Details

  • Cross-vendor support for AMD, Qualcomm, and NVIDIA GPUs via Vulkan.
  • Mobile-enabled with Android NDK examples.
  • Asynchronous and parallel operation execution across multiple GPU queues.
  • Backed by the Linux Foundation as a hosted project by the LF AI & Data Foundation.

Maintenance & Community

  • Active community with monthly calls and Discord chat.
  • Projects using Kompute include GPT4ALL, llama.cpp, and vkJAX.
  • Discord

Licensing & Compatibility

  • License: Apache 2.0.
  • Compatible with commercial and closed-source applications.

Limitations & Caveats

  • The project is actively developed, and users should refer to the documentation for the latest features and potential breaking changes. Debug layers can be enabled via KOMPUTE_ENV_DEBUG_LAYERS environment variable.
Health Check
Last Commit

2 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
1
Star History
38 stars in the last 30 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Jason Knight Jason Knight(Director AI Compilers at NVIDIA; Cofounder of OctoML), and
3 more.

gpu.cpp by AnswerDotAI

0%
4k
C++ library for portable GPU computation using WebGPU
Created 1 year ago
Updated 2 months ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems") and Ying Sheng Ying Sheng(Coauthor of SGLang).

fastllm by ztxz16

0.4%
4k
High-performance C++ LLM inference library
Created 2 years ago
Updated 1 week ago
Starred by David Cournapeau David Cournapeau(Author of scikit-learn), Stas Bekman Stas Bekman(Author of "Machine Learning Engineering Open Book"; Research Engineer at Snowflake), and
5 more.

lectures by gpu-mode

0.8%
5k
Lecture series for GPU-accelerated computing
Created 1 year ago
Updated 4 days ago
Feedback? Help us improve.