共用方式為


安裝程式 BuildMklDnn VS 2017

為 CNTK 建立編譯的 MKL-DNN 0.14

如果您想要自行建置 MKL-DNN 0.14 for CNTK,請遵循這些指示。 編譯的 MKL-DNN 版本將會位於 c:\local\mklml-mkldnn-0.14

下列步驟假設 MKL-DNN 來源已解壓縮至目錄 c:\local\src\mkl-dnn-0.14 。 下列指示會在 目錄中 c:\local\mklml-mkldnn-0.14 建立 MKL-DNN 程式庫和標頭檔。 如果您的案例中此位置不同,請調整下列步驟以符合您的目錄結構。

請注意,MKL-DNN 標頭和程式庫會儲存在與 MKLML 相同的位置,因為其檔案名不同。 mkl_dnn* 檔案適用于 MKL 中不是開放原始碼的 dnn 函式,而 mkldnn* 檔案是從 開放原始碼 MKL-DNN 建置。

有兩種方式可以透過批次檔手動建置CNTK MKL-DNN 程式庫。

透過批次檔建置

在目錄中 Tools\devInstall\Windows ,您找到批次檔 buildMklDnnVS17.bat 。 此批次檔會採用兩個參數來建置CNTK MKL-DNN 程式庫。 第一個參數是您上面解壓縮的 MKL-DNN 來源檔案目錄,第二個參數是所建立 MKL-DNN 程式庫的目的地目錄。 在我們的案例中,請遵循標準Windows命令提示字元中的下列步驟:

c:
cd \repos\cntk\Tools\devInstall\Windows
buildMklDnnVS17 C:\local\src\mkl-dnn-0.14 C:\local\mklml-mkldnn-0.14

將環境變數 MKL_PATH 設定為 MKL-DNN 位置, (這是上述命令調用中的第二個參數,而不是來源位置!

setx MKL_PATH c:\local\mklml-mkldnn-0.14

CNTK MKL-DNN 程式庫的手動建置步驟

注意

如果 VS2017INSTALLDIR Visual Studio安裝程式未設定環境變數,請手動設定。 確切的安裝目錄取決於 2017 (2017) ,並根據下列模式提供 (Community、Enterprise等 Visual Studio) : C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

針對Visual Studio 2017 Enterprise版,請執行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"

針對Visual Studio 2017 Community版,請執行:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
  1. 啟動 64 位Visual Studio 2017 開發環境。 最方便的方式是使用標準 Windows 命令殼層中的必要參數,在 Visual Studio 目錄中執行批次檔 vcvarsall.bat
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

如果您在系統上找不到此批次檔,請重新流覽 VS2017 的安裝,並確定您已選取 [VC++ 15.4 版 v14.11 工具組] 選項。 2.建立組建目錄,並設定 MKL-DNN Cmake 的 MKLROOT 以找出 MKLML 程式庫:

cd c:\local\src\mkl-dnn-0.14
set MKLROOT=c:\local\mklml-mkldnn-0.14
  1. 使用 CMake 建立發行組建,並將建置的二進位檔複製到MKL_PATH (使用者可能會以偵錯取代發行,以建立偵錯組建) :
cd cmake
cmake .. -G "Visual Studio 15" -DCMAKE_BUILD_TYPE=Release
msbuild "Intel(R) MKL-DNN.sln" /t:Rebuild /p:Configuration=Release /m
copy ..\include\* c:\local\mklml-mkldnn-0.14\include
copy src\Release\*.lib c:\local\mklml-mkldnn-0.14\lib
copy src\Release\*.dll c:\local\mklml-mkldnn-0.14\lib