tvm学习--001. tvm0.13.0编译安装

编译tvm 0.13.0

wsl 安装 ubuntu

在win11环境下,通过wsl安装 ubuntu虚拟机,构建 linux 操作环境

  1. 使用wsl 安装 Ubuntu 22.04 (安装wsl的操作请网上自行获取)
bash 复制代码
wsl --install -d Ubuntu-22.04
  1. 为了不让 Ubuntu 占用C盘空间,做迁移动作
bash 复制代码
# 将ubuntu导出
wsl --export Ubuntu-22.04 d:\ubuntu22.04.tar
# 注销当前安装的ubuntu
wsl --unregister Ubuntu-22.04
# 导入镜像,即导入ubuntu
wsl --import Ubuntu-22.04 D:\wsl-ubuntu D:\Ubuntu2204.tar
# 修改默认用户
ubuntu2204.exe config --default-user yourname

执行完毕上述动作后可将Ubuntu 迁移到 D 盘下。

ubuntu中配置cuda环境

下载 nvcc

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

然后编译 ~/.bashrc文件,在文件末尾增加如下内容:

txt 复制代码
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.6/lib64
export PATH=$PATH:/usr/local/cuda-12.8/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.8
export PATH=/usr/local/cuda/bin:$PATH

保存退出后,执行命令source ~/.bashrc

确保能正常执行 nvcc , nvidia-smi 命令,如下文所示

bash 复制代码
username@DESKTOP-QOJUC82:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:20:09_PST_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0
username@DESKTOP-QOJUC82:~$ nvidia-smi
Mon Nov 24 18:00:41 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.105.07             Driver Version: 581.80         CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4070 Ti     On  |   00000000:01:00.0  On |                  N/A |
|  0%   31C    P8             13W /  285W |     878MiB /  12282MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

下载 llvm 工程

执行命令 git clone https://mirrors.tuna.tsinghua.edu.cn/git/llvm-project.git 利用清华镜像下载llvm工程。 切换代码分支到 llvmorg-17.0.6 git checkout llvmorg-17.0.6

下载编译依赖

bash 复制代码
sudo apt install -y \
  build-essential cmake ninja-build python3 python3-distutils python3-dev \
  git libtinfo-dev zlib1g-dev libncurses5-dev libxml2-dev \
  libffi-dev libedit-dev libssl-dev libpthread-stubs0-dev libnuma-dev

进行编译

bash 复制代码
cmake -G Ninja ../llvm \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/opt/llvm-17.0.6 \
  -DLLVM_ENABLE_PROJECTS="clang;mlir;openmp" \
  -DLLVM_TARGETS_TO_BUILD="X86;NVPTX" \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_ENABLE_RTTI=ON \

cmake成功后,终端会打印出如下结果

lua 复制代码
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/username/llvm-project/build

然后 ninja 进行编译 编译完成后,终端会打印如下信息:

txt 复制代码
[6348/6348] Linking CXX executable bin/mlir-opt

下载 tvm 源码

执行如下命令 git clone --recursive https://github.com/apache/tvm tvm 切换 tvm到 0.13.0版本 git checkout v0.13.0 更新子模块 git submodule update --init --recursive

安装编译依赖

bash 复制代码
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev

编译

bash 复制代码
cd tvm
mkdir build
cp cmake/config.cmke build

编辑 build/config.cmake 文件

  1. 将 set(USE_CUDA OFF) 改为 set(USE_CUDA ON) 以启用 CUDA 后端。
  2. 设置llvm路径,如:set(USE_LLVM /path/to/your/llvm/bin/llvm-config)

进入 build cd build,执行 cmake命令 cmake .. ,cmake成功后终端会打印出如下信息:

bash 复制代码
-- Configuring done
-- Generating done
-- Build files have been written to: /home/username/tvm/build

接下来进行编译,执行命令make make -j8,编译成功后终端会打印如下信息:

bash 复制代码
[100%] Built target tvm_objs
[100%] Linking CXX shared library libtvm.so
[100%] Built target tvm

安装python依赖

必要的依赖pip3 install --user numpy==1.24.3 decorator attrs tvmc相关依赖:pip3 install --user typing-extensions psutil scipy rpc跟踪器相关依赖:pip3 install --user tornado auto-tuning 模块相关依赖: pip3 install --user tornado psutil 'xgboost>=1.1.0' cloudpickle

通过 setup.py 安装 TVM的Python绑定

bash 复制代码
cd tvm/python
python3 setup.py install --user

命令执行完毕后,重新进入终端,执行命令 tvmc --version,会显示如下信息:0.13.0 此时,tvm 已可使用

相关推荐
yumgpkpm4 小时前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
亚马逊云开发者5 小时前
通过Amazon Q CLI 集成DynamoDB MCP 实现游戏场景智能数据建模
人工智能
nix.gnehc5 小时前
PyTorch
人工智能·pytorch·python
J_Xiong01175 小时前
【VLNs篇】17:NaVid:基于视频的VLM规划视觉语言导航的下一步
人工智能·机器人
小殊小殊5 小时前
【论文笔记】视频RAG-Vgent:基于图结构的视频检索推理框架
论文阅读·人工智能·深度学习
IT_陈寒5 小时前
Vite 5.0实战:10个你可能不知道的性能优化技巧与插件生态深度解析
前端·人工智能·后端
大模型真好玩5 小时前
LangChain1.0实战之多模态RAG系统(二)——多模态RAG系统图片分析与语音转写功能实现
人工智能·langchain·mcp
机器之心6 小时前
智能体&编程新王Claude Opus 4.5震撼登场,定价大降2/3
人工智能·openai
小殊小殊6 小时前
【论文笔记】知识蒸馏的全面综述
人工智能·算法·机器学习
hans汉斯6 小时前
【数据挖掘】基于深度学习的生产车间智能管控研究
人工智能·深度学习·数据挖掘