Dela via


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

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"
  1. 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
  1. 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