17 dépôts
Systems for allocating and updating static or dynamic GPU memory buffers.
Distinct from Data Buffering: Distinct from Data Buffering: focuses on GPU-specific memory allocation for graphics data rather than general flow control buffering.
Explore 17 awesome GitHub repositories matching data & databases · GPU Buffer Allocators. Refine with filters or upvote what's useful.
This project is a cross-platform graphics and compute framework that provides a unified, hardware-agnostic abstraction layer for rendering and parallel processing. It enables developers to build high-performance applications that execute consistently across diverse operating systems and hardware backends, including Vulkan, Metal, and DirectX. By mapping high-level graphics commands to native APIs, it serves as a portable foundation for both real-time 3D rendering and general-purpose GPU computing. The framework distinguishes itself through a robust architecture that supports both native deskt
Copies processed data from graphics memory back to system memory by mapping buffers for reading after rendering or compute operations complete.
bgfx is a cross-platform, graphics rendering abstraction layer designed for high-performance applications. It provides a unified interface that maps high-level rendering commands to native graphics APIs, allowing developers to maintain a single codebase that executes consistently across diverse operating systems and hardware architectures. The library distinguishes itself through a multi-threaded command submission model that decouples rendering logic from the main application thread, effectively minimizing CPU bottlenecks. It utilizes a backend-agnostic command buffer and a deferred resource
Allocates and updates vertex, index, and indirect draw buffers for the graphics processor.
This project serves as a comprehensive educational framework and reference library for mastering high-performance graphics programming and parallel compute resource management. It provides a collection of practical implementations designed to demonstrate the explicit control required by the Vulkan API, covering the fundamental mechanics of modern graphics pipelines and cross-platform hardware interaction. The repository distinguishes itself by focusing on the low-level architectural requirements of modern GPU development, including manual memory allocation, multi-threaded command recording, a
Consolidates multiple uniform blocks into a single buffer using dynamic offsets to reduce descriptor set overhead.
Sokol is a C hardware abstraction layer and cross-platform graphics library designed for managing windowing, input, and audio across different operating systems. It functions as a GPU resource manager and multimedia application framework, providing a unified API for rendering 2D and 3D graphics across WebGL, Metal, Direct3D, and OpenGL. The project is distinguished by its single-header implementation, which simplifies integration and portability. It utilizes a stateless render pass definition and a one-update-per-frame model to synchronize CPU data to GPU memory and manage resource lifecycles
Manages vertex buffers, textures, and compute shaders using a one-update-per-frame model and descriptor structures.
meshoptimizer is a 3D mesh optimization library designed to compress geometry and animation data, reduce memory usage, and improve rendering performance. It functions as a geometry simplification tool, a mesh compression codec, and a utility for preparing data for mesh shaders and raytracing acceleration. The library provides specialized toolsets for partitioning meshes into clusters and meshlets to optimize hardware-accelerated rendering pipelines. It also includes helpers for generating opacity micromaps and spatial clusters to increase the speed of hardware ray-triangle intersection tests.
Creates a special index buffer using provoking vertices to encode primitive IDs for efficient fragment shader access.
Magit is a complete Git interface that runs inside Emacs, providing a full-featured porcelain for version control operations without leaving the editor. It renders repository state as structured, collapsible sections within Emacs buffers, and manages Git command execution through a transactional process model with automatic buffer refresh and error handling. The interface exposes all configuration through Emacs' standard customization system and uses a transient command framework for context-sensitive menu-driven Git operations. What distinguishes Magit is its granular control over every stag
Automatically updates file-visiting buffers in Emacs when the underlying file changes on disk.
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Provides a utility to populate a buffer with a repeating value for initialization.
Isaac Lab is an open-source framework for training robot policies in physically simulated environments, supporting both single-agent and multi-agent reinforcement learning. It is built on an Omniverse-PhysX simulation backend that models rigid bodies, articulated systems, deformable objects, and sensors, and provides a task-based environment configuration system where each training environment is defined as a modular class specifying observation spaces, action spaces, reward functions, and termination conditions. The framework distinguishes itself through an RL-library abstraction layer that
Dynamically resizes physics simulation buffers to prevent overflow errors when collision counts exceed initial capacity.
regl is a declarative WebGL library that manages graphics state and GPU resources through functional commands instead of manual binding and state tracking. It provides a command-based drawing abstraction where shaders, attributes, and render state are encapsulated into reusable, compiled functions that can be executed efficiently. What sets regl apart is its scoped state inheritance system, which allows nested drawing commands to inherit and override render state from parent scopes for organized rendering. The library automatically recovers from GPU context loss by restoring buffer and textur
Modifies vertex buffer content each frame for animation and performs in-place subdata updates.
gfx est une abstraction d'API graphique agnostique au matériel qui traduit un ensemble unifié de commandes graphiques et de calcul en instructions natives pour plusieurs pilotes GPU. Il fournit une interface commune pour le rendu multiplateforme et la programmation de calcul GPU à usage général. Le projet dispose d'un système de traduction de shaders à représentation intermédiaire qui convertit le code source et SPIR-V en langages spécifiques à la cible. Il emploie un framework de test de référence piloté par les données pour vérifier que la sortie graphique reste cohérente sur différentes plateformes matérielles. Les capacités incluent l'encodage de buffer de commandes parallèle sur plusieurs threads et l'encapsulation des états de pipeline dans des objets uniques pour minimiser les changements d'état redondants. Le système gère les ressources GPU de bas niveau, incluant l'allocation mémoire, le mappage de buffer asynchrone et la présentation explicite d'images via des swapchains. L'implémentation cible les environnements natifs et les navigateurs web via WebAssembly, fournissant des couches de traduction pour WebGL et WebGL2.
Provides utilities to update contents of GPU-resident buffers and textures without manual staging buffer management.
This project provides a comprehensive technical guide and framework for engineering large-scale machine learning systems. It covers the full lifecycle of model development, focusing on the infrastructure and computational principles required to build, train, and serve generative AI models across distributed GPU clusters. The repository distinguishes itself by offering deep-dive tutorials and implementation strategies for complex system challenges. It emphasizes high-performance architectural primitives, such as collective communication orchestration, distributed tensor sharding, and static gr
Uses pre-allocated memory buffers with stable addresses to pass data into static execution graphs.
Orillusion est un moteur de rendu 3D WebGPU conçu pour des scènes haute fidélité et des effets visuels dans le navigateur. Il fonctionne comme un framework de calcul GPU pour les opérations mathématiques parallèles et un pipeline graphique de rendu basé sur la physique pour des matériaux et surfaces réalistes. Le système inclut également une boîte à outils d'animation 3D basée sur le web pour piloter les animations squelettiques et interpoler les positions des sommets. Le moteur se distingue par son utilisation d'un système d'entité-composant pour la logique de scène et un système de génération de shader basé sur des macros qui crée plusieurs variantes de shader. Il optimise les performances via la gestion de tampons mappés en mémoire pour réduire la surcharge d'échange de données entre le CPU et le GPU. Le projet couvre un large éventail de capacités graphiques, notamment le rendu forward groupé, l'illumination globale basée sur des sondes, et un pipeline de post-traitement avec des effets tels que des rayons divins volumétriques et la profondeur de champ. Il intègre en outre la physique accélérée par GPU pour les particules et les fluides, la détection de collision et des interfaces utilisateur accélérées par le matériel.
Manages the allocation and association of uniform and storage buffers for GPU compute operations.
TileLang is a Python-embedded domain-specific language compiler that JIT-compiles and autotunes GPU kernels. It uses a tile-based DSL, automatic software pipelining, and parallel autotuning to generate optimized GPU kernels at runtime. It supports tensor core operations with Pythonic syntax, automatic memory management, and thread mapping. The compiler searches over tile sizes, thread counts, and scheduling policies, compiling and benchmarking candidates in parallel to find the fastest kernel. It also caches compiled binaries and tuning results to disk for reuse across sessions. TileLang inc
TVM's feature to allocate a multi-dimensional buffer in the shared, local, fragment, or global memory space for use inside a GPU kernel.
FlashInfer is a library of high-performance GPU kernels purpose-built for accelerating large language model inference. It provides optimized implementations for attention operations (including flash attention, page attention, multi-head latent attention, and cascade attention) using paged key-value caches, fused kernel composition, and just-in-time compilation. The library also includes specialized kernels for mixture-of-experts layers, block-scaled low-precision quantization (FP8, FP4), and distributed collective communication. What distinguishes FlashInfer is its fused all-reduce communicat
Initializes device buffers for distributed synchronization protocols in multi-GPU inference.
webgl-globe is a WebGL globe visualization library and geospatial renderer used to display latitude and longitude spatial data on an interactive 3D globe. It functions as a 3D data visualization tool that maps coordinate-based datasets into a three-dimensional environment. The library provides capabilities for interactive geographic visualization and spatial data animation, allowing for the rendering of geographic coordinates and the creation of automated motion sequences to illustrate trends or movements over time. It utilizes hardware acceleration to implement a web-based map interface, em
Implements mechanisms to update vertex and attribute buffers for animating data points without re-creating the scene.
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
Allocates multiple uniform buffers to synchronize data access between the CPU and GPU.
TypeGPU is a tool for type-safe WebGPU development that enables writing shaders in TypeScript. It translates high-level TypeScript function definitions and structures into WebGPU Shading Language source code to automate shader generation and validate logic using a type system. The project provides a mechanism for cross-library GPU interoperability by sharing typed buffers without copying data to system memory. It also integrates the Model Context Protocol to allow AI agents to inspect generated shader code and diagnose runtime errors. The system manages WebGPU resource mapping through typed
Enforces typed read/write operations by calculating memory sizes and binary padding for GPU buffers.