Configuración de BuildMklDnn VS 2017
Creación de un MKL-DNN 0.14 compilado para CNTK
Si desea compilar MKL-DNN 0.14 para CNTK usted mismo, siga estas instrucciones. La versión de MKL-DNN compilada se ubicará en c:\local\mklml-mkldnn-0.14
- Instale CMake desde cmake.org.
- Descargar y desempaquetar el binario MKLML de https://github.com/intel/mkl-dnn/releases/download/v0.14/mklml_win_2018.0.3.20180406.zip a
c:\local\mklml-mkldnn-0.14
- Descargue y desempaquete los orígenes MKL-DNN de https://github.com/01org/mkl-dnn/archive/v0.14.zip.
En los pasos siguientes se supone que los orígenes MKL-DNN se han descomprimido en el directorio c:\local\src\mkl-dnn-0.14
. Las instrucciones siguientes crearán las bibliotecas MKL-DNN y los archivos de encabezado en el directorio c:\local\mklml-mkldnn-0.14
. Si esta ubicación difiere en su caso, adapte los pasos siguientes para que coincidan con la estructura del directorio.
Tenga en cuenta que los encabezados y bibliotecas MKL-DNN se almacenan en la misma ubicación que MKLML para simpilar la configuración, ya que sus nombres de archivo son diferentes. mkl_dnn* los archivos son para funciones dnn en MKL que no es código abierto, mientras que los archivos mkldnn* se compilan a partir de código abierto MKL-DNN.
Hay dos maneras de compilar la biblioteca CNTK MKL-DNN, ya sea a través de un archivo por lotes o manualmente.
Creación a través de un archivo por lotes
En el directorio Tools\devInstall\Windows
, encontrará el archivo buildMklDnnVS17.bat
por lotes . Este archivo por lotes toma dos parámetros para compilar la biblioteca CNTK MKL-DNN. El primer parámetro es el directorio de los archivos de origen MKL-DNN que desempaquetamos anteriormente, el segundo parámetro es el directorio de destino de la biblioteca MKL-DNN creada. En nuestro caso, siga estos pasos desde un símbolo del sistema de Windows estándar:
c:
cd \repos\cntk\Tools\devInstall\Windows
buildMklDnnVS17 C:\local\src\mkl-dnn-0.14 C:\local\mklml-mkldnn-0.14
Establezca la variable MKL_PATH
de entorno en la ubicación MKL-DNN (este es el segundo parámetro de la invocación de comandos anterior, no la ubicación de los orígenes).
setx MKL_PATH c:\local\mklml-mkldnn-0.14
Pasos de compilación manuales para una biblioteca MKL-DNN de CNTK
Nota
Si VS2017INSTALLDIR
el instalador de Visual Studio no estableció la variable de entorno, establézcala manualmente. El directorio de instalación exacto depende de la versión (2017 en este caso) y de la oferta (Community, Enterprise, etc.) de Visual Studio, según el siguiente patrón: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>
.
Para Visual Studio edición de Enterprise 2017, ejecute:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Para Visual Studio edición de Community 2017, ejecute:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
- Inicie un entorno de desarrollo de Visual Studio de 2017 de 64 bits. La manera más cómoda es ejecutar el archivo
vcvarsall.bat
por lotes en el directorio Visual Studio con los parámetros necesarios desde un shell de comandos de Windows estándar:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Si no encuentra este archivo por lotes en el sistema, revise la instalación de VS2017 y asegúrese de que tiene seleccionada la opción "VC++ versión 15.4 v14.11 toolset". 2. Cree un directorio de compilación y establezca MKLROOT para MKL-DNN cmake para localizar la biblioteca MKLML:
cd c:\local\src\mkl-dnn-0.14
set MKLROOT=c:\local\mklml-mkldnn-0.14
- Cree una compilación de versión con CMake y copie el binario compilado en MKL_PATH (el usuario puede reemplazar la versión por depuración para crear una compilación de depuración):
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