Mac 编译 llvm / mlir

前言

Mlir 现在合并到了 llvm 工程项目中,虽然官网贴出了编译的命令,但是因为环境配置或者是系统的问题直接用官网的命令会遇到各种错误,这里对 Mac 编译 llvm 中的 mlir 做一个记录,希望也可以帮助到有需要的小伙伴。

前期环境配置

首先要 clone 下来整个 llvm 项目,可以使用下面的命令:

git clone https://github.com/llvm/llvm-project.git

但是 llvm 整个项目比较大,下载速度可能会很慢,并且下载中途会出现下载中断的问题,这里推荐参考下面的链接,来加速下载过程

git clone https://github.com.cnpmjs.org/llvm/llvm-project.git

Mac 中需要安装下面几个需要用到的依赖:

# 安装 ninja
brew install ninja

# 安装 cmake
brew install cmake
编译
cd llvm-project
mkdir build && cd build
cmake -G Ninja ../llvm \
   -DLLVM_ENABLE_PROJECTS=mlir \
   -DLLVM_TARGETS_TO_BUILD="host" \
   -DCMAKE_BUILD_TYPE=Release \
   -DLLVM_ENABLE_ASSERTIONS=ON \
   -DLLVM_ENABLE_RTTI=ON \
   -DLLVM_BUILD_EXAMPLES=ON

cmake --build . -- ${MAKEFLAGS} # 等待编译完成
cmake --build . --target check-mlir

最后顺利的话,会是下面的输出:
请添加图片描述

可能遇到的问题

刚开始我根据 Mlir 官网的编译命令直接编译:

cmake -G Ninja ../llvm \
   -DLLVM_ENABLE_PROJECTS=mlir \
   -DLLVM_BUILD_EXAMPLES=ON \
   -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" \
   -DCMAKE_BUILD_TYPE=Release \
   -DLLVM_ENABLE_ASSERTIONS=ON \
#  -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_LLD=ON

cmake --build . --target check-mlir

编译半天,最后总是会遇到下面的问题:
请添加图片描述
总有 failed 的 case。折腾了半天,在另一个项目中找到了上面使用的不会有 failed case 的编译命令。

刚开始我认为上面就是编译失败了,一直在想着是不是环境有什么问题,又是卸载如果是要学习 mlir 的 toy examples,跟着官方文档走一遍,实测即使是上面这种 test 没过的情况,还是会有 build/bin/toyc-ch* 的二进制生成,case 没过也可以正常运行 toy 的例子的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值