kompute  by KomputeProject

GPU compute framework for cross-vendor graphics cards

created 5 years ago
2,300 stars

Top 20.2% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
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

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
3
Star History
107 stars in the last 90 days

Explore Similar Projects

Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
7 more.

ThunderKittens by HazyResearch

0.6%
3k
CUDA kernel framework for fast deep learning primitives
created 1 year ago
updated 3 days ago
Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
2 more.

gpu.cpp by AnswerDotAI

0.2%
4k
C++ library for portable GPU computation using WebGPU
created 1 year ago
updated 2 weeks ago
Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 16 hours ago
Feedback? Help us improve.