一 前期准备
VisionFive2的CPU是四核处理器,性能比较强大,因此NCNN的编译都在VisionFive2开发板上进行。
1 下载CMake源码
首先执行如下命令安装依赖包:
sudo apt-get install libssl-dev g++ opengssl
然后执行如下命令下载CMake源码:
cd /home/user/
mkdir Documents && cd Documents
wget https://github.com/Kitware/CMake/releases/download/v3.27.4/cmake-3.27.4.tar.gz
下载成功后,将CMake源码包进行解压:
tar zxvf cmake-3.27.4.tar.gz
cd cmake-3.27.4
进入cmake源码文件后,执行如下命令:
./bootstrap --prefix=/usr/local/cmake
按照输出的提示,执行如下命令:
make -j2
编译成功后,执行如下命令进行安装:
sudo make install
在命令行下运行cmake –version,若显示cmake版本号,则cmake安装成功。
2 下载NCNN源码
首先安装依赖库,执行如下命令:
sudo apt install build\\-essential git cmake libprotobuf\\-dev protobuf\\-compiler libvulkan\\-dev vulkan\\-utils libopencv\\-dev
在/home/user/Documents路径下,执行如下命令:
git clone https://github.com/Tencent/ncnn.git
二 NCNN编译
在ncnn文件夹下有个toolchains文件夹,里面包含了不同指令架构的编译工具链,如图1所示。
图1 toolchains文件夹下的编译工具链
这里我们选择riscv64-unknown-linux-gnu.toolchain.cmake,使用如下的命令进行编译。
cd ncnn
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../toolchains/riscv64-unknown-linux-gnu.toolchain.cmake -DNCNN_VULKAN=ON -DNCNN_BUILD_EXAMPLES=ON ..
在build文件生成了Makefile,之后执行如下命令:
make -j2
这里没有使用4个处理器核心来进行make,使用4个处理器核心来进行make时会出现系统卡顿的现象,因此这里只使用两个处理器核心来make。
之后执行如下命令进行安装:
sudo make install
在build文件下会出现一个install文件夹,里面有ncnn的头文件和动态库文件,是我们调用ncnn做深度学习推理时要用到的。
|