22 dépôts
General-purpose data processing on graphics hardware.
Explore 22 awesome GitHub repositories matching hardware & iot · GPU Computations. Refine with filters or upvote what's useful.
This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices. The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically bas
Executes general-purpose data processing tasks directly on graphics hardware to accelerate complex mathematical calculations.
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
A parallel processing interface that allows developers to execute general-purpose code and complex mathematical calculations directly on graphics hardware.
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
Executes general-purpose parallel calculations and offline rendering tasks on the graphics processor without requiring a display window.
ZLUDA is a middleware and translation engine designed to enable the execution of unmodified proprietary compute binaries on non-native graphics hardware. It functions as a compatibility layer that bridges vendor-specific compute interfaces with open standards, allowing software originally restricted to a single hardware ecosystem to operate on alternative graphics processing units. The project achieves this through a combination of dynamic library interception and runtime instruction translation. By replacing standard system libraries and mapping proprietary compute calls to open standards, t
Enables high-performance compute applications to execute on diverse hardware by translating proprietary instructions at runtime.
Cpp-taskflow is a C++ task-parallelism framework and task graph scheduler designed to manage and execute complex dependency graphs of parallel tasks across CPU and GPU hardware. It provides a parallel algorithm library for high-performance implementations of reductions, sorts, pipelines, and iterations. The framework distinguishes itself through its ability to offload heavy computational workloads from a task graph to graphics processors for acceleration. It also includes a task profiling tool and a performance analysis interface for visualizing task execution flow and dependency structures t
Accelerates scientific workloads by executing general-purpose parallel calculations on the GPU without a display window.
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
Provides functional implementations for executing parallel data processing tasks and compute-driven geometry operations on graphics hardware.
Numba est un compilateur juste-à-temps (JIT) qui traduit des fonctions Python de haut niveau en code machine optimisé lors de l'exécution. En tirant parti de l'infrastructure de compilation LLVM, il fournit un framework pour accélérer le traitement des données numériques et les calculs mathématiques, permettant des niveaux de performance comparables aux langages compilés statiquement. Le projet se distingue par sa capacité à effectuer une spécialisation basée sur l'inférence de type, qui génère des instructions machine adaptées aux types de données spécifiques utilisés lors de l'exécution. Il emploie un pipeline de compilation paresseuse qui diffère la traduction jusqu'au moment de l'invocation, minimisant la surcharge au démarrage tout en maintenant des performances constantes sur diverses architectures de processeurs et systèmes d'exploitation. Au-delà de la compilation de base, le toolkit offre un support étendu pour l'accélération matérielle en distribuant les opérations itératives et les expressions de tableaux sur plusieurs cœurs CPU et unités de traitement graphique. Il utilise des stratégies de vectorisation et de parallélisation pour maximiser le débit pour les grands jeux de données numériques, permettant aux développeurs de cibler du matériel spécialisé directement depuis du code standard.
Executes parallel algorithms on graphics hardware by targeting processing units directly within standard code.
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
Enables general-purpose data processing on the GPU using compute shaders and storage buffers.
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
Leverages parallel processing power on GPUs to execute computationally intensive tasks through Python applications.
This project is a collection of reference implementations and technical guides for building high-performance 3D applications and graphics experiments on Windows. It provides a library of samples covering the implementation of GPU compute frameworks, raytracing reference models, and shader optimization techniques. The repository includes specific demonstrations for modeling physical light behavior to create reflections and lighting effects, as well as tools for analyzing memory dumps and tracking real-time execution metrics on graphics hardware. It further provides guidance on managing shader
Offloads heavy mathematical processing to graphics hardware using compute shaders and work graphs.
Offloads pipeline stages to GPU compute APIs such as CUDA, Metal, or DirectX 12.
Runs parallel workloads on NVIDIA hardware using a programming model and libraries for GPU computation.
Gorgonia is a Go library that provides an automatic differentiation engine and a computation graph framework for building and training neural networks. It functions as a CUDA-accelerated tensor library and a SIMD-optimized math library, enabling machine learning workflows entirely within the Go ecosystem. The library distinguishes itself through a dual-backend architecture that dispatches neural network operations to either a GPU or CPU depending on CUDA availability at runtime. It constructs differentiable directed acyclic graphs of tensor operations, supports reverse-mode automatic gradient
Creates hardware-specific CUDA bindings using a code generation tool to enable GPU-accelerated computation.
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.
Enables execution of general-purpose computing tasks and data processing workloads on GPUs across different platforms.
Ce projet est une collection d'implémentations de référence et de benchmarks démontrant l'utilisation de l'API graphique et de calcul Vulkan. Il fournit un ensemble d'exemples multiplateformes et de modèles de programmation GPU conçus pour le rendu haute performance et les tâches accélérées par le matériel. Le dépôt inclut une suite de benchmarks de performance utilisés pour mesurer le comportement de l'API dans différents environnements matériels. Il présente une architecture modulaire qui organise les exemples de rendu en unités isolées, ainsi que des utilitaires en ligne de commande pour l'exécution par lots de séquences d'exemples. Le projet couvre plusieurs domaines techniques, dont la gestion directe de la mémoire GPU, le profilage de performance en temps réel pour identifier les goulots d'étranglement de rendu, et des pipelines de calcul headless qui capturent les tampons de trame sans écran physique.
Executes compute tasks and captures output in environments without a physical display.
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.
Runs complex mathematical operations and GPGPU tasks outside the standard graphics rendering pipeline.
LWJGL is a cross-platform library that provides Java bindings to native APIs for graphics, audio, compute, windowing, and input. It enables Java applications to access low-level hardware-accelerated capabilities such as OpenGL and Vulkan rendering, OpenAL 3D audio, OpenCL GPU compute, and GLFW windowing and input handling. Under the hood, LWJGL dynamically resolves native function pointers at runtime, loads platform-specific shared libraries, and uses generated JNI bindings to bridge Java and native code. It offers explicit memory management through direct buffer access and stack-allocated me
Offloads parallel computation tasks to GPUs via OpenCL or Vulkan compute from a Java runtime.
Ce projet est une couche de compatibilité de fonctionnalités GPU et un mod de génération de trames. Il fonctionne comme un émulateur d'API DLL et un wrapper qui intercepte les appels propriétaires Nvidia DLSS Frame Generation et les redirige vers une implémentation alternative. Le logiciel permet la génération de trames AMD FSR 3 dans des jeux qui ne prennent nativement en charge que la génération de trames Nvidia DLSS. Il traduit les requêtes graphiques propriétaires en un standard ouvert, permettant à l'interpolation de trames de s'exécuter sur des cartes graphiques autrement incompatibles avec les standards originaux du fournisseur. Le système emploie le wrapping de proxy DLL et la redirection de bibliothèque dynamique pour imiter les signatures de fonction attendues et empêcher les plantages d'application. Ce processus mappe les traductions propriétaire-vers-ouvert via le hooking au runtime et l'émulation de surface API.
Translates proprietary DLSS frame generation requests into AMD FSR 3 compatible calls.
HIP est un langage de noyau GPU C++ et un runtime multiplateforme conçu pour écrire des applications de calcul haute performance portables. Il fournit une interface de programmation qui permet à une seule base de code source de s'exécuter sur les architectures GPU AMD et NVIDIA. Le projet fonctionne comme une couche de compatibilité qui permet la conversion et la migration du code source CUDA existant pour s'exécuter sur le matériel AMD. Ceci est réalisé grâce à un mappage de syntaxe qui reflète CUDA et un processus de traduction source-à-source pendant la compilation. La boîte à outils couvre la surface plus large du développement GPGPU multiplateforme, y compris l'optimisation du calcul hétérogène et la création de noyaux portables. Elle utilise une abstraction de runtime pour mapper les appels d'API unifiés aux bibliothèques de pilotes spécifiques au fournisseur pour la gestion de la mémoire et du noyau.
Functions as a cross-platform runtime allowing compute applications to run on different GPU manufacturers.
oneDNN is a cross-architecture compute library and hardware acceleration framework designed as a oneAPI deep learning library. It functions as a neural network inference engine that provides optimized primitives to accelerate deep learning operations across diverse CPU and GPU architectures. The project distinguishes itself through a combination of just-in-time instruction generation based on detected processor features and microarchitecture-specific tuning. It utilizes graph-based operation compilation to minimize overhead and manages layout-aware tensors to optimize data access patterns acr
Provides a set of high-performance compute building blocks for AI deployment across different hardware vendors and runtimes.