玩转Jetson nano系列(1):Jetson nano编译安装ncnn

深度学习 专栏收录该内容
15 篇文章 0 订阅

整个安装流程基本按照官方的步骤
build ncnn for jetson

但是在jetson nano上安装时,遇到了glslang和vulkan引发的问题:
Found glslangValidator: GLSLANGVALIDATOR_EXECUTABLE-NOTFOUND

Could NOT find Vulkan (missing: Vulkan_INCLUDE_DIR)

所以这篇博客主要解决这两个问题,另外glslang按照ncnn的编译安装过程好像也有点问题,所以参考glslang官方的安装。

整个过程如下:

一. 安装Vulkan SDK

官网下载链接:
Nvidia
注册完成就可以下载了,得到如下文件:

Vulkan_loader_demos_1.1.100.tar.gz

传入Jetson nano,并解压得到文件。

/home/username/Vulkanloader_demos_1.1.100

安装Vulkan SDK

cd ~/Vulkanloader_demos_1.1.100
sudo cp loader/libvulkan.so.1.1.100 /usr/lib/aarch64-linux-gnu/
cd /usr/lib/aarch64-linux-gnu/
sudo rm -rf libvulkan.so.1 libvulkan.so
sudo ln -s libvulkan.so.1.1.100 libvulkan.so
sudo ln -s libvulkan.so.1.1.100 libvulkan.so.1
cd ~/

二. 安装Glslang

下载Glslang:

git clone https://github.com/KhronosGroup/glslang.git

安装其他工具

cd <the directory glslang was cloned to, "External" will be a subdirectory>
git clone https://github.com/google/googletest.git External/googletest
./update_glslang_sources.py

配置

# Assume the source directory is $SOURCE_DIR and the build directory is $BUILD_DIR.
mkdir -p $BUILD_DIR
cd $BUILD_DIR

编译安装

# SOURCE_DIR改成glslang目录,如:/home/username/glslang
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(pwd)/install" $SOURCE_DIR
# "Release" (for CMAKE_BUILD_TYPE) could also be "Debug" or "RelWithDebInfo"
# for Linux:
make -j4 install

二. 编译安装ncnn

下载ncnn

git clone https://github.com/Tencent/ncnn.git

配置glslang和vulkan环境

# 修改glslang配置,这里主要是文件glslangValidator找不到
cd ncnn
vim src/CMakefile.txt

# 修改6-10行中间find_program部分

 6 if(NCNN_VULKAN)
 7     find_program(GLSLANGVALIDATOR_EXECUTABLE NAMES glslangValidator PATHS /home/username/glslang/build/install/bin)
 8     #find_program(GLSLANGVALIDATOR_EXECUTABLE NAMES glslangValidator PATHS $ENV{VULKAN_SDK}/bin NO_CMAKE_FIND_ROOT_PATH)
 9     message(STATUS "Found glslangValidator: ${GLSLANGVALIDATOR_EXECUTABLE}")
10 endif()


# 配置vulkan环境,这个问题主要出在FindVulkan.cmake中$ENV{VULKAN_SDK}找不到,所以在环境变量中最后添加
vim ~/.bashrc
export VULKAN_SDK="/home/username/Vulkanloader_demos_1.1.100"

接下来就按照官方的步骤编译就行,要是想编译example,可以把ncnn下CMakefile.txt最后的example注释去掉

# while aarch64-linux-gnu.toolchain.cmake would compile Tencent/ncnn as well
# but why not compile with more native features w
cd ncnn && mkdir -p build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/jetson.toolchain.cmake -DNCNN_VULKAN=ON -DCMAKE_BUILD_TYPE=Release ..
make -j`nproc`
sudo make install

OK,到这里等待安装完成就可以了。

  • 0
    点赞
  • 4
    评论
  • 9
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值