다음을 통해 공유


BuildMklDnn VS 2017 설정

CNTK 컴파일된 MKL-DNN 0.14 만들기

CNTK 위해 MKL-DNN 0.14를 직접 빌드하려면 다음 지침을 따르세요. 컴파일된 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* 파일은 오픈 소스 않은 MKL의 dnn 함수용이지만 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 라이브러리에 대한 수동 빌드 단계

참고

Visual Studio 설치 관리자가 환경 변수를 설정하지 않은 경우 VS2017INSTALLDIR 수동으로 설정합니다. 정확한 설치 디렉터리가 다음 패턴C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>에 따라 Visual Studio버전(이 경우 2017) 및 제품(Community, Enterprise 등)에 따라 달라집니다.

Visual Studio 2017 Enterprise 버전의 경우 다음을 실행합니다.

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

Visual Studio 2017 Community 버전의 경우 다음을 실행합니다.

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
  1. 64비트 Visual Studio 2017 개발 환경을 시작합니다. 가장 편리한 방법은 표준 windows 명령 셸의 필수 매개 변수를 사용하여 Visual Studio 디렉터리에서 일괄 처리 파일을 vcvarsall.bat 실행하는 것입니다.
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

시스템에서 이 일괄 처리 파일을 찾을 수 없는 경우 VS2017 설치를 다시 확인하고 'VC++ 버전 15.4 v14.11 도구 집합' 옵션이 선택되어 있는지 확인하세요. 2. 빌드 디렉터리를 만들고 MKL-DNN cmake용 MKLROOT를 설정하여 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