安装
- podman拉取镜像
podman pull tlcpack/ci-gpu:20240105-165030-51bdaec6
podman run -it --network=host --gpus all --shm-size=10g -v /home/moguw/Github/tvm-learn:/workspace --name tvm-build tlcpack/ci-gpu:20240105-165030-51bdaec6 /bin/bash
--shm-size=10g
指的是共享内存的大小为10g/home/xxxx:/workspace
指的是将/home/xxxx
目录挂载到镜像中的/workspace
目录下/bin/bash
: 这是在容器内要执行的命令。在这种情况下,它会启动一个 Bash 终端。
- 编译TVM
下载下来的镜像中是没有TVM的,只不过是给我们配置好了所有的环境,因此我们还要按照官网的方式编译TVM
git clone --recursive https://github.com/apache/tvm tvm
在tvm文件夹下新建build文件夹,然后将cmake/config.cmake移动到build文件夹下
cd tvm
mkdir build
cp cmake/config.cmake build
开始编译
cd build
cmake .. -G Ninja
ninja
- 安装minconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 安装TVM的python包
sudo apt update
sudo apt install -y vim
vim ~/.bashrc
export TVM_HOME=/workspace/tvm
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}
- 安装必要python包
pip install numpy decorator attrs typing-extensions psutil scipy tornado tornado psutil 'xgboost>=1.1.0' cloudpickle
- ERROR处理
在import tvm中会遇到一个error:libstdc++.so.6: version ‘GLIBCXX_3.4.30’ not found 。 这里是因为虚拟环境没有使用系统的libstdc++.so.6这个库,因为只需要将将虚拟环境中的软链接指向系统的这个库即可。
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /root/miniconda3/envs/tvm/lib/libstdc++.so.6
podman run -it --network=host --gpus all --shm-size=10g -v /home/moguw/Github/tvm-learn:/workspace:Z tlcpack/ci-gpu:20240105-165030-51bdaec6 /bin/bash
Error: setting up CDI devices: unresolvable CDI devices nvidia.com/gpu=all
https://gist.github.com/jabbany/66e633c3fd30f81159feb46e4da25c55
- fedora关闭SELINUX
sudo sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config
标签:学习,cmake,--,笔记,TVM,build,workspace,tvm
From: https://www.cnblogs.com/moguw/p/18259529