TVM个人实验(一)--TVM在ubuntu下安装

本文记录了在Ubuntu系统中安装TVM的过程,特别是遇到的LLVM版本匹配问题。作者首先介绍了安装LLVM和Clang的步骤,然后强调了在配置TVM的CMake文件时,需指定使用llvm-config-14以适配已安装的LLVM14.0.0版本。如果不正确设置,会导致运行示例时出现错误。文章提供了解决此特定错误的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    从今天开始,开始研究TVM的用法,用系列文章来记录自己实验的点点滴滴。开头第一篇,介绍如何在ubuntu 下安装TVM。

    对于TVM的站点对于如何安装TVM已经讲的非常的清楚。但是在这里记录自己掉坑的地方。

1. 安装llvm

sudo apt-get install llvm
sudo apt-get install clang

查看llvm的版本:

$ llvm-as --version
Ubuntu LLVM version 14.0.0

  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: tigerlake

LLVM的版本为14.0.0

2. TVM的编译安装

详细的流程,根据官方文档依次操作就行,但是有一个需要注意的地方。

因为本地安装的是LLVM14版本,所以在config.cmake中设置如下:

set(USE_LLVM llvm-config-14)

如果这个设置不对的话,在跑官方的例子将ONMX模型编译到TVM Runtime时,会报如下错误:

module 'tvm.target._ffi_api' has no attribute 'llvm_version_major'
RuntimeError: LLVM version is not available, please check if you built TVM with LLVM

以上便是自己源码安装TVM遇到的坑。

### 安装TVM 0.9版本Ubuntu #### 准备工作 为了确保顺利安装TVM,在开始之前需确认已更新系统的包列表并安装必要的依赖项。这可以通过运行`sudo apt-get update && sudo apt-get upgrade`来完成,随后安装构建工具和其他必需软件包[^1]。 ```bash sudo apt-get install -y build-essential cmake git libjpeg-dev libpng-dev \ python3-dev python3-setuptools python3-pip ninja-build ``` #### 获取源码 通过Git克隆指定版本的仓库可以获取到特定版本(如v0.9.dev)的TVM源代码。此操作允许访问确切的历史提交记录以及相关联的功能分支[^2]。 ```bash git clone --recursive https://github.com/apache/tvm.git tvm_v0.9 -b v0.9.dev cd tvm_v0.9 ``` #### 编译配置 利用CMake进行编译前设置,创建个名为build的新目录用于存放生成文件,并进入该目录执行cmake命令以初始化项目结构。对于大多数情况,默认选项已经足够;但是如果有特殊需求,则可以在调用时传递额外参数给cmake[^3]。 ```bash mkdir build cd build cmake .. ``` #### 构建过程 旦完成了上述准备工作之后就可以正式开始了!使用ninja作为后台引擎来进行实际编译流程,期间可能会花费些时间取决于机器性能等因素影响。完成后将会得到所需的库文件和可执行程序[^4]。 ```bash ninja ``` #### Python绑定安装 为了让Python能够识别新安装好的TVM模块,还需要单独处理其对应的接口部分——即python-package子目录下的内容。这里推荐采用pip的方式快速部署环境变量指向正确路径下.so动态链接库的位置[^5]。 ```bash cd ../python python3 setup.py develop ``` 验证安装成功的方法之就是尝试导入tvm模块而不报错: ```python import tvm print(tvm.__version__) ``` 如果切正常的话应该会显示所期望看到的那个版本号字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值