首页 > 其他分享 >TVM学习笔记

TVM学习笔记

时间:2024-06-22 10:22:00浏览次数:24  
标签:学习 cmake -- 笔记 TVM build workspace tvm

安装

  1. 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 终端。
  1. 编译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
  1. 安装minconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  1. 安装TVM的python包
sudo apt update
sudo apt install -y vim
vim ~/.bashrc

export TVM_HOME=/workspace/tvm
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}
  1. 安装必要python包
pip install  numpy decorator attrs typing-extensions psutil scipy tornado tornado psutil 'xgboost>=1.1.0' cloudpickle
  1. 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

  1. 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

相关文章

  • Springboot计算机毕业设计中小学生的古诗词学习小程序【附源码】开题+论文+mysql+程序
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景古诗词作为中华文化的瑰宝,承载了丰富的历史信息和深厚的文化底蕴。然而,在中小学生的古诗词学习过程中,传统的教学方式往往侧重于背诵和应试,缺乏对学生......
  • 【YOLOv8改进】MLCA(Mixed local channel attention):混合局部通道注意力(论文笔记+引
    摘要本项目介绍了一种轻量级的MixedLocalChannelAttention(MLCA)模块,该模块同时考虑通道信息和空间信息,并结合局部信息和全局信息以提高网络的表达效果。基于该模块,我们提出了MobileNet-Attention-YOLO(MAY)算法,用于比较各种注意力模块的性能。在PascalVOC和SMID数......
  • 【YOLOv8改进】BRA(bi-level routing attention ):双层路由注意力(论文笔记+引入代码)
    摘要作为视觉Transformers的核心构建模块,注意力机制是一种强大的工具,用于捕捉长程依赖关系。然而,这种强大功能也带来了代价:计算代价巨大且内存占用高,因为需要计算所有空间位置上成对的token交互。为缓解这一问题,一系列研究尝试通过引入手工设计且内容无关的稀疏性来改进注意力机......
  • AMBA总线笔记1-APB设计要点
    1.APB2框架    APB是一种低功耗、低速度外设总线,主要用于连接外围设备和低速外设,如定时器、GPIO(通用输入输出)、串口控制器等。因其低功耗和相对简单的设计,适合于对性能要求不高的外设连接。        在实际的SOC架构中,APB往往就以以下形式出现:    A......
  • AMBA总线笔记2-AHB协议
    1.AHB介绍和组成    AHB是针对高频率高频宽及快速系统模块设计的总线,构成包括主设备master、从设备slave、仲裁器arbiter、译码器decoder。每个AHB都需要一个仲裁器和一个译码器且只有一个。2.AHB、AXI、APB对比总线AHBAXIAPB宽度32,64,128,2568,16,32,64,128,256,512,10248,1......
  • [TypeScript 学习笔记] 1. 日常类型
    TypeScript类型基础类型类型解释string用于文本字符串number用于数字(整数和浮点数)boolean布尔值,可以是true或falsenull表示缺少值的空对象指针undefined表示未定义的值void表示没有任何返回值的函数never表示永远不会返回的函数任意......
  • 学习Angr记录--angr_ctf 00~05
    首先,下载angr_ctf,打开dist文件夹,这里才是练习题,然后solution是答案00.find01.avoid前面两个是基础操作复习一下流程:1.项目路径2.进入状态3.模拟器模拟进入状态时的环境4.模拟器explore,find一个地址,avoid一些地址5.simulation.found[]数组存储成功的输入6.print(solutio......
  • python笔记
    pythonflatten()flatten()方法用于将多维数组转换为一维数组:#创建一个二维数组array_2d=np.array([[1,2,3],[4,5,6]])#使用flatten()方法将其展平为一维数组array_1d=array_2d.flatten()print(array_1d)输出结果是:[1,2,3,4,5,6]是X.flatten()[:......
  • linux笔记
    linux命令行重定向:标准输出>.>>ls>file_list.txt:在此示例中,ls执行命令并将结果写入名为的文件中file_list.txt。由于的输出ls被重定向到文件,因此显示屏上不会出现任何结果.ls>>file_list.txt:附加结果时,新结果将添加到文件末尾,从而使每次重复命令时文件......
  • 基于SpringBoot+Vue的小学生课外知识学习网站系统设计与实现(源码+lw+部署文档+讲解等
    文章目录前言详细视频演示项目运行截图技术框架后端采用SpringBoot框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......