Compartilhar via


Configurar o BuildMklDnn VS 2017

Criando um MKL-DNN 0.14 compilado para CNTK

Se você quiser criar o MKL-DNN 0.14 para CNTK você mesmo, siga estas instruções. A versão MKL-DNN compilada estará localizada em c:\local\mklml-mkldnn-0.14

As etapas a seguir pressupõem que as fontes MKL-DNN foram descompactadas para o diretório c:\local\src\mkl-dnn-0.14. As instruções abaixo criarão as bibliotecas MKL-DNN e os arquivos de cabeçalho no diretório c:\local\mklml-mkldnn-0.14. Se esse local for diferente no seu caso, adapte as etapas abaixo para corresponder à sua estrutura de diretório.

Observe que os cabeçalhos e bibliotecas MKL-DNN são armazenados no mesmo local que o MKLML para simpilificar a instalação, uma vez que seus nomes de arquivo são diferentes. mkl_dnn* arquivos são para funções dnn no MKL que não é código aberto, enquanto arquivos mkldnn* são criados a partir de código aberto MKL-DNN.

Há duas maneiras de criar a CNTK biblioteca MKL-DNN, seja por meio de um arquivo em lote ou manualmente.

Criando por meio de um arquivo em lote

No diretório Tools\devInstall\Windows , você encontra o arquivo buildMklDnnVS17.batem lote. Esse arquivo em lote usa dois parâmetros para criar a biblioteca MKL-DNN CNTK. O primeiro parâmetro é o diretório dos arquivos de origem MKL-DNN que você desempacotou acima, o segundo parâmetro é o diretório de destino da biblioteca MKL-DNN criada. Em nosso caso, siga estas etapas de um prompt de comando Windows padrão:

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

Defina a variável MKL_PATH de ambiente para o local MKL-DNN (este é o segundo parâmetro na invocação de comando acima, não o local de origem!

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

Etapas de build manuais para uma biblioteca MKL-DNN CNTK

Observação

Se VS2017INSTALLDIR a variável de ambiente não foi definida pelo instalador Visual Studio, defina-a manualmente. O diretório de instalação exato depende da versão (2017 nesse caso) e da oferta (Community, Enterprise etc) de Visual Studio, de acordo com o seguinte padrão: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>.

Para Visual Studio edição Enterprise de 2017, execute:

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

Para Visual Studio edição Community de 2017, execute:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
  1. Inicie um ambiente de desenvolvimento de 64 bits Visual Studio 2017. A maneira mais conveniente é executar o arquivo vcvarsall.bat em lote no diretório Visual Studio com os parâmetros necessários de um shell de comando padrão do Windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

Se você não conseguir encontrar esse arquivo em lote em seu sistema, reveja a instalação do VS2017 e verifique se você tem a opção "VC++ versão 15.4 v14.11 toolset" selecionada. 2. Crie um diretório de build e defina o cmake MKLROOT para MKL-DNN para localizar a biblioteca MKLML:

cd c:\local\src\mkl-dnn-0.14
set MKLROOT=c:\local\mklml-mkldnn-0.14
  1. Crie um build de versão usando CMake e copie um binário criado para MKL_PATH (o usuário pode substituir a versão por depuração para criar um build de depuração):
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