awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
AnswerDotAI avatar

AnswerDotAI/gpu.cpp

0
View on GitHub↗
3,981 Stars·195 Forks·C++·Apache-2.0·4 Aufrufegpucpp.answer.ai↗

Gpu.cpp

gpu.cpp ist eine leichtgewichtige C++-Bibliothek zur Ausführung von Low-Level-General-Purpose-GPU-Berechnungen über verschiedene Hardwareanbieter und Betriebssysteme hinweg. Sie fungiert als portabler GPU-Wrapper, Kernel-Orchestrator und Tensor-Managementsystem unter Verwendung der WebGPU-Spezifikation, um Geräteinitialisierung, Pufferübertragungen und Compute-Shader-Dispatching zu abstrahieren.

Die Bibliothek bietet ein Framework zur Definition von Compute-Kerneln aus Shader-Code und zur Verwaltung ihrer asynchronen Ausführung und Synchronisation. Sie ermöglicht die Ausführung plattformübergreifender Compute-Shader und die Orchestrierung von GPU-Aufgaben durch eine standardisierte Grafikprozessor-Spezifikation.

Das System handhabt den gesamten Lebenszyklus von GPU-Speicher, einschließlich der Allokation mehrdimensionaler Tensoren, bidirektionaler Datenbewegung zwischen Host und Gerät über Staging-Puffer sowie Ressourcen-Tracking zur Vermeidung von Speicherlecks. Es unterstützt zudem Tensor-Slicing zur Erstellung nicht-besitzender Views von Speichersegmenten und enthält Dienstprogramme für System-Message-Logging und Schweregrad-Filterung.

Features

  • WebGPU Implementations - Provides a C++ implementation and abstraction layer based on the WebGPU specification for cross-platform GPU compute.
  • GPU Hardware Abstraction Layers - Acts as a portable interface abstracting device initialization and shader dispatch across diverse operating systems and hardware.
  • Compute Shader Programming - Enables the execution of general-purpose compute kernels across different hardware vendors and operating systems.
  • Tensor Lifecycle Management - Provides a system for allocating and managing the lifetime of multi-dimensional memory buffers on graphics hardware.
  • GPU Compute Frameworks - Offers a portable framework for executing parallel mathematical operations across various GPU hardware vendors.
  • GPU Resource Management - Manages the allocation and lifecycle of GPU tensors and buffers for high-speed computation.
  • Compute Shader Dispatchers - Implements mechanisms for executing general-purpose parallel processing tasks on graphics processors across platforms.
  • Tensor Memory Lifetime Management - Tracks and releases hardware tensor buffers to manage the lifetime of GPU assets and prevent memory leaks.
  • GPU Device Initializations - Implements the processes for requesting hardware adapters and creating logical devices to enable GPU access.
  • GPU Memory Orchestration - Orchestrates the transfer of data and synchronization between host memory and GPU memory.
  • GPU Staging Buffers - Coordinates bidirectional data movement between the system processor and graphics processor using intermediate staging buffers.
  • GPU Kernel Orchestration - Manages the full lifecycle of defining, launching, and synchronizing parallel compute kernels on GPU hardware.
  • GPU Kernel Programming - Provides low-level primitives for defining and dispatching compute kernels with custom shader code.
  • Compute Shader Kernels - Defines reusable compute units by binding shader code and workgroup metadata to hardware handles.
  • Kernel Definitions - Creates reusable GPU kernels from shader code by binding input and output tensors and parameters.
  • GPU Command Queues - Provides a non-blocking command queue to dispatch compute kernels for asynchronous GPU execution.
  • Asynchronous Kernel Launchers - Decouples task scheduling from hardware execution by submitting kernels to the GPU queue asynchronously.
  • Tensor Memory Management - Specifies the rank and size of dimensions to determine the structural memory layout of tensors.
  • Manual Memory Management - Allows for the explicit disposal of tensor resources to manually update the resource pool and free memory.
  • Device-to-Host Data Transfers - Coordinates staging buffers and callbacks to move information from hardware memory back to system memory.
  • Host-to-Device Data Transfers - Moves memory from the system processor to the graphics processor to provide inputs for compute kernels.
  • Non-Owning Tensor Views - Creates non-owning views of hardware buffers using offsets and shapes to avoid duplicating GPU memory.
  • Tensor Slicing - Creates non-owning views of tensors using offsets to reference specific data segments without duplicating memory.
  • GPU Operation Synchronizers - Ensures data consistency by waiting for asynchronous graphics processing operations to complete.
  • Shader Metadata Management - Stores compute shader code and metadata such as workgroup size and entry points to prepare for execution.
  • GPU Bind Group Mappings - Implements mechanisms for mapping tensors and parameters to WebGPU bind group indices for kernel access.
  • GPU Buffer Management - Allocates and maintains contiguous blocks of hardware memory for mathematical computation storage.
  • Resource Bindings - Maps buffers and tensors to specific indices so a GPU kernel can access them during execution.
  • GPU Memory Allocators - Creates multi-dimensional memory buffers on the graphics processor for high-speed mathematical calculations.
  • Handle Management - Provides a mechanism to store and reuse compute kernel handles to avoid expensive hardware setup costs.
  • Asynchronous GPU Tasking - Coordinates the dispatch of GPU kernels using asynchronous primitives to manage non-blocking execution.

Star-Verlauf

Star-Verlauf für answerdotai/gpu.cppStar-Verlauf für answerdotai/gpu.cpp

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Gpu.cpp

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Gpu.cpp.
  • overv/vulkantutorialAvatar von Overv

    Overv/VulkanTutorial

    3,675Auf GitHub ansehen↗

    VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering and compute pipelines using the Vulkan API. It serves as a GPU programming course and a step-by-step guide for building high-performance graphics applications from scratch. The project provides detailed instruction on the full graphics pipeline, including the compilation of shaders to SPIR-V bytecode, the configuration of rasterization states, and the implementation of 3D graphics pipelines. It also covers general-purpose GPU compute programming, focusing on the execution of par

    C++computer-graphicscppgraphics-programming
    Auf GitHub ansehen↗3,675
  • gpuweb/gpuwebAvatar von gpuweb

    gpuweb/gpuweb

    5,414Auf GitHub ansehen↗

    This project provides a comprehensive toolset for WebGPU, serving as a graphics API wrapper, compute shader framework, resource manager, and shader toolchain. It enables browser-based GPU acceleration by offloading memory-intensive tasks and data processing from the CPU to the GPU. The framework manages the full lifecycle of GPU operations, from requesting physical hardware adapters and initializing logical devices to configuring programmable render and compute pipelines. It specifically supports the coordination of parallel workgroups and collective subgroup operations for general-purpose co

    Bikeshedgpgpu-computinggpuw3c
    Auf GitHub ansehen↗5,414
  • iree-org/ireeAvatar von iree-org

    iree-org/iree

    3,819Auf GitHub ansehen↗

    IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various frameworks into optimized binaries for execution across diverse hardware targets. It provides a unified pipeline to ingest models from PyTorch, TensorFlow, JAX, and ONNX, lowering them into a common intermediate representation for deployment on CPUs, GPUs, and bare-metal embedded systems. The project distinguishes itself through a bytecode virtual machine and a hardware abstraction layer that decouple high-level model logic from specific hardware instruction sets. It supports sophis

    C++compilercudajax
    Auf GitHub ansehen↗3,819
  • nvidia/cuda-samplesAvatar von NVIDIA

    NVIDIA/cuda-samples

    9,319Auf GitHub ansehen↗

    This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa

    C++cudacuda-driver-apicuda-kernels
    Auf GitHub ansehen↗9,319
Alle 30 Alternativen zu Gpu.cpp anzeigen→

Häufig gestellte Fragen

Was macht answerdotai/gpu.cpp?

gpu.cpp ist eine leichtgewichtige C++-Bibliothek zur Ausführung von Low-Level-General-Purpose-GPU-Berechnungen über verschiedene Hardwareanbieter und Betriebssysteme hinweg. Sie fungiert als portabler GPU-Wrapper, Kernel-Orchestrator und Tensor-Managementsystem unter Verwendung der WebGPU-Spezifikation, um Geräteinitialisierung, Pufferübertragungen und Compute-Shader-Dispatching zu abstrahieren.

Was sind die Hauptfunktionen von answerdotai/gpu.cpp?

Die Hauptfunktionen von answerdotai/gpu.cpp sind: WebGPU Implementations, GPU Hardware Abstraction Layers, Compute Shader Programming, Tensor Lifecycle Management, GPU Compute Frameworks, GPU Resource Management, Compute Shader Dispatchers, Tensor Memory Lifetime Management.

Welche Open-Source-Alternativen gibt es zu answerdotai/gpu.cpp?

Open-Source-Alternativen zu answerdotai/gpu.cpp sind unter anderem: overv/vulkantutorial — VulkanTutorial is a comprehensive educational guide and instructional resource for implementing low-level rendering… gpuweb/gpuweb — This project provides a comprehensive toolset for WebGPU, serving as a graphics API wrapper, compute shader framework,… iree-org/iree — IREE is an MLIR-based compiler toolchain and runtime designed to translate machine learning models from various… nvidia/cuda-samples — This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves… gfx-rs/gfx — gfx is a hardware-agnostic graphics API abstraction that translates a unified set of graphics and compute commands… juliagpu/cuda.jl — CUDA.jl provides a programming interface for executing custom kernels and performing parallel array computing directly…