ncnn - ubuntu调用vulkan加速ncnn是的CMakeLists.txt和bashrc配置

这篇具有很好参考价值的文章主要介绍了ncnn - ubuntu调用vulkan加速ncnn是的CMakeLists.txt和bashrc配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概述

ncnn使用vulkan来加速时,需要先安装vulkan,然后再使用vulkan来编译ncnn,最后才是使用编译好的ncnn来推理模型。。

这里的vulkan再Ubuntu中通常是直接解压安装,然后配置环境变量如下:

export VULKAN_SDK=/home/fwq/softs/1.2.182.0/x86_64

1.2.182.0 是我使用的vulkan版本。。

配置完上述路径后,source ~/.bashrc。

这时,编译ncnn 时 依赖 vulkan就成功通过了,但使用CMakeLists.txt 调用ncnn时报错:

CMake Error at /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
 Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found
 version "")

Call Stack (most recent call first):
 /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
 /usr/local/share/cmake-3.23/Modules/FindVulkan.cmake:159 (find_package_handle_standard_args)
 /home/fwq/ncnn/lib/cmake/ncnn/ncnnConfig.cmake:18 (find_package)

解决1(失败)

添加环境变量配置:

##vulkan
export VULKAN_SDK=/home/fwq/softs/1.2.182.0/x86_64

export Vulkan_LIBRARY=/home/fwq/softs/1.2.182.0/x86_64/lib

export Vulkan_INCLUDE_DIR=/home/fwq/softs/1.2.182.0/x86_64/include

export vulkan_BIN=/home/fwq/softs/1.2.182.0/x86_64/bin

export PATH=$PATH:$Vulkan_LIBRARY:$Vulkan_INCLUDE_DIR:$vulkan_BIN

然后重新导入CMakeLIsts.txt,但还是失败

解决2(成功)

这个解决1中的并没有注释-- 后续可以测试一下,注释过后有没有影响

在CMakeLists.txt中添加:

set(Vulkan_LIBRARY /home/fwq/softs/1.2.182.0/x86_64/lib)

set(Vulkan_INCLUDE_DIR /home/fwq/softs/1.2.182.0/x86_64/include)文章来源地址https://www.toymoban.com/news/detail-818355.html

完整导入ncnn的CMakeLists.txt示例

set(Vulkan_LIBRARY /home/fwq/softs/1.2.182.0/x86_64/lib)
set(Vulkan_INCLUDE_DIR /home/fwq/softs/1.2.182.0/x86_64/include)set(ncnn_DIR "/home/fwq/ncnn/lib/cmake/ncnn")


set(ncnn_INCLUDE_DIRS /home/fwq/ncnn/include)
find_package(ncnn REQUIRED)

# 添加openmp的编译选项
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")

link_directories(
       ${ncnn_INCLUDE_DIRS}
)


add_library(yolov5lite_ncnn SHARED  ${yolov5lite_ncnn_cpp})
target_link_libraries(yolov5lite_ncnn
        ${OpenCV_LIBS}
        ncnn
  )

target_include_directories(yolov5lite_ncnn PUBLIC
        ${CMAKE_SOURCE_DIR}/3rdpart
        ${CMAKE_SOURCE_DIR}/3rdpart/ncnn_include

        ${CMAKE_CURRENT_LIST_DIR}/Export
        ${CMAKE_CURRENT_LIST_DIR}/Include

        )张无门槛流量券(+1000曝光),0点自动发

到了这里,关于ncnn - ubuntu调用vulkan加速ncnn是的CMakeLists.txt和bashrc配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CMakeLists.txt编写简单介绍:CMakeLists.txt同时编译.cpp和.cu

    不想付费的同学可以参考本人知乎添加链接描述,关于CMakeLists.txt的相关介绍,这里不赘诉,本人的出发点是借助于CMakeLists.txt掌握基本的C++构建项目流程,下面是本人根据网络资料以及个人实践掌握的资料。 下图是一个使用CUDA实现hello world的项目,一般来说,一个标准的C

    2024年04月10日
    浏览(28)
  • ROS功能包目录下CMakeLists.txt

    CMake基础教程(24)add_executable生成目标可执行文件 CMake中add_executable的使用 CMake中的add_executable命令用于使用指定的源文件向项目(project)添加可执行文件,其格式如下: 这里我们用到 Normal Executables这种用法,Normal Executables:添加一个名为的可执行目标(executable target),该目标将

    2024年02月11日
    浏览(27)
  • VSCode:使用CMakeLists.txt构建C++项目

    插件: CMake插件主要功能是CMake语法高亮、自动补全 CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等 CMake Tools Helper CMake工具本身还是要下载到本地,并且配置环境变量。 包括6部分:build文件夹、include文件夹、src文件夹、lib文件夹、

    2024年02月03日
    浏览(52)
  • CUDA和C++混合编程及CMakeLists.txt

    首先认识一个问题,单从CMakeLists.txt的角度来看,无法同时使用两种编译器编译两种语言。不过直接编写Makefile是可以的,通过设置不同的任务,可以实现一个Makefile编译两个语言。但这不是这里要讨论的重点。 使用CUDA和C++进行混合编程的意思是:在cpp文件中调用CUDA函数,实

    2024年02月11日
    浏览(30)
  • vs项目转cmake(.sln转CMakeLists.txt)

    proj2cmake https://github.com/mrpi/proj2cmake 另附cmake镜像站:https://cmake.org/files/ 编译proj2cmake时报错: 可参考 https://www.cnblogs.com/tang-zhou-zhou/p/16067695.html 编译boost 使用vs2017的x64_x86交叉工具命令提示符进入解压后的boost文件夹运行bootstrap.bat toolset:编译器 msvc-17.0(vs2017)gcc(mingw) pre

    2024年02月09日
    浏览(38)
  • webassembly003 whisper.cpp的项目结构CMakeLists.txt

    注:带星号的为非重要部分 POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ) Core ML 是一个 Apple 框架,允许开发人员轻松集成 机器学习 (ML) 模型到应用中。Core ML 可在 iOS、iPadOS、 watchOS、macOS 和 Apple tvOS。Core ML 引入了公共文件格式 (.mlmodel)

    2024年01月18日
    浏览(40)
  • NDK编译ffmpeg包含硬件加速vulkan和mediacodec

    NDK编译ffmpeg包含硬件加速vulkan和mediacodec flyfish ffmpeg:ffmpeg-6.0 NDK:android-ndk-r25c 硬件加速:vulkan 和 mediacodec target CPU:armv8-a host:Ubuntu 22.04 因为这里要编译硬件加速版本的ffmpeg-6.0,所以需要把vulkan中include下的两个文件夹 vk_video 和 vulkan 拷贝到 android-ndk-r25c/toolchains/llvm/prebuil

    2024年02月12日
    浏览(27)
  • Android JNI配置CMakeLists.txt修改.cpp在logcat打印日志

    Android JNI配置CMakeLists.txt修改.cpp在logcat打印日志 C/C++代码里面常用的printf没法在Android 的logcat输出显示。需要特别配置C++才能显示在logcat里面。 (1)CMakeLists.txt定义: (2).cpp中: Android添加C++/CPP项目代码(2)_zhangphil的博客-CSDN博客 基于Windows平台,Android NDK(JNI)开发技术》

    2024年02月03日
    浏览(32)
  • 【CMake 入门与进阶(3)】 CMakeLists.txt 语法规则基础及部分常用指令(附使用代码)

            在上两篇中,笔者通过几个简单地示例向大家演示了 cmake 的使用方法,由此可知,cmake 的使用方法其实还是非常简单的,重点在于编写 CMakeLists.txt,CMakeLists.txt 的语法规则也简单,并没有 Makefile 的语法规则那么复杂难以理解!本文我们来学习CMakeLists.txt 的语法规

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包