Jetson NX上NCNN编译测试(没有TRT)

在Jetson NX上编译NCNN(没有TRT支持)

记录下自己编译的过程,网上零零碎碎找了一些教程解决了编译的问题。

环境

笔者使用的环境是最新的Jetpack4.6, 但是有找不到CUDA、CUDNN的问题,加了环境变量没解决。(最后找到原因可能是因为自己编译带CUDA的OpenCV导致的,处理起来比较麻烦)最后用NGC的docker如下:
docker pull nvcr.io/nvidia/l4t-ml:r32.5.0-py3
建立docker实例以及clone代码等过程省略了

Vulkan SDK的解决

Jetson上内置了Vulkan支持,但是需要我们编译一部分库。方法如下,官方也给了说明:
https://developer.nvidia.com/embedded/vulkan
我们需要的就是这个vulkan loader的编译结果作为NCNN的requirements之一。
具体方法如下:

sudo apt-get update && sudo apt-get install git build-essential libx11-xcb-dev libxkbcommon-dev libwayland-dev libxrandr-dev cmake
git clone https://github.com/KhronosGroup/Vulkan-Loader.git
cd Vulkan-Loader && mkdir build && cd build
../scripts/update_deps.py
cmake -DCMAKE_BUILD_TYPE=Release -DVULKAN_HEADERS_INSTALL_DIR=$(pwd)/Vulkan-Headers/build/install .. 
#上面这个路径有一点点奇怪,但是照这个这个做
make -j6 #NX最多6个核心
cd Vulkan-Headers
ln -s ../loader lib #链接出来lib
export VULKAN_SDK=#你编译的地方 /home/jedibobo/Vulkan-Loader/build/Vulkan-Headers

NCNN 的编译

之后再上编译NCNN的脚本:

mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON -DCMAKE_TOOLCHAIN_FILE=../toolchains/jetson.toolchain.cmake ..
make -j6

如果全部按照我这里做的,应该没啥问题。

结果

在这里插入图片描述
应该是5min不到就会弄完

需要注意的是,TRT和NCNN是同类型的推理加速框架,而NCNN通过Vulcan来调用GPU加速而不是CUDA。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

·空感自诩”

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值