7 dépôts
Tools that analyze and rewrite execution paths to improve processing speed and reduce resource usage.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Computational Graph Optimizers. Refine with filters or upvote what's useful.
Unsloth is a high-performance training and inference platform designed to optimize the lifecycle of large language and multimodal models. It provides a comprehensive engine for fine-tuning, executing, and managing models locally, with a focus on reducing memory consumption and increasing compute speed on consumer-grade hardware. The platform distinguishes itself through hand-optimized kernels and automated computational graph techniques that maximize hardware throughput. It supports advanced training methodologies, including reinforcement learning for reasoning and efficient adapter-based fin
Rewrites execution paths at runtime to minimize latency and improve processing speed for complex multimodal operations.
This project is a machine learning array framework and tensor computation library designed for high-performance numerical computing. It provides a comprehensive suite of tools for constructing and training neural networks, featuring an automatic differentiation engine that facilitates gradient-based optimization and complex mathematical modeling. The library distinguishes itself through a unified memory architecture that allows data to be shared across CPU and GPU devices without explicit copies, significantly reducing data movement overhead. Its execution model relies on a lazy evaluation en
Compiles functions to merge operations and fuse kernels, reducing memory usage and increasing execution speed for complex workflows.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Analyzes compute graphs to determine and insert efficient data layouts for optimized hardware performance.
Dask est un framework de calcul parallèle et un planificateur de tâches distribué conçu pour mettre à l'échelle les flux de travail de science des données Python, des machines uniques aux grands clusters. Il fonctionne comme un gestionnaire de ressources de cluster qui orchestre la logique computationnelle en représentant les tâches et leurs dépendances sous forme de graphes acycliques dirigés. Cette architecture permet au système d'automatiser la distribution des charges de travail sur le matériel disponible tout en gérant des exigences d'exécution complexes. Le projet se distingue par un moteur d'évaluation paresseuse qui diffère les opérations sur les données jusqu'à ce qu'elles soient explicitement demandées, permettant une optimisation globale du graphe et une allocation efficace des ressources. Il intègre le déversement de données conscient de la mémoire pour éviter les plantages du système lors du traitement de jeux de données dépassant la mémoire disponible, et il utilise la fusion de graphes de tâches pour combiner des séquences d'opérations en étapes d'exécution uniques, minimisant la surcharge de planification et la communication entre nœuds. La plateforme fournit une surface de capacités complète pour l'analyse de données à grande échelle, incluant le support pour l'apprentissage automatique distribué, l'intégration du calcul haute performance et le traitement de données parallèle. Elle offre des outils étendus pour la gestion du cycle de vie des clusters, le profilage des performances et la surveillance en temps réel de l'exécution des tâches. Les utilisateurs peuvent déployer ces environnements sur diverses infrastructures, incluant le matériel local, les fournisseurs cloud, les systèmes conteneurisés et les clusters de calcul haute performance.
Analyzes and restructures task dependencies to improve execution efficiency and minimize redundant data movement.
This project is a comprehensive library for numerical linear algebra and scientific computing, designed to provide optimized routines for matrix decomposition, statistical modeling, and high-performance data analysis. It serves as both a toolkit for solving complex linear systems and an educational resource for understanding the fundamental algorithms behind matrix factorizations and numerical solvers. The library distinguishes itself through a focus on randomized numerical linear algebra, utilizing probabilistic algorithms and approximate methods to perform dimensionality reduction and matri
Accelerates matrix operations through vectorization, parallelization, and just-in-time compilation.
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
Performs parallel data processing using advanced instruction sets to increase execution speed in low-level code.
Ce projet est une ressource éducative complète et un programme axé sur la conception et l'implémentation de la pile logicielle et matérielle complète du machine learning. Il sert de référence technique pour l'architecture des systèmes de machine learning, allant des interfaces de programmation de bas niveau à l'infrastructure de déploiement à grande échelle. Le projet fournit des conseils pédagogiques sur plusieurs domaines spécialisés, notamment le développement de compilateurs IA via des représentations intermédiaires et des optimisations de graphes. Il couvre les modèles architecturaux requis pour l'entraînement distribué sur des clusters GPU et la programmation d'accélérateurs matériels pour optimiser les charges de travail sur des puces spécialisées. La ressource détaille également l'implémentation de frameworks de service de modèles pour les environnements de production et la conception de pipelines d'apprentissage par renforcement. Sa portée s'étend aux composants de base des systèmes ML, tels que la différenciation automatique, les abstractions de tenseurs et l'orchestration des ressources GPU.
Analyzes and rewrites execution paths to improve processing speed and reduce resource usage in compute graphs.