Konfigurera BuildMklDnn VS 2017
Skapa en kompilerad MKL-DNN 0.14 för CNTK
Om du vill skapa MKL-DNN 0.14 för CNTK själv följer du dessa instruktioner. Den kompilerade MKL-DNN-versionen finns i c:\local\mklml-mkldnn-0.14
- Installera CMake från cmake.org.
- Ladda ned och packa upp MKLML-binärfilen från https://github.com/intel/mkl-dnn/releases/download/v0.14/mklml_win_2018.0.3.20180406.zip till
c:\local\mklml-mkldnn-0.14
- Ladda ned och packa upp MKL-DNN-källorna från https://github.com/01org/mkl-dnn/archive/v0.14.zip.
Följande steg förutsätter att MKL-DNN-källorna har packats upp till katalogen c:\local\src\mkl-dnn-0.14
. Anvisningarna nedan skapar MKL-DNN-biblioteken och huvudfilerna i katalogen c:\local\mklml-mkldnn-0.14
. Om den här platsen skiljer sig åt i ditt fall kan du anpassa stegen nedan så att de matchar din katalogstruktur.
Observera att MKL-DNN-huvuden och bibliotek lagras på samma plats som MKLML för att simulera konfigurationen, eftersom deras filnamn skiljer sig åt. mkl_dnn* filer är för dnn-funktioner i MKL som inte är öppen källkod, medan mkldnn*-filer skapas från öppen källkod MKL-DNN.
Det finns två sätt att skapa CNTK MKL-DNN-biblioteket, antingen via en batchfil eller manuellt.
Skapa genom en batchfil
I katalogen Tools\devInstall\Windows
hittar du batchfilen buildMklDnnVS17.bat
. Den här batchfilen tar två parametrar för att skapa CNTK MKL-DNN-bibliotek. Den första parametern är katalogen för de MKL-DNN-källfiler som du packade upp ovan. Den andra parametern är målkatalogen för det skapade MKL-DNN-biblioteket. I vårt fall följer du dessa steg från en standardkommandoprompt Windows:
c:
cd \repos\cntk\Tools\devInstall\Windows
buildMklDnnVS17 C:\local\src\mkl-dnn-0.14 C:\local\mklml-mkldnn-0.14
Ange miljövariabeln MKL_PATH
till platsen MKL-DNN (det här är den andra parametern i kommandoanropet ovan, inte källplatsen!
setx MKL_PATH c:\local\mklml-mkldnn-0.14
Manuella byggsteg för ett CNTK MKL-DNN-bibliotek
Anteckning
Om VS2017INSTALLDIR
miljövariabeln inte har angetts av installationsprogrammet för Visual Studio anger du den manuellt. Den exakta installationskatalogen beror på både versionen (i det här fallet 2017) och erbjudandet (Community, Enterprise osv.) för Visual Studio, enligt följande mönster: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>
.
För Visual Studio 2017 Enterprise Edition kör du:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
För Visual Studio 2017 Community Edition kör du:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
- Starta en 64-bitars Visual Studio 2017-utvecklingsmiljö. Det enklaste sättet är att köra batchfilen
vcvarsall.bat
i katalogen Visual Studio med nödvändiga parametrar från ett standardkommandogränssnitt i Windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Om du inte hittar den här batchfilen i systemet kan du gå tillbaka till installationen av VS2017 och kontrollera att du har valt verktygsuppsättningen "VC++ version 15.4 v14.11". 2. Skapa en byggkatalog och ange MKLROOT för MKL-DNN cmake för att hitta MKLML-biblioteket:
cd c:\local\src\mkl-dnn-0.14
set MKLROOT=c:\local\mklml-mkldnn-0.14
- Skapa en versionsversion med CMake och kopiera inbyggd binärfil till MKL_PATH (användaren kan ersätta versionen med felsökning för att skapa en felsökningsversion):
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