8 repository-uri
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 este o colecție de resurse educaționale și tehnice axate pe analiza arborelui sintactic abstract (AST), dezvoltarea de compilatoare și verificarea statică a codului. Oferă ghiduri și manuale pentru parsarea, parcurgerea și analizarea codului sursă Go pentru a extrage semnificația semantică. Proiectul servește ca referință pentru construirea frontend-urilor de compilatoare, acoperind traducerea codului de nivel înalt în reprezentări intermediare și forme de atribuire statică unică (SSA). De asemenea, oferă instrucțiuni pentru utilizarea acestor tehnici în dezvoltarea de tooling pentru limbaje și efectuarea analizei statice de cod. Resursele acoperă o gamă largă de capabilități de analiză statică, inclusiv tokenizarea lexicală, parsarea structurală a expresiilor și declarațiilor, și urmărirea coordonatelor pentru fișierele sursă. Detaliază, de asemenea, procesele de analiză semantică precum rezoluția identificatorilor, verificarea corectitudinii tipurilor și analiza fluxului de control pentru concurență și execuție amânată.
Translates abstract syntax trees into standardized intermediate representations to enable the generation of executable programs.
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.
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.