2026-04-22 | algorithms | #algorithms #sorting #hashing #simd #compiler #data-structures
汇总本站算法工程相关文章,覆盖排序、哈希、树、字符串、近似数据结构、SIMD、随机化与编译器相关算法。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #ir #halide #tvm #xla #codegen #domain-specific-architecture
从三阶段编译器局限出发,串联 Halide、XLA、TVM 的 IR 裂变,说明 DSA 与 AI 编译器为何需要 MLIR 这类可组合的多层 IR 框架。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #dialect #lowering #iree #circt #torch-mlir #design-philosophy
从 Module-Operation-Region-Block 四层结构出发,系统讲解 MLIR 的三条核心设计原则:渐进降阶、方言可组合性、基础设施复用,配合 IREE、CIRCT、Torch-MLIR 等实际案例建立心智模型。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #build #cmake #mlir-opt #pass #canonicalize #tutorial
从零构建 LLVM/MLIR 工程,用 mlir-opt 理解 .mlir 文本表示,运行规范化 Pass 并逐行解读转换结果,建立从命令行到 IR 变换的直觉。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #cpp #operation #value #block #region #ssa #ir
深入 Operation、Op、Value、Block、Region 的 C++ 内存布局与继承体系:CRTP 模板包装、SSA 值的两种来源、Use 链表的遍历方法。这是后续所有 Pass 写作的基础。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #type-system #attribute #dialect #tensor #memref #opbuilder
解析 MLIR 的类型体系:内建类型(Integer、Float、Tensor、MemRef)与自定义方言类型的注册机制;区分 Type 与 Attribute 的设计意图;通过 OpBuilder 理解类型和属性在 IR 构造中的实际角色。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #tablegen #ods #dialect #code-generation #declarative
深入 MLIR 的 ODS 与 TableGen 工具链:从 .td 定义到自动生成的构建器、验证器、解析/打印器,理解声明式 IR 定义如何减少手写样板代码。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #region #block #ssa #control-flow #structured-control-flow
解析 MLIR 的嵌套区域控制流表示:Block 参数替代 phi 节点的设计动机、Region 的 SSACFG 与 Graph 两种类型、结构化控制流的表示能力,以及与 LLVM 经典 SSA 形式的对比。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #pass #pipeline #optimization #analysis
详解 MLIR 的 Pass 基础设施:OperationPass 与 ModulePass 的分类与适用场景、Pass 依赖管理与流水线构建、Pass 选项系统、多线程执行模型,以及 mlir-opt 的调试命令。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #pattern-rewrite #canonicalization #fold #optimization #greedy-rewrite
深入 MLIR 的模式重写引擎:RewritePattern 的驱动模型、matchAndRewrite 的匹配与替换协议、规范化(Canonicalization)规则的编写、折叠与代数简化的最佳实践,以及 GreedyPatternRewriteDriver 的工作机制。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #dialect-conversion #type-converter #lowering #progressive-lowering #bufferization
系统讲解 MLIR 的方言转换框架:TypeConverter 的类型映射、ConversionTarget 的合法性检查、完整转换与部分转换的适用边界、以 linalg bufferization 为例展示渐进降阶的实现模式。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #tensor #linalg #matmul #convolution #structured-ops #ai-compiler
解析 AI 编译的核心抽象层:Tensor 方言的不可变语义与操作、Linalg 方言的结构化操作(逐元素、归约、收缩)及其通用表示 linalg.generic,以矩阵乘法为例展示从高层表示到底层循环的完整降阶路径。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #affine #scf #polyhedral #loop-analysis #dependence-analysis #tiling
深入 MLIR 的循环层表示:Affine 方言的仿射约束与依赖分析、与多面体(Polyhedral)模型的联系、SCF 方言的结构化控制流,以及从 affine.for 到 scf.for 的降阶过程。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #gpu #spir-v #cuda #tiling #memory-hierarchy #iree #triton
解析 MLIR 的 GPU 代码生成框架:GPU 方言的层次化并行模型(Block/Thread/Memory)、gpu.launch 的语义、SPIR-V 出口路径、内存层次抽象与 tiling 策略,以及与 Triton、IREE 的协作关系。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #pytorch #tensorflow #jax #onnx #torch-mlir #mhlo #stablehlo #framework-bridge
系统比较 PyTorch(Torch-MLIR)、TensorFlow(MHLO)、JAX(StableHLO)、ONNX(ONNX-MLIR)四种 AI 框架到 MLIR 的桥接方案:各自的 IR 翻译路径、方言映射方式和复用关系,分析 StableHLO 作为跨框架统一 IR 的地位与局限。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #dsl #tensor #dialect #lowering #jit #hands-on
手把手构建微型 Tensor DSL:ODS 定义方言、写 tiny-to-linalg 降阶 Pass,经标准管线生成 LLVM IR,走完编译链闭环(参考 MLIR Toy 教程)。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #debugging #mlir-opt #diagnostics #performance #visualization
MLIR 编译开发的实用工具箱:mlir-opt 的流水线诊断、IR dump 与 Pass 前后对比、mlir-tblgen 的使用方法、Pass 崩溃定位与 reproducer 生成、性能剖析与 IR 可视化工具的完整操作指南。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #iree #runtime #deployment #hal #edge-computing #vulkan
以 IREE 为实例,展示 MLIR 在实际 AI 编译器项目中的集成方式:编译流程剖析、HAL 运行时设计、设备驱动抽象、部署到移动端或边缘设备的完整链路。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #future #mlir-2 #llm #compiler-synthesis #dsco #open-problems
全系列收官:回顾 MLIR 的设计哲学如何重塑编译器工程的边界,审视 MLIR 2.0 的社区规划、AI 生成编译器的可能性与陷阱、以及编译器基础设施的开放问题——从方言生态到 DSCO 愿景。
2026-06-09 | compiler · architecture | #mlir #llvm #compiler #dialect #linalg #affine #gpu #tensor #iree #codegen #ai-compiler #heterogeneous-computing #tablegen #pass
从三阶段编译器局限出发,系统讲解 MLIR 方言、渐进降阶与 Pass 基础设施,覆盖 Tensor/Linalg/Affine/GPU 到框架桥接的完整编译链。
2025-07-15 | algorithms | #cpp #json #parser #state-machine #compiler
从零开始实现一个基于有限状态机(FSM)的 JSON 解析器,不依赖第三方库,顺手吃透词法分析与语法分析的基础。
2025-07-15 | algorithms | #regex #regular-expressions #pattern-matching #automata #compiler
从乔姆斯基层级、Thompson 构造到 NFA/DFA 与代码实现,系统理解正则表达式背后的理论与工程。
2026-06-11 | algorithms | #dfa #minimization #hopcroft #lexer #regex #compiler
每个正则表达式引擎背后,都有一个 DFA 最小化算法在工作。
2026-06-12 | algorithms | #lr-parsing #lalr #yacc #bison #compiler #grammar
LR 解析是编译器前端最重要的算法,没有之一。
2026-06-13 | algorithms | #peg #packrat #parsing #memoization #compiler #pest
PEG 用确定性选择解决了 CFG 的歧义问题,但代价是什么?
2026-06-14 | algorithms | #register-allocation #graph-coloring #linear-scan #compiler #llvm #jit
寄存器分配是编译器后端对程序性能影响最大的优化。
2025-07-15 | algorithms | #compiler #ssa #dominance-tree #optimization #llvm
SSA 是现代编译器 IR 的核心表示形式。从支配树到 φ 函数,理解 SSA 的构造和优化是深入编译器的必经之路。
2026-06-10 | algorithms | #graph-coloring #register-allocation #compiler #np-complete #greedy #interference-graph
图着色问题是 NP 完全的,但编译器每天都在解决它。