參考:
https://blog.csdn.net/wh1319501722/article/details/104215382
MNN主庫
環境要求
- Microsoft Visual Studio (2017或以上)
- cmake(建議使用3.10或以上版本)
- powershell
- Ninja (構建工具,比nmake更快)
編譯選項
可以修改CMakeLists.txt
中的選項:
- MNN_DEBUG
默認關閉,關閉時,不保留符號,開啓優化。
- MNN_OPENMP
默認開啓,關閉後,禁用openmp多線程優化。
具體步驟
- 在設置中找到x64 Native Tools Command Prompt for VS 2019並單擊,打開VS編譯構建原生x64結構程序的虛擬環境
- 將設置-區域與語言-管理-非unicode程序的語言改成英語(美國),否則可能因編碼問題導致編譯失敗
- 編譯構建MNN
cd /path/to/MNN powershell ./schema/generate.ps1 mkdir build cd build cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release .. ninja
常見問題和解決方案
- 找不到MNN_generate.h頭文件。 可能是一開始powershell未能正確執行,建議刪除schema/current然後重新編譯
- 未對腳本進行數字簽名,或因爲權限問題無法執行腳本 在設置裏面搜索編輯組策略,或者win+R然後輸入gpedit.msc。然後在左側依次選擇計算機配置-管理模板-Windows組件-Windows PowerShell, 在右側設置面板雙擊“啓用腳本執行”,將左上未配置或已禁用改爲已啓用,然後在左下執行策略裏選允許所有腳本就可以了。
MNN opencl支持
環境要求
- 將cmake更新到3.13或以上版本
- (可選)下載GPU Caps Viewer,你可以通過這個工具來查看本機設備的詳細信息(opencl、opengl、vulkan等)
驅動和sdk準備
- AMD Radeon
-
- 官網驅動下載:https://www.amd.com/zh-hans/support
- opencl sdk下載:官網的AMD APP SDK下載連接404了,到現在還沒修復,因此我們使用GPUOpen的驅動。 https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases 將opencl sdk目錄的路徑加到AMDAPPSDKROOT環境變量
- 其他待補充
編譯MNN opencl庫
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DMNN_OPENCL=ON .. ninja
MNN vulkan支持
驅動和sdk準備
- Vulkan SDK
下載鏈接:https://vulkan.lunarg.com/ ,安裝完畢後,將Vulkan SDK路徑加入VULKAN_SDK環境變量,以備cmake查找
- 驅動
AMD Radeon:https://community.amd.com/community/gaming/blog/2016/02/16/radeon-gpus-are-ready-for-the-vulkan-graphics-api ,其中列舉了驅動下載位置和支持列表
編譯MNN vulkan庫
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DMNN_VULKAN=ON .. ninja
本文來自
MNN English Document
關注精品推薦
MNN中文文檔