ROCm环境下安装tvm

ROCm环境下安装tvm主要是为了构建libtvm.so、libtvm_runtime.so共享库

  1. 配置cmake环境,建议3.14版本以上
  2. 配置python环境,建议python3版本以上
  3. 配置gcc环境、ROCm的llvm环境
  4. 从下载页面https://tvm.apache.org/docs/install/index.html从下载 tvm 源代码,解压tar xvzf apache-tvm-src-v0.8.0.tar.gz(此处可将源码包修改名字成tvm)
  5. cd tvm 
    mkdir build && mkdir install
    cd build  
    cp ../cmake/config.cmake ./
    
  6. 修改config.cmake文件:
    a) 指定ROCm路径:set(USE_ROCM /opt/rocm-4.x)
    b) 指定LLVM路径(此处一定要到llvm-config二进制码):set(USE_LLVM /opt/rocm-4.x/llvm/bin/llvm-config)
    c) set(USE_MIOPEN ON)、set(USE_ROCBLAS ON)、set(USE_GRAPH_EXECUTOR ON)、set(USE_PROFILER ON)、set(USE_RELAY_DEBUG ON)
  7. cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/home/tvm/install ..
    我这里在cmake构建时报错:“Cannot find ROCM, USE_ROCM=/opt/rocm-4.x ”(将USE_ROCM=ON改为自动搜索也不成)→ 在源码中搜索关键字发现是tvm/cmake/modules/ROCM.cmake报错,归根结底是“ROCM_FOUND”参数为假 → 搜索“ROCM_FOUND”关键字是由tvm/cmake/utils/FindROCM.cmake文件决定 → 直接对FindROCM.cmake文件进行修改,路径写死:
    在这里插入图片描述
    红色框为rocm路径,与config.cmake中保持一致;
    绿色框为libamdhip64.so、libMIOpen.so、librocblas.so、libhsa-runtime64.so库的具体位置(一定到具体到库而不是路径,否则cmake配置时会报:WARNING: Target “tvm” requests linking to directory “/opt/rocm-4.x”,之后在编译时会直接出错)。
  8. cmake完成后进行编译与安装:
    make -j6 && make install
  9. 配置环境:
    ROCm中clang的环境、带有numpy等库函数的python3(module load apps/Python/python3.7.9)、tvm环境:
  export PYTHONPATH=/home/tvm/python:$PYTHONPATH

验证:在这里插入图片描述

  1. 启用 C++ 测试
    可以用 Google Test 来驱动 TVM 中的 C++ 测试。安装 GTest 最简单的方法是从源代码安装:
git clone https://github.com/google/googletest
cd googletest
mkdir build && mkdir install
cd build
cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=../install ..
make && make install

安装成功后,可以用 ./tests/scripts/task_cpp_unittest.sh 来构建和启动 C++ 测试,测试最后报以下错:
在这里插入图片描述
可以使用TIMEOUTtest属性控制单个测试的CMake超时,此处超时是因为默认值为5,可以添加–timeout选项调用时覆盖默认超时。例如,要将全局超时默认值设置为120秒来运行测试:

./tests/scripts/task_cpp_unittest.sh --timeout 120

测试效果如下图所示:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值