8 dépôts
Internal graph-based models of program logic used for global optimization and machine code emission.
Distinct from Graph Execution Compilers: Focuses on internal compiler IR graphs for general optimization, not GPU-specific execution graphs.
Explore 8 awesome GitHub repositories matching software engineering & architecture · Compiler Intermediate Representations. Refine with filters or upvote what's useful.
Graal is a compiler and runtime architecture designed for high-performance execution and polyglot interoperability. It utilizes a graph-based representation of program logic to perform global optimizations and JIT compilation. The project features a meta-circular interpretation framework and a specialized partial evaluation mechanism, which allow for the creation of new programming languages and the automatic optimization of their semantics into machine code. It enables multiple diverse programming languages to share memory and communicate through a standardized cross-language protocol within
Implements a graph-based representation of program logic to perform global optimizations before emitting final machine code.
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
Transforms compute graphs through operator fusion and layout conversion to maximize hardware utilization.
Theano is a Python mathematical expression compiler and symbolic math library used as a deep learning backend. It functions as a tensors computation framework that translates mathematical formulas into optimized C or CUDA code for high-performance computing. The system manages the definition and evaluation of complex math formulas using multi-dimensional arrays. It employs a symbolic expression graph and a lazy evaluation engine to optimize mathematical expressions before they are compiled into executable code. The framework provides automatic differentiation for calculating gradients of mat
Uses internal graph-based models of program logic to perform algebraic rewrites and global optimization.
This project is an educational blog and learning resource dedicated to the Rust programming language. It provides a collection of curated guides, technical articles, and structured learning paths designed to teach language fundamentals, concurrency, and systems programming. The repository distinguishes itself by offering practical implementation tutorials for complex systems. This includes detailed guides on compiler development—specifically translating source code into targets such as ARM64, x86_64, LLVM IR, and WebAssembly—as well as networking examples for building multithreaded chat serve
Demonstrates translating source code into LLVM Intermediate Representation (IR) using SSA form.
go-ast-book est une collection de ressources éducatives et techniques axées sur l'analyse des arbres de syntaxe abstraite (AST), le développement de compilateurs et la vérification de code statique. Il fournit des guides et manuels pour parser, parcourir et analyser le code source Go afin d'en extraire la signification sémantique. Le projet sert de référence pour construire des frontends de compilateurs, couvrant la traduction de code de haut niveau en représentations intermédiaires et en formes d'assignation statique unique (SSA). Il fournit également des instructions pour utiliser ces techniques afin de développer des outils de langage et effectuer de l'analyse de code statique. Les ressources couvrent un large éventail de capacités d'analyse statique, incluant la tokenisation lexicale, le parsing structurel des expressions et déclarations, et le suivi des coordonnées pour les fichiers sources. Il détaille également les processus d'analyse sémantique tels que la résolution d'identifiants, la vérification de la correction des types et l'analyse du flux de contrôle pour la concurrence et l'exécution différée.
Translates abstract syntax trees into standardized intermediate representations to enable the generation of executable programs.
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.
Utilizes internal graph-based models of program logic to enable structural analysis and compiler-driven optimizations.
Triton is a dynamic binary analysis framework designed to automate reverse engineering. It functions as a multi-architecture CPU emulator, an SMT-based symbolic execution engine, and a dynamic taint analysis tool. The framework translates raw machine instructions into abstract syntax trees, allowing it to represent binary program logic as a structured intermediate representation. This allows the system to map multiple hardware instruction sets to a single analysis framework and translate machine instructions into mathematical formulas for solving constraints. Its capabilities cover the simul
Transforms raw machine instructions into a structured intermediate representation to organize code into analyzable blocks.
Grin is a compiler infrastructure designed for the translation and optimization of high-level functional languages. It functions as a graph-reduction compiler, transforming source code into a standardized intermediate representation that facilitates whole-program analysis and efficient execution across diverse hardware architectures. The project distinguishes itself through a modular backend infrastructure that separates intermediate representation management from target-specific code generation. By utilizing graph-based transformations, the system performs advanced optimizations such as valu
Uses a directed graph-based intermediate representation to enable complex whole-program analysis and optimization during compilation.