Jetson上如何集成支持使用GPU的NCNN到应用程序

 nccn通过vulkan使用GPU,所以实际上需要集成vulkan和ncnn的头文件和so库。

用于Jetson的JetPack里默认提供了vukan的so文件,例如libvulkan.so.1.2.142以及指向它的链接libvulkan.so.1,但是没有libvulkan.so这个名字的so文件或者链接,所以需要创建一个如下的链接:

ln -s libvulkan.so.1 libvulkan.so

ncnn的源码里包含有vulkan的头文件,所以头文件就不用从 https://github.com/KhronosGroup/Vulkan-Loader.gith

获取对应版本的源码了,直接使用ncnn/layer/vulkan下的头文件即可。

对于ncnn的so库文件,从  https://github.com/Tencent/ncnn ​​​​​​​下载源码编译出libncnn.so.1.0.*这样的so库文件以及链接后,将这些库和链接拷贝到你的应用文件的lib路径下即可:

ncnn的源码组织得有点乱,.h文件和.cpp文件以及其他乱七八糟的文件都放在一起,所以下载源码后,做向应用程序集成时可以自己做裁剪,把ncnn/layer/下的q除了vulkan目录和对应部署硬件平台所需的文件所在目录外,其他的都可以删掉:

 然后把ncnn/和ncnn/layer/以及ncnn/arm/等目录下的所有不是.h头文件的都删掉即可,在编译使用了ncnn的应用程序的Makefile里增加include路径把ncnn和ncnn/layer/vukan目录所在路径都包含进去,并增加-L将libncnn.so*那些库所在路径包含进去(如果没有保持原生系统干净的洁癖,也可以直接将libncnn.so*这些库和链接直接拷贝到系统库路径下去,例如Jetson平台上拷贝到/usr/lib/aarch64-linux-gnu/下去)以及增加 -lncnn -lvulkan即可编译应用程序了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Arnold-FY-Chen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值