ubuntu20.04 tvm 安装教程

ubuntu20.04 tvm 安装教程:

参考:

  1. https://tvm.hyper.ai/docs/install/from_source/

  2. https://blog.csdn.net/wenwen_2020/article/details/134856293

步骤:

  1. 创建容器:docker run -itd --name tvm --gpus=all --ipc=host -p 20322:22 -v /mnt/iro/tt:/home/tt ubuntu:20.04 /bin/bash -c "while true; do echo \'Hello\'; sleep 1000; done"

  2. apt update

apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential libedit-dev libxml2-dev

  1. 安装cmake:

wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3.tar.gz

tar -zxvf cmake-3.28.3.tar.gz

apt-get install libssl-dev

./bootstrap

make

make install

ln -s /home/tt/tools/cmake-3.28.3/bin/* /usr/bin/

cmake -version

  1. apt install libncurses5

wget https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.0/clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz

tar -xvf clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz

mv clang+llvm-13.0.0-x86_64-linux-gnu-ubuntu-20.04 llvm13

vim /etc/profile

最后添加两行:

export LLVM_HOME=/home/tt/tools/llvm13/bin

export PATH=LLVM_HOME:PATH

source /etc/profile

llvm-as --version

set(USE_LLVM OFF)

改为:

set(USE_LLVM ON) 或者 SET(USE_LLVM /home/tt/tools/llvm13/bin/llvm-config)

set(USE_CUDA OFF)

改为:

set(USE_CUDA ON) 或者 SET(USE_CUDA /cuda的路径)

set(USE_CUDNN OFF) 改为:set(USE_CUDNN ON)

set(USE_GRAPH_EXECUTOR OFF) 改为:set(USE_GRAPH_EXECUTOR ON)

set(USE_PROFILER OFF) 改为:set(USE_PROFILER ON)

cd build

cmake ..

make -j24

vim ~/.bashrc

文件末尾添加这几行

export TVM_HOME=/home/tt/project/tvm

export PYTHONPATH=TVM_HOME/python:TVM_HOME/python/tvm:TVM_HOME/build:TVM_HOME/python/tvm/runtime:$[PYTHONPATH]

注意:

  1. 官方导出TVM_LOG_DEBUG有bug,import tvm时会报错,修改为:
    export TVM_LOG_DEBUG="ir/transform.cc=1,relay/ir/transform.cc=1"

  2. ubuntu20.04的话,注意用13.0.0的llvm,不然会core dump!!!!!

相关推荐
胡乱儿起个名9 天前
Relay算子注册(在pytorch.py端调用)
c++·人工智能·tvm·编译器·ai编译器
胡乱儿起个名14 天前
PrimExpr 与 RelayExpr 的区别
人工智能·tvm·编译器·ai编译器
胡乱儿起个名1 个月前
Relay IR的核心数据结构
人工智能·tvm·编译器·ai编译器
胡乱儿起个名1 个月前
《Relay IR的基石:expr.h 中的表达式类型系统剖析》
人工智能·tvm·ai编译器
HyperAI超神经2 个月前
【TVM教程】使用自定义调度规则(Sketch Rule)在 CPU 上自动调度稀疏矩阵乘法
人工智能·深度学习·矩阵·编程·cpu·计算机语言·tvm
HyperAI超神经2 个月前
【TVM教程】使用 TVMC Micro 执行微模型
人工智能·python·深度学习·学习·教程·gpu·tvm
HyperAI超神经4 个月前
【TVM教程】为 ARM CPU 自动调优卷积网络
arm开发·人工智能·python·深度学习·机器学习·tvm·编译器
HyperAI超神经6 个月前
【TVM 教程】使用 Tensorize 来利用硬件内联函数
人工智能·深度学习·自然语言处理·tvm·计算机技术·编程开发·编译框架
HyperAI超神经9 个月前
【TVM 教程】在 Relay 中使用外部库
开发语言·人工智能·深度学习·机器学习·语言模型·自然语言处理·tvm
HyperAI超神经10 个月前
【TVM 教程】在 CUDA 上部署量化模型
人工智能·python·深度学习·机器学习·语言模型·自然语言处理·tvm