diff --git a/3rdparty/dmlc-core b/3rdparty/dmlc-core index c8f7f9c81dfc..14bf7e884328 160000 --- a/3rdparty/dmlc-core +++ b/3rdparty/dmlc-core @@ -1 +1 @@ -Subproject commit c8f7f9c81dfcf2489d3bbc6d3b2a9200a20fbcde +Subproject commit 14bf7e884328eb97bfde160ec6f64c20f5337459 diff --git a/ci/build_windows.py b/ci/build_windows.py index 2590d211c671..b5ede4c5eca7 100755 --- a/ci/build_windows.py +++ b/ci/build_windows.py @@ -37,9 +37,14 @@ from util import * +# Fix for broken PATH with newline inserted presumably by VS studio installation of SQL server or +# other component which makes visual studio stop working. +os.environ['PATH']=os.environ.get('PATH').replace('\n','') + KNOWN_VCVARS = { 'VS 2015': r'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat', - 'VS 2017': r'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsx86_amd64.bat' + 'VS 2017': r'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsx86_amd64.bat', + 'VS 2019': r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat' } @@ -54,10 +59,14 @@ class BuildFlavour(Enum): CMAKE_FLAGS = { 'WIN_CPU': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=OFF ' '-DUSE_CUDNN=OFF ' '-DENABLE_CUDA_RTC=OFF ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=open ' '-DUSE_LAPACK=ON ' @@ -67,10 +76,14 @@ class BuildFlavour(Enum): '-DCMAKE_BUILD_TYPE=Release') , 'WIN_CPU_MKLDNN': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=OFF ' '-DUSE_CUDNN=OFF ' '-DENABLE_CUDA_RTC=OFF ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=open ' '-DUSE_LAPACK=ON ' @@ -80,10 +93,14 @@ class BuildFlavour(Enum): '-DCMAKE_BUILD_TYPE=Release') , 'WIN_CPU_MKLDNN_MKL': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=OFF ' '-DUSE_CUDNN=OFF ' '-DENABLE_CUDA_RTC=OFF ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=mkl ' '-DUSE_LAPACK=ON ' @@ -93,10 +110,14 @@ class BuildFlavour(Enum): '-DCMAKE_BUILD_TYPE=Release') , 'WIN_CPU_MKL': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=OFF ' '-DUSE_CUDNN=OFF ' '-DENABLE_CUDA_RTC=OFF ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=mkl ' '-DUSE_LAPACK=ON ' @@ -106,10 +127,14 @@ class BuildFlavour(Enum): '-DCMAKE_BUILD_TYPE=Release') , 'WIN_GPU': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=ON ' '-DUSE_CUDNN=ON ' '-DENABLE_CUDA_RTC=ON ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=open ' '-DUSE_LAPACK=ON ' @@ -120,10 +145,14 @@ class BuildFlavour(Enum): '-DCMAKE_BUILD_TYPE=Release') , 'WIN_GPU_MKLDNN': ( + '-DCMAKE_C_COMPILER=cl ' + '-DCMAKE_CXX_COMPILER=cl ' + '-DOpenCV_RUNTIME=vc15 ' + '-DOpenCV_ARCH=x64 ' '-DUSE_CUDA=ON ' '-DUSE_CUDNN=ON ' '-DENABLE_CUDA_RTC=ON ' - '-DUSE_OPENCV=ON ' + '-DUSE_OPENCV=OFF ' '-DUSE_OPENMP=ON ' '-DUSE_BLAS=open ' '-DUSE_LAPACK=ON ' @@ -154,15 +183,15 @@ def windows_build(args): with remember_cwd(): os.chdir(path) - cmd = "\"{}\" && {} -G \"NMake Makefiles JOM\" {} {}".format( + cmd = "\"{}\" && {} -G Ninja -A x64 -T host=x64 {} {}".format( args.vcvars, os.path.join(tmpdir, 'cmake-3.16.1-win64-x64', 'bin', 'cmake.exe'), CMAKE_FLAGS[args.flavour], mxnet_root) logging.info("Generating project with CMake:\n{}".format(cmd)) check_call(cmd, shell=True) - cmd = "\"{}\" && jom".format(args.vcvars) - logging.info("Building with jom:\n{}".format(cmd)) + cmd = "\"{}\" && ninja".format(args.vcvars) + logging.info("Building:\n{}".format(cmd)) t0 = int(time.time()) check_call(cmd, shell=True) @@ -233,7 +262,7 @@ def main(): parser.add_argument("--vcvars", help="vcvars batch file location, typically inside vs studio install dir", - default=KNOWN_VCVARS['VS 2015'], + default=KNOWN_VCVARS['VS 2019'], type=str) parser.add_argument("--arch",