惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
量子位
D
DataBreaches.Net
博客园 - 司徒正美
J
Java Code Geeks
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
B
Blog
The Cloudflare Blog
D
Docker
I
InfoQ
爱范儿
爱范儿
MongoDB | Blog
MongoDB | Blog
腾讯CDC
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
Microsoft Azure Blog
Microsoft Azure Blog
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
S
SegmentFault 最新的问题
GbyAI
GbyAI
有赞技术团队
有赞技术团队

Mox的笔记库

2026PPoPP MLIR Tutorial学习 | Mox的笔记库 MacOS配置《明日方舟:终末地》 | Mox的笔记库 2025:向内生长 | Mox的笔记库 由mlir::ExecutionEngine引发的跨系统问题 | Mox的笔记库 WSL2配置Cuda-Tile环境记录(未完待续) | Mox的笔记库 Vibe Coding手搓项目记录 | Mox的笔记库 给Debian上包——以DuckDB为例 | Mox的笔记库 UCPD.sys事件存档 | Mox的笔记库 换新电脑之Mac mini M4从购买到配置 | Mox的笔记库 Mac配置MLX-C开发环境 | Mox的笔记库 RISC-V meets RDBMS——RISC-V架构上可运行数据库一览 | Mox的笔记库 DuckDB Sort实现调查 | Mox的笔记库 修复Redis在树莓派5上无法运行的问题 | Mox的笔记库 如何在MLIR中自定义类型并且输出运行 | Mox的笔记库 网站网络结构变更记录 | Mox的笔记库 EDBT25论文阅读:PhoebeDB——A Disk-Based RDBMS Kernel for High-Performance and Cost-Effective OLTP SIGMOD25论文阅读:BPF-DB:——A Kernel-Embedded Transactional Database Management System For eBPF Applications Apache Arrow Gandiva项目解析 | Mox的笔记库 VLDB24论文阅读:Cloud-Native Database Systems and Unikernels——Reimagining OS Abstractions for Modern Hardware NoisePage源码分析(未完待续) | Mox的笔记库 VLDB20论文阅读:Mainlining Databases——Supporting Fast Transactional Workloads on Universal Columnar Data File Formats VLDB17论文阅读:Relaxed Operator Fusion for In-Memory Databases:Making Compilation, Vectorization, and Prefetching Work Together At Last 论文阅读:How not to structure your database-backed web applications——a study of performance bugs in the wild SIGMOD24阅读:ROME——Robust Query Optimization via Parallel Multi-Plan Execution 文章阅读:First Past the Post-Evaluating Query Optimization in MongoDB SIGMOD文章阅读:Apache Calcite——A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources VLDB23论文阅读:Analyzing the Impact of Cardinality Estimation on Execution Plans in Microsoft SQL Server SIGMOD22论文阅读:Efficient Massively Parallel Join Optimization for Large Queries VLDB论文阅读:Weaving Relations for Cache Performance VLDB22论文阅读:ConnectorX——Accelerating Data Loading From Databases to Dataframes
细嗦下MLIR的环境搭建 | Mox的笔记库
MocusEZ · 2026-05-05 · via Mox的笔记库

算一算,已经有一段时间没有更新博客内容了,一方面是3,4月份在整点新的论文玩意和养龙虾(Openclaw)/养马(Hermes),外加准备毕业答辩和参加毕业答辩(btw很高兴能在4月底顺利完成毕业答辩😁),另外一方面是沉迷Vibe Coding,工程工作都交给Claude Code做了,但工程推进太快,倒逼个人去不断学习充电,反倒没空去整理笔记😨

但是关于MLIR环境配置这一块,这一块我还是不吐不快。众所周知,MLIR现在是LLVM的子项目,而LLVM项目本身是一个巨大的Monorepo,每次安装都要拉取一堆无关文件,占用硬盘空间,编译速度还慢,所以今天准备写篇文章,好好说说MLIR的环境搭建这事

方案1:从源代码编译

老老实实从头编译肯定是最好的,MLIR的初始教程也是建议大家从零开始编译,但你要是机器一般(笔记本或一般PC),或者网络不行(比如国内),仓库拉取和编译本身就是非常要命的事😰之前在某公司内网部署MLIR环境,光编译参数的调整都不下三四个方案,还而且还不能保证每一个方案,一定能编译使用通过。从那以后,关于MLIR环境,我都是能用二进制分发就不要手动编译

对此,我对这个方案的评价是NPC

方案2:Debian Sid源二进制分发

容器构建是我当时学习MLIR的逃课Idea,Debian Sid的源仓库默认有二进制分发的MLIR,只需要Pull一个Debian Sid容器,直接安装就行,分发起来也很方便

唯一的问题是,容器内不方便perf,但这个方案可以给一个夯,Dev Container是团队协作的正解

(虽然但是,我那个项目直到最后跑路,都没有迎来一个很好的技术Partner😂MLIR门槛还是太高了,环境部署问题能简化解决就简化解决吧)

方案3-推荐方案:包管理二进制分发方案(pixi)

因为众所周知的历史问题,CPP的依赖管理机制是个大坑,而CPP的包管理机制更是五花八门,我知道的方案都不下三四个(Conon,VCpkg,手动脚本管理,apt仓库管理,甚至还见过用Python的venv虚拟环境管理C++依赖的)

而在这里面,Conon我只是听说过但没用过,当时用Debian容器分发就能解决大部分问题,外加当时是用Windows的WSL或远程Linux机器,就没尝试Conon🤔

至于VCpkg,我24年尝试的时候,那个依赖链又臭又长,占硬盘空间的同时,编译速度还慢,在一些小项目还挺好用的,但碰到MLIR这种大项目编译就很慢,后面也没再尝试了😅

至于用Python的venv虚拟环境管理CPP依赖,意外觉得这个方案不错😂(llvm/lighthouse这种示范性项目末甚至用uv管理,配合edusl的包分发),但这个方案二进制不能共享(也许用uv可以实现共享的效果?),如果只是单纯写CPP项目,.venv文件夹看着很膈应,与之相对应的还有conda管理,但在公司使用conda有合规风险,遂放弃

我知道Google他们使用bazel管理MLIR环境,但那玩意儿太复杂了,不适合个人使用

直到26年4月份在折腾一个项目时,发现了pixi

这个包管理机制我感觉棒极了!其默认使用的是conda-forge,不存在Anaconda的合规风险,对于国内,也可以换成conda的清华源解决依赖下载问题

我尝试把我之前用于MLIR项目依赖修改为pixi(mlir-hello-world),很顺利的实现了Mac OS和Linux的依赖管理,这应该是我目前见到最合适的分发方案🤩(顺带Vibe Coding把这项目从LLVM20升级到LLVM22)

而对于PPoPP 2026的Tutorial,我也整理了一个使用Pixi管理的方案(mocusez/mlir-tutor),不然国内使用edusl依赖不要太麻烦(但实际测试conda-forge分发的mlir-python-bindings的MacOS包有问题,会报错LLVM ERROR: Attempting to attach an interface to an unregistered operation,所以目前只支持在Linux下使用)

结语

说到底就是C++依赖问题,我认为Conda生态下的pixi就是当前条件下,跨平台分发的最优解

我推荐任何初学,或者只是想简单尝试MLIR,但不想花时间配置环境的人,都使用Pixi配置MLIR环境👍