9 repository-uri
Tools that analyze and rewrite execution paths to improve processing speed and reduce resource usage.
Explore 9 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 este un framework de calcul paralel și un scheduler de sarcini distribuit conceput pentru a scala fluxurile de lucru de știința datelor în Python de la mașini individuale la clustere mari. Acesta funcționează ca un manager de resurse de cluster care orchestrează logica computațională prin reprezentarea sarcinilor și a dependențelor acestora sub formă de grafuri aciclice direcționate. Această arhitectură permite sistemului să automatizeze distribuția sarcinilor de lucru pe hardware-ul disponibil, gestionând în același timp cerințe complexe de execuție. Proiectul se distinge printr-un motor de evaluare leneșă (lazy) care amână operațiunile pe date până când sunt solicitate explicit, permițând optimizarea globală a grafului și alocarea eficientă a resurselor. Acesta încorporează „spilling” de date conștient de memorie pentru a preveni blocarea sistemului la procesarea seturilor de date care depășesc memoria disponibilă și utilizează fuziunea grafului de sarcini pentru a combina secvențe de operațiuni în pași de execuție unici, minimizând overhead-ul de programare și comunicarea între noduri. Platforma oferă o suprafață cuprinzătoare de capabilități pentru analiza datelor la scară largă, inclusiv suport pentru învățare automată distribuită, integrare cu calcul de înaltă performanță și procesare paralelă a datelor. Oferă instrumente extinse pentru gestionarea ciclului de viață al clusterului, profilarea performanței și monitorizarea în timp real a execuției sarcinilor. Utilizatorii pot implementa aceste medii pe diverse infrastructuri, inclusiv hardware local, furnizori de cloud, sisteme containerizate și clustere de calcul de înaltă performanță.
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.
Acest proiect este o resursă educațională cuprinzătoare și un curriculum axat pe designul și implementarea întregului stack software și hardware de machine learning. Servește ca referință tehnică pentru arhitecturarea sistemelor de machine learning, pornind de la interfețe de programare de nivel scăzut până la infrastructura de deployment la scară largă. Proiectul oferă îndrumări instrucționale pe mai multe domenii specializate, inclusiv dezvoltarea compilatoarelor AI prin reprezentări intermediare și optimizări de grafuri. Acoperă tiparele arhitecturale necesare pentru antrenarea distribuită pe clustere GPU și programarea acceleratoarelor hardware pentru a optimiza sarcinile de lucru pe cipuri specializate. Resursa detaliază, de asemenea, implementarea framework-urilor de servire a modelelor pentru medii de producție și designul pipeline-urilor de reinforcement learning. Domeniul său de aplicare se extinde la componentele de bază ale sistemelor ML, cum ar fi diferențierea automată, abstracțiile de tensori și orchestrarea resurselor GPU.
Analyzes and rewrites execution paths to improve processing speed and reduce resource usage in compute graphs.
oneDNN este o bibliotecă de primitive de deep learning și un framework de accelerare hardware conceput pentru a optimiza operațiunile rețelelor neuronale. Acesta servește drept motor de inferență care accelerează antrenarea și execuția grafurilor de calcul folosind primitive optimizate pentru convoluții și înmulțiri de matrice, urmând standardul oneAPI pentru performanță cross-arhitectură. Proiectul permite implementarea AI cross-arhitectură prin reglarea sarcinilor de lucru pentru microarhitecturi specifice de CPU și GPU de la diferiți furnizori hardware. Se integrează cu runtime-urile hardware și driverele de sistem pentru a partaja contexte de execuție și memorie între diverși acceleratori. Biblioteca acoperă operațiuni de matrice de înaltă performanță și accelerarea deep learning-ului printr-un sistem de blocuri de construcție optimizate. Include capabilități pentru reglarea performanței rețelelor neuronale, permițând măsurarea utilizării resurselor și a timpului de execuție pentru a identifica blocajele.
Groups sequential neural network primitives into execution graphs to minimize overhead and improve data locality.
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
Reorganizes operand layouts across a workload to improve memory locality and minimize transformation overhead.