3 dépôts
The process of writing and managing low-level logic for GPU device execution.
Distinguishing note: Candidates focus on Android kernels or multi-device launches; this is general GPU-side kernel logic development.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · GPU Kernel Development. Refine with filters or upvote what's useful.
rust-cuda est un framework de programmation GPU et un compilateur de périphériques qui permet le développement et l'exécution de noyaux (kernels) haute performance sur du matériel NVIDIA en utilisant Rust. Il fournit un wrapper de pilote pour gérer l'allocation de mémoire du périphérique et le lancement des noyaux, servant efficacement de système pour écrire une logique de calcul GPU sans dépendre du C++. Le projet inclut une bibliothèque de calcul avec des primitives optimisées pour le matériel pour l'accélération des réseaux neuronaux et le raytracing accéléré par le matériel. Il utilise une chaîne de compilation qui traduit le code source en une représentation intermédiaire de bas niveau pour l'exécution sur les processeurs graphiques. Le framework couvre la gestion des ressources du périphérique, le développement de noyaux et la simulation d'opérations entières de haute précision. Il prend également en charge la génération de nombres aléatoires côté périphérique et des optimisations de calcul spécifiques à la cible. Des images de conteneurs pré-configurées sont disponibles pour simplifier le provisionnement de la chaîne de compilation et de l'environnement de développement à travers différentes architectures matérielles.
Provides a framework for managing thread indices and memory allocation to create device-side logic.
AITemplate est un compilateur de deep learning ahead-of-time qui traduit les réseaux de neurones PyTorch en code source C++ autonome. Il fonctionne comme un compilateur PyTorch vers C++ et un moteur de fusion de noyaux GPU, produisant des binaires exécutables autonomes qui exécutent l'inférence sans nécessiter d'interpréteur Python ou de runtime de framework de deep learning. Le projet génère du code CUDA et HIP C++ optimisé spécifiquement pour les NVIDIA TensorCores et AMD MatrixCores. Il se concentre sur la maximisation du débit pour les opérations en virgule flottante demi-précision via un système qui combine plusieurs opérateurs de réseau de neurones en noyaux GPU uniques pour minimiser la surcharge mémoire et la latence. La boîte à outils couvre l'accélération de l'inférence GPU et le calcul haute performance, fournissant des capacités pour le développement d'opérateurs GPU personnalisés et le mappage de nœuds de graphe vers des modèles spécifiques au matériel. Elle inclut un support utilitaire pour le benchmarking des performances d'inférence et la visualisation des optimisations de modèle.
Provides the ability to define new neural network primitives and map them to hardware-specific code generation templates.
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.
Enables the development of single-source C++ kernels that execute on multiple GPU architectures.