只是简单记录,免得以后忘记

参考:

https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-visual-studio-community-2017

https://github.com/Tencent/ncnn/wiki/FAQ-ncnn-vulkan

https://github.com/Tencent/ncnn/wiki/vulkan-notes

编译器:vs2017

一、protobuf

1、下载protobuf https://github.com/google/protobuf/archive/v3.4.0.zip

2、使用vs2017编译器 Start → Programs → Visual Studio 2017 → Visual Studio Tools → x64 Native Tools Command Prompt for VS 2017

3、编译protobuf

> cd <protobuf-root-dir>

> mkdir build-vs2017

> cd build-vs2017

> cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake

> nmake

> nmake install

注意,此时编译的是Release版本,如需debug版本,需要将指令中的Release改为Debug

二、Vulkan

4、下载最新版本vulkan, https://vulkan.lunarg.com/sdk/home,目前最新版为 VulkanSDK-1.1.106.0-Installer.exe (465MB)

5、安装vulkan,并配置环境变量

Vulkan_INCLUDE_DIR  = C:\VulkanSDK\1.1.106.0\Include

Vulkan_LIBRARY  =  C:\VulkanSDK\1.1.106.0\Lib

VULKAN_SDK  =  C:\VulkanSDK\1.1.106.0

注意根据实际情况修改

6、更新intel显卡驱动到最新,在 我的电脑-属性-设备管理器-显示适配器  右键intel显卡然后更新 (这一步可能不需要)

7、安装vulkan_intel驱动,在https://downloadcenter.intel.com/zh-cn/product/80939/- 找到与本机相应的驱动

我的电脑使用的是 https://downloadcenter.intel.com/zh-cn/download/28816/Intel-Graphics-Windows-10-DCH-Drivers?product=80939   igfx_win10_100.6890.exe

安装vulkan_NVIDIA驱动 https://developer.nvidia.com/vulkan-driver

注意:调用vulkan需要 安装vulkan SDK,与显卡对应的vulkan驱动

三、ncnn

8、下载ncnn,我是从20190605的master下载的包

9,编译ncnn

> cd <ncnn-root-dir>

> mkdir -p build-vs2017

> cd build-vs2017

# cmake option NCNN_VULKAN for enabling vulkan

> cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=<protobuf-root-dir>/build-vs2017/install/include -DProtobuf_LIBRARIES=<protobuf-root-dir>/build-vs2017/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=<protobuf-root-dir>/build-vs2017/install/bin/protoc.exe -DNCNN_VULKAN=OFF ..

> nmake

> nmake install

注意,如果需要编译debug版本,需要将指令中的Release改为Debug,libprotobuf.lib改为libprotobufd.lib

如果要支持vulkan,需要将-DNCNN_VULKAN=OFF改为ON

四、在vs中使用ncnn与vulkan

此时ncnn与vulkan都编译,可以直接使用.lib、.h、.dll

10、使用vs工程调用vulkan,需要配置包含目录、库目录、链接器,分别指向vulkan安装时的Vulkan_INCLUDE_DIR、Vulkan_LIBRARY 、VULKAN_SDK

11、配置ncnn的包含目录、库目录、链接器

12、开启vulkan

// initialize when app starts

ncnn::create_gpu_instance();// line1

// enable vulkan compute feature before loading

ncnn::Net net;

net.opt.use_vulkan_compute = 1;// line2

// deinitialize when app exits

ncnn::destroy_gpu_instance();// line3

13、指定使用某个GPU

// get gpu count

int gpu_count = ncnn::get_gpu_count();

ncnn::VulkanDevice vkdev; // use default gpu

ncnn::VulkanDevice vkdev(0); // use device-0

ncnn::VulkanDevice vkdev(1); // use device-1

// set specified vulkan device before loading param and model

net.set_vulkan_device(&vkdev);

经测试,处理某图像任务时,各设备速度为 cpu-i7-870 = 3.5ms/张,GPU-GTX1060 = 0.77ms/张 ,GPU-Intel-630 = 2.44ms/张

-----------END-----------

感谢nihui大神,感谢ncnn各位贡献者

pc_win10_x64安装ncnn,并使用vulkan相关推荐

  1. win10下编译安装ncnn

    win10下编译安装ncnn 第一步 自行安装VS2017.CMake软件. Cmake可以在网盘自取: 链接:https://pan.baidu.com/s/16w_ZVHDb4_y-56WmDHM ...

  2. 最详细记录安装NCNN:windows,NCNN下载和编译

    windows,NCNN下载和编译 一.前准备 下载和安装protobuf 第一种选择window的protobuf包 : 校验安装 第二种选择另一种包进行配置: 2.为VS 2019配置protob ...

  3. ncnn环境搭建二 - windows下Vulkan和ncnn编译安装

    1. 环境 安装环境采用visual studio 2017 + protobuf 3.4.0 + Vulkan + ncn 2. Vulcan 安装 windows10下面的Vulcan安装比较简单 ...

  4. opencv jni Android 实例笔记

    opencv和ncnn编译冲突,这个项目的opencv能兼容ncnn,解决了这个冲突: 这个有ncnn opencv yolov5融合的例子: https://github.com/cmdbug/YO ...

  5. Debian/Ubuntu安装带VULKAN的NCNN库

    1. 安装基础件 sudo apt-get install build-essential git cmake libprotobuf-dev protobuf-compiler libvulkan- ...

  6. NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作

    vulkan是类似opengl这样的封装层,或者叫中间层,用于屏蔽不同类型GPU的差异,向上层应用程序提供统一的接口,用过Java SDK或者其他中间件做过开发的很好理解这个概念,所以vulkan也有 ...

  7. 在win10+VS2019上编译支持Vulkan SDK的ncnn

    目录 Vulkan SDK下载与安装 nvidia显卡驱动更新 支持Vulkan的ncnn编译 参考官方:FAQ ncnn vulkan · Tencent/ncnn Wiki 事先说明,之前我编译过 ...

  8. VS2017中NCNN使用vulkan

    目录 1. 编译ncnn 2. 配置ncnn 3. 调用Vulkan 4. 总结 1. 编译ncnn 1. 编译opencv和portobuf,也可以直接下载windows版本的opencv 2. 安 ...

  9. [深度学习] ncnn安装和调用基础教程

    目录 1 介绍 2 Ubuntu 18下ncnn安装和使用 2.1 Ubuntu 18下ncnn编译安装 2.2 Ubuntu 18下ncnn使用 3 Windows 10下ncnn安装和使用 3.1 ...

最新文章

  1. Facebook如何运用机器学习进行亿级用户数据处理
  2. php新版本废弃 preg_replace /e 修饰符
  3. Java实现Runnable接口创建多线程
  4. VTK:几何对象之Quad
  5. 《编程题》找出数组中出现次数超过一半的数(时间复杂度O(n),空间复杂度为O(1))
  6. .Net/C#分库分表高性能O(1)瀑布流分页
  7. (转) Linux 内核运行参数修改——sysctl命令
  8. HTML中的function函数命名,请问HTML function函数怎么定义和调用?
  9. Ubuntu 18.04 下如何配置mysql 及 配置远程连接
  10. 排序算法入门之冒泡排序优化
  11. 如何制作一个类似Tiny Wings的游戏 Cocos2d-x 2 1 4
  12. CAP原理和最终一致性(Eventually Consistency)
  13. Atitit it计算机应用体系图  大数据 爬虫 非结构数据 nosql redis mongodb 分布式存储 es搜索 可视化 多媒体与office 19.1. 14.3 计
  14. sqlserver200864位下载_sql server 2008 r2中文版
  15. 颜色值16进制转rgba
  16. 《Java 核心技术 卷 Ⅱ:高级特性》(原书第8版) 已经上市了
  17. 经纬度校验、整数和小数校验
  18. java学习-veu
  19. Unity UGUI基础 之 Scroll View/Scroll Rect 的简单使用,并取消拖拽(滑动内容)效果,拖拽只在Scrollbar 上起作用
  20. 红旗linux做成u盘,红旗linux下如何用u盘

热门文章

  1. 找到一个不错的学习python的网站
  2. 杂记-----------
  3. 元宇宙大火的“天时、地利、人和”
  4. Linux内核调试方法总结
  5. 关于switchport Port-security 使用遇到的一些问题
  6. 免费桌面视频录像工具OBS的简单操作介绍
  7. 前端html-常用分割线
  8. PI实时数据库系统升级
  9. mysql(zip版)下载安装教程
  10. C/C++ : 12-24小时制转换