Поделиться через


Настройка BuildMklDnn VS 2017

Создание скомпилированного MKL-DNN 0.14 для CNTK

Если вы хотите создать MKL-DNN 0.14 для CNTK самостоятельно, следуйте этим инструкциям. Скомпилированная версия MKL-DNN будет находиться в c:\local\mklml-mkldnn-0.14

В следующих шагах предполагается, что источники MKL-DNN были распакованы в каталог c:\local\src\mkl-dnn-0.14. Приведенные ниже инструкции создают библиотеки MKL-DNN и файлы заголовков в каталоге c:\local\mklml-mkldnn-0.14. Если это расположение отличается в вашем случае, адаптируйте приведенные ниже действия в соответствии со структурой каталогов.

Обратите внимание, что заголовки и библиотеки MKL-DNN хранятся в том же расположении, что и MKLML для имитации установки, так как их имена файлов отличаются. файлы mkl_dnn* предназначены для функций dnn в MKL, которые не открытый код, а файлы 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 в данном случае) и предложения (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"

Для выпуска Community Visual Studio 2017 выполните следующую команду:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
  1. Запустите 64-разрядную среду разработки Visual Studio 2017. Самый удобный способ — выполнить пакетный файл vcvarsall.bat в каталоге Visual Studio с необходимыми параметрами из стандартной командной оболочки Windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

Если вы не можете найти этот пакетный файл в системе, вернитесь к установке VS2017 и убедитесь, что выбран параметр "VC++ версии 15.4 версии 14.11". 2. Создайте каталог сборки и задайте cmake MKL-DNN для mkL-DNN, чтобы найти библиотеку 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