From 911b2ca82e7be1b36ce53c39e8287314c29648fc Mon Sep 17 00:00:00 2001 From: Mark Hillebrand Date: Mon, 2 Jan 2017 12:52:20 +0100 Subject: [PATCH 2/2] Windows: switch to Visual Studio 2015 --- .gitignore | 4 ++ CNTK.Cpp.props | 58 +++++++++---------- CNTK.sln | 4 +- Dependencies/CNTKCustomMKL/build-windows.cmd | 2 +- Dependencies/CNTKCustomMKL/version.txt | 2 +- .../CNTKAzureTutorial01.csproj | 4 +- .../CPPEvalClient/CPPEvalClient.vcxproj | 4 +- .../CPPEvalExtendedClient.vcxproj | 4 +- .../CPPEvalV2Client/CPPEvalV2Client.vcxproj | 4 +- .../CSEvalClient/CSEvalClient.csproj | 2 +- Source/1BitSGD | 2 +- Source/ActionsLib/ActionsLib.vcxproj | 8 ++- Source/CNTK/CNTK.vcxproj | 8 +-- .../CNTKv2LibraryDll/CNTKv2LibraryDll.vcxproj | 4 +- Source/CNTKv2LibraryDll/Utils.cpp | 2 +- Source/Common/Common.vcxproj | 4 +- Source/Common/DataReader.cpp | 1 + Source/Common/Include/Platform.h | 6 +- .../ComputationNetworkLib.vcxproj | 2 +- Source/EvalDll/EvalDll.vcxproj | 6 +- .../EvalWrapper/EvalWrapper.vcxproj | 6 +- Source/Math/BlockMultiplier.h | 7 --- Source/Math/CPURNGHandle.cpp | 2 +- Source/Math/CntkBatchNormalization.cuh | 9 +-- Source/Math/GPUMatrixCUDAKernels.cuh | 9 +-- Source/Math/Math.vcxproj | 6 +- Source/Math/MathCUDA.vcxproj | 2 +- Source/Multiverso | 2 +- .../PerformanceProfilerDll.vcxproj | 6 +- .../Readers/BinaryReader/BinaryReader.vcxproj | 6 +- .../CNTKBinaryReader/BinaryConfigHelper.cpp | 6 +- .../CNTKBinaryReader/CNTKBinaryReader.vcxproj | 4 +- .../CNTKTextFormatReader.vcxproj | 4 +- .../CompositeDataReader.vcxproj | 4 +- Source/Readers/DSSMReader/DSSMReader.vcxproj | 6 +- .../HTKDeserializers/HTKDeserializers.vcxproj | 4 +- .../Readers/HTKMLFReader/HTKMLFReader.vcxproj | 6 +- .../Readers/ImageReader/ImageReader.vcxproj | 6 +- .../LMSequenceReader/LMSequenceReader.vcxproj | 6 +- .../LUSequenceReader/LUSequenceReader.vcxproj | 6 +- .../LibSVMBinaryReader.vcxproj | 6 +- Source/Readers/ReaderLib/ReaderLib.vcxproj | 2 +- .../SparsePCReader/SparsePCReader.vcxproj | 6 +- .../UCIFastReader/UCIFastReader.vcxproj | 6 +- Source/SGDLib/SGD.cpp | 2 + Source/SGDLib/SGDLib.vcxproj | 2 +- .../SequenceTrainingLib.vcxproj | 2 +- .../CPPEvalClientTest.vcxproj | 6 +- .../CPPEvalExtendedClientTest.vcxproj | 8 +-- .../CSEvalClientTest/App.config | 6 +- .../CSEvalClientTest/CSEvalClientTest.csproj | 4 +- .../Speech/LSTM/Truncated/testcases.yml | 3 +- .../UnitTests/ManagedEvalTests/run-test | 2 +- .../BrainScriptTests/BrainScriptTests.vcxproj | 4 +- .../UnitTests/CommandEval/CommandEval.vcxproj | 6 +- Tests/UnitTests/EvalTests/EvalTests.vcxproj | 6 +- .../ManagedEvalTests/ManagedEvalTests.csproj | 4 +- .../MathPerformanceTests.vcxproj | 6 +- Tests/UnitTests/MathTests/MathTests.vcxproj | 6 +- .../MatrixSparseDenseInteractionsTests.cpp | 2 - .../NetworkTests/NetworkTests.vcxproj | 6 +- .../UnitTests/ReaderTests/ReaderTests.vcxproj | 4 +- .../V2LibraryDistributionTests.vcxproj | 6 +- .../UserDefinedFunctionTests.cpp | 6 +- .../V2LibraryTests/V2LibraryTests.vcxproj | 6 +- Tools/build-and-test | 4 +- Tools/check-git-head.sh | 2 +- Tools/make_binary_drop_windows.ps1 | 4 ++ Tools/msvc_collect_coverage.py | 4 +- .../CSEvalV2Example/CSEvalV2Example.csproj | 4 +- .../CSEvalV2Library/CSEvalV2Library.csproj | 4 +- bindings/csharp/Swig/CSharpBindings.vcxproj | 6 +- bindings/python/PythonBindings.vcxproj | 4 +- bindings/python/build.bat | 2 +- bindings/python/cntk/tests/persist_test.py | 2 +- bindings/python/setup.py | 7 ++- bindings/python/vsbuild.bat | 6 +- configure | 2 +- 78 files changed, 206 insertions(+), 200 deletions(-) diff --git a/.gitignore b/.gitignore index defcd00b9..148cbba46 100644 --- a/.gitignore +++ b/.gitignore @@ -194,6 +194,10 @@ Tests/EndToEndTests/UnitTests/MathTests/M.txt Tests/EndToEndTests/UnitTests/MathTests/MCPU.txt Tests/EndToEndTests/UnitTests/MathTests/MGPU.txt Tests/EndToEndTests/UnitTests/MathTests/MS.txt +Tests/UnitTests/MathTests/M.txt +Tests/UnitTests/MathTests/MCPU.txt +Tests/UnitTests/MathTests/MGPU.txt +Tests/UnitTests/MathTests/MS.txt Tests/Install/linux/BinaryDrops.tar.gz diff --git a/CNTK.Cpp.props b/CNTK.Cpp.props index fc0a2a7b6..9d01b2da7 100644 --- a/CNTK.Cpp.props +++ b/CNTK.Cpp.props @@ -23,13 +23,17 @@ false true - "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include" - "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib" - 8.0 7.5 - 7.0 + + + "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\include" + + + + "c:\Program Files\NVIDIA Corporation\GDK\gdk_win7_amd64_release\nvml\lib" + false true @@ -55,27 +59,27 @@ - MKL - 2 - $(CNTK_MKL_PATH)\$(CNTKCustomMKLVersion) - $(CNTKCustomMKLPath)\include - USE_MKL + MKL + 3 + $(CNTK_MKL_PATH)\$(CNTKCustomMKLVersion) + $(CNTKCustomMKLPath)\include + USE_MKL - CNTK custom MKL Parallel (Version: $(CNTKCustomMKLVersion)) - $(CNTKCustomMKLPath)\x64\parallel - mkl_cntk_p.lib - mkl_cntk_p.dll - $(MathLibraryPath)\*.dll - $(OutDir)mkl_cntk_p.dll;$(OutDir)libiomp5md.dll; + CNTK custom MKL Parallel (Version: $(CNTKCustomMKLVersion)) + $(CNTKCustomMKLPath)\x64\parallel + mkl_cntk_p.lib + mkl_cntk_p.dll + $(MathLibraryPath)\*.dll + $(OutDir)mkl_cntk_p.dll;$(OutDir)libiomp5md.dll; - CNTK custom MKL Sequential (Version: $(CNTKCustomMKLVersion)) - $(CNTKCustomMKLPath)\x64\sequential - mkl_cntk_s.lib - mkl_cntk_s.dll - $(MathLibraryPath)\*.dll - $(OutDir)mkl_cntk_s.dll; + CNTK custom MKL Sequential (Version: $(CNTKCustomMKLVersion)) + $(CNTKCustomMKLPath)\x64\sequential + mkl_cntk_s.lib + mkl_cntk_s.dll + $(MathLibraryPath)\*.dll + $(OutDir)mkl_cntk_s.dll; @@ -100,8 +104,8 @@ opencv_world$(OpenCvVersion) opencv_world$(OpenCvVersion)d $(OpenCvWorld).lib - $(OpenCvPath)\x64\vc12\lib - $(OpenCvPath)\x64\vc12\bin + $(OpenCvPath)\x64\vc14\lib + $(OpenCvPath)\x64\vc14\bin @@ -123,12 +127,6 @@ cublas64_75.dll;cusparse64_75.dll;curand64_75.dll;$(CudaRuntimeDll) - - $(CUDA_PATH_V7_0) - cudart64_70.dll - cublas64_70.dll;cusparse64_70.dll;curand64_70.dll;$(CudaRuntimeDll) - - cudart.lib;cublas.lib;cusparse.lib;curand.lib $(CudaPath)\include @@ -139,7 +137,7 @@ $(DebugBuild) - v120 + v140 Unicode $(ReleaseBuild) $(DebugBuild) diff --git a/CNTK.sln b/CNTK.sln index 7f432ed7b..85997249b 100644 --- a/CNTK.sln +++ b/CNTK.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.40629.0 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CNTK", "Source\CNTK\CNTK.vcxproj", "{E6F26F9A-FF64-4F0A-B749-CD309EE357EE}" ProjectSection(ProjectDependencies) = postProject diff --git a/Dependencies/CNTKCustomMKL/build-windows.cmd b/Dependencies/CNTKCustomMKL/build-windows.cmd index fdb36dd3b..38bd7a597 100644 --- a/Dependencies/CNTKCustomMKL/build-windows.cmd +++ b/Dependencies/CNTKCustomMKL/build-windows.cmd @@ -12,7 +12,7 @@ echo. echo Requirements: echo - Intel MKL SDK installed on the machine echo - MKLROOT environment variable is set to the MKL directory inside the Intel MKL SDK -echo - Visual Studio 2013 installed and included in the path +echo - Visual Studio 2015 installed and included in the path echo. setlocal enableextensions enabledelayedexpansion diff --git a/Dependencies/CNTKCustomMKL/version.txt b/Dependencies/CNTKCustomMKL/version.txt index 0cfbf0888..00750edc0 100644 --- a/Dependencies/CNTKCustomMKL/version.txt +++ b/Dependencies/CNTKCustomMKL/version.txt @@ -1 +1 @@ -2 +3 diff --git a/Examples/Evaluation/CNTKAzureTutorial01/CNTKAzureTutorial01/CNTKAzureTutorial01.csproj b/Examples/Evaluation/CNTKAzureTutorial01/CNTKAzureTutorial01/CNTKAzureTutorial01.csproj index 61841bcd3..857125a49 100644 --- a/Examples/Evaluation/CNTKAzureTutorial01/CNTKAzureTutorial01/CNTKAzureTutorial01.csproj +++ b/Examples/Evaluation/CNTKAzureTutorial01/CNTKAzureTutorial01/CNTKAzureTutorial01.csproj @@ -1,5 +1,5 @@  - + Debug @@ -163,4 +163,4 @@ --> - \ No newline at end of file + diff --git a/Examples/Evaluation/CPPEvalClient/CPPEvalClient.vcxproj b/Examples/Evaluation/CPPEvalClient/CPPEvalClient.vcxproj index 0914636c2..37213ab06 100644 --- a/Examples/Evaluation/CPPEvalClient/CPPEvalClient.vcxproj +++ b/Examples/Evaluation/CPPEvalClient/CPPEvalClient.vcxproj @@ -1,5 +1,5 @@  - + Release @@ -16,7 +16,7 @@ Application false - v120 + v140 true Unicode diff --git a/Examples/Evaluation/CPPEvalExtendedClient/CPPEvalExtendedClient.vcxproj b/Examples/Evaluation/CPPEvalExtendedClient/CPPEvalExtendedClient.vcxproj index e2d9ec1bf..900803f63 100644 --- a/Examples/Evaluation/CPPEvalExtendedClient/CPPEvalExtendedClient.vcxproj +++ b/Examples/Evaluation/CPPEvalExtendedClient/CPPEvalExtendedClient.vcxproj @@ -1,5 +1,5 @@  - + Release @@ -16,7 +16,7 @@ Application false - v120 + v140 true Unicode diff --git a/Examples/Evaluation/CPPEvalV2Client/CPPEvalV2Client.vcxproj b/Examples/Evaluation/CPPEvalV2Client/CPPEvalV2Client.vcxproj index a76f4a9bd..89346621e 100644 --- a/Examples/Evaluation/CPPEvalV2Client/CPPEvalV2Client.vcxproj +++ b/Examples/Evaluation/CPPEvalV2Client/CPPEvalV2Client.vcxproj @@ -1,5 +1,5 @@  - + Release @@ -20,7 +20,7 @@ Application false - v120 + v140 true Unicode diff --git a/Examples/Evaluation/CSEvalClient/CSEvalClient.csproj b/Examples/Evaluation/CSEvalClient/CSEvalClient.csproj index e37a45565..12bfc522a 100644 --- a/Examples/Evaluation/CSEvalClient/CSEvalClient.csproj +++ b/Examples/Evaluation/CSEvalClient/CSEvalClient.csproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Source/1BitSGD b/Source/1BitSGD index 2184b8af1..7bde79e23 160000 --- a/Source/1BitSGD +++ b/Source/1BitSGD @@ -1 +1 @@ -Subproject commit 2184b8af1f670b330b580b0b5d9d3e9bcb71b08a +Subproject commit 7bde79e23210f87289af940c6b4e615a335f830f diff --git a/Source/ActionsLib/ActionsLib.vcxproj b/Source/ActionsLib/ActionsLib.vcxproj index 1f494721a..7a37620bb 100644 --- a/Source/ActionsLib/ActionsLib.vcxproj +++ b/Source/ActionsLib/ActionsLib.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -59,10 +59,14 @@ Math.dll + + + /bigobj %(AdditionalOptions) + + _SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - /bigobj %(AdditionalOptions) diff --git a/Source/CNTK/CNTK.vcxproj b/Source/CNTK/CNTK.vcxproj index 430085fb0..1c741729f 100644 --- a/Source/CNTK/CNTK.vcxproj +++ b/Source/CNTK/CNTK.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode @@ -229,4 +229,4 @@ - + \ No newline at end of file diff --git a/Source/CNTKv2LibraryDll/CNTKv2LibraryDll.vcxproj b/Source/CNTKv2LibraryDll/CNTKv2LibraryDll.vcxproj index 5999bfbfb..dba317fa7 100644 --- a/Source/CNTKv2LibraryDll/CNTKv2LibraryDll.vcxproj +++ b/Source/CNTKv2LibraryDll/CNTKv2LibraryDll.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,7 +33,7 @@ DynamicLibrary - v120 + v140 Unicode diff --git a/Source/CNTKv2LibraryDll/Utils.cpp b/Source/CNTKv2LibraryDll/Utils.cpp index 097bd6197..004c3cd48 100644 --- a/Source/CNTKv2LibraryDll/Utils.cpp +++ b/Source/CNTKv2LibraryDll/Utils.cpp @@ -506,7 +506,7 @@ namespace CNTK if ((mask != nullptr) && ((varShape.Rank() + mask->Shape().Rank()) != valueShape.Rank())) InvalidArgument("Invalid Value object; the sum of the rank of the mask and data does not equal the Variable's rank + number of dynamic axes"); - auto getNumTimeStepsAndSequencesFunc = [numDynamicAxes](const NDShape& maskShape, size_t numDynamicAxes) { + auto getNumTimeStepsAndSequencesFunc = [](const NDShape& maskShape, size_t numDynamicAxes) { size_t maxNumTimeSteps = 1; size_t numSequences = 1; if (maskShape.Rank() > 1) diff --git a/Source/Common/Common.vcxproj b/Source/Common/Common.vcxproj index 3ac3d2652..613bae397 100644 --- a/Source/Common/Common.vcxproj +++ b/Source/Common/Common.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -77,4 +77,4 @@ - + \ No newline at end of file diff --git a/Source/Common/DataReader.cpp b/Source/Common/DataReader.cpp index 9200a2f45..a4ec634f9 100644 --- a/Source/Common/DataReader.cpp +++ b/Source/Common/DataReader.cpp @@ -79,6 +79,7 @@ void DataReader::Destroy() // DataReader Constructor // options - [in] string of options (i.e. "-windowsize:11 -addenergy") data reader specific +#pragma optimize("", off) // TODO work around potential VS2015 code optimization bug, replacing virtual- by non-virtual call in Init() below template DataReader::DataReader(const ConfigRecordType& config) { diff --git a/Source/Common/Include/Platform.h b/Source/Common/Include/Platform.h index 932a6b452..cd5dde58d 100644 --- a/Source/Common/Include/Platform.h +++ b/Source/Common/Include/Platform.h @@ -11,8 +11,7 @@ #define __UNIX__ #endif -#ifdef _MSC_VER -// TODO: thread_local is supported in VS2015. Remove this macro when we uprade to VS2015 +#if defined(_MSC_VER) && (_MSC_VER <= 1800 /*VS2013*/) #define THREAD_LOCAL __declspec(thread) #else #define THREAD_LOCAL thread_local @@ -38,9 +37,10 @@ #define __func__ __FUNCTION__ #endif -#if defined(_MSC_VER) +#if defined(_MSC_VER) && (_MSC_VER <= 1800 /*VS2013*/) #define snprintf _snprintf #endif + // =========================================================================== // emulation of some MSVC proprietary CRT // =========================================================================== diff --git a/Source/ComputationNetworkLib/ComputationNetworkLib.vcxproj b/Source/ComputationNetworkLib/ComputationNetworkLib.vcxproj index 39e03224c..d5512c4fd 100644 --- a/Source/ComputationNetworkLib/ComputationNetworkLib.vcxproj +++ b/Source/ComputationNetworkLib/ComputationNetworkLib.vcxproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Source/EvalDll/EvalDll.vcxproj b/Source/EvalDll/EvalDll.vcxproj index 373599523..0f1b80b49 100644 --- a/Source/EvalDll/EvalDll.vcxproj +++ b/Source/EvalDll/EvalDll.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Extensibility/EvalWrapper/EvalWrapper.vcxproj b/Source/Extensibility/EvalWrapper/EvalWrapper.vcxproj index d6d8f1f79..0442f1019 100644 --- a/Source/Extensibility/EvalWrapper/EvalWrapper.vcxproj +++ b/Source/Extensibility/EvalWrapper/EvalWrapper.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,14 +33,14 @@ DynamicLibrary true - v120 + v140 true Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Math/BlockMultiplier.h b/Source/Math/BlockMultiplier.h index e867cc256..75f0c01f5 100644 --- a/Source/Math/BlockMultiplier.h +++ b/Source/Math/BlockMultiplier.h @@ -583,13 +583,6 @@ template class BlockMultiplier int m_oldNumThreads; }; -// Instantiate block multipliers -template<> const int BlockMultiplier::MAXRANGE; -#ifdef SUPPORT_AVX2 -template<> const int BlockMultiplier::MAXRANGE; -#endif - - template typename BlockMultiplier::ScalarAT* BlockMultiplier::CreateMatrixA(int m, int n, ScalarAT initVal) { return CreateAlignedMatrix(m, n, initVal); diff --git a/Source/Math/CPURNGHandle.cpp b/Source/Math/CPURNGHandle.cpp index 1c7ac15b1..4aaacf416 100644 --- a/Source/Math/CPURNGHandle.cpp +++ b/Source/Math/CPURNGHandle.cpp @@ -13,7 +13,7 @@ namespace Microsoft { namespace MSR { namespace CNTK { CPURNGHandle::CPURNGHandle(int deviceId, uint64_t seed, uint64_t offset) : RNGHandle(deviceId) { - m_generator.reset(new std::mt19937_64((unsigned long)seed)); + m_generator.reset(new std::mt19937_64(seed)); m_generator->discard(offset); } diff --git a/Source/Math/CntkBatchNormalization.cuh b/Source/Math/CntkBatchNormalization.cuh index 34c2b8d9f..2a0e16dcf 100644 --- a/Source/Math/CntkBatchNormalization.cuh +++ b/Source/Math/CntkBatchNormalization.cuh @@ -7,10 +7,11 @@ #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4100) -#pragma warning(disable : 4127) -#pragma warning(disable : 4201) -#pragma warning(disable : 4515) +#pragma warning(disable : 4100) // 'identifier': unreferenced formal parameter +#pragma warning(disable : 4127) // conditional expression is constant +#pragma warning(disable : 4201) // nonstandard extension used: nameless struct/union +#pragma warning(disable : 4458) // declaration of 'identifier' hides class member +#pragma warning(disable : 4515) // 'namespace': namespace uses itself #endif #include #ifdef _MSC_VER diff --git a/Source/Math/GPUMatrixCUDAKernels.cuh b/Source/Math/GPUMatrixCUDAKernels.cuh index 002c78113..05f00ed46 100644 --- a/Source/Math/GPUMatrixCUDAKernels.cuh +++ b/Source/Math/GPUMatrixCUDAKernels.cuh @@ -23,10 +23,11 @@ // REVIEW alexeyk: disable warnings properly for GCC/clang #ifdef _MSC_VER #pragma warning(push) -#pragma warning(disable : 4100) -#pragma warning(disable : 4127) -#pragma warning(disable : 4201) -#pragma warning(disable : 4515) +#pragma warning(disable : 4100) // 'identifier': unreferenced formal parameter +#pragma warning(disable : 4127) // conditional expression is constant +#pragma warning(disable : 4201) // nonstandard extension used: nameless struct/union +#pragma warning(disable : 4458) // declaration of 'identifier' hides class member +#pragma warning(disable : 4515) // 'namespace': namespace uses itself #endif #include #ifdef _MSC_VER diff --git a/Source/Math/Math.vcxproj b/Source/Math/Math.vcxproj index b120a1aaf..b241b5d50 100644 --- a/Source/Math/Math.vcxproj +++ b/Source/Math/Math.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 Unicode diff --git a/Source/Math/MathCUDA.vcxproj b/Source/Math/MathCUDA.vcxproj index 6bfe9c5f6..bbb835518 100644 --- a/Source/Math/MathCUDA.vcxproj +++ b/Source/Math/MathCUDA.vcxproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Source/Multiverso b/Source/Multiverso index a1170ce7e..143187575 160000 --- a/Source/Multiverso +++ b/Source/Multiverso @@ -1 +1 @@ -Subproject commit a1170ce7e7fd5dbf44b7552fe1570843877fc4b8 +Subproject commit 143187575d1cfa410100037b8aea2e767e0af637 diff --git a/Source/PerformanceProfilerDll/PerformanceProfilerDll.vcxproj b/Source/PerformanceProfilerDll/PerformanceProfilerDll.vcxproj index 159c70763..123bf66a0 100644 --- a/Source/PerformanceProfilerDll/PerformanceProfilerDll.vcxproj +++ b/Source/PerformanceProfilerDll/PerformanceProfilerDll.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/BinaryReader/BinaryReader.vcxproj b/Source/Readers/BinaryReader/BinaryReader.vcxproj index d5dfe337a..0ab0ce13b 100644 --- a/Source/Readers/BinaryReader/BinaryReader.vcxproj +++ b/Source/Readers/BinaryReader/BinaryReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/CNTKBinaryReader/BinaryConfigHelper.cpp b/Source/Readers/CNTKBinaryReader/BinaryConfigHelper.cpp index 8e5b35ac7..d1f31653b 100644 --- a/Source/Readers/CNTKBinaryReader/BinaryConfigHelper.cpp +++ b/Source/Readers/CNTKBinaryReader/BinaryConfigHelper.cpp @@ -31,14 +31,14 @@ namespace Microsoft { namespace MSR { namespace CNTK { for (const pair& section : input) { - ConfigParameters input = section.second; + ConfigParameters sectionConfig = section.second; wstring name = msra::strfun::utf16(section.first); // If there is an option for "alias", we will rename the stream with the "alias" // name to the target name. - if (input.ExistsCurrent(L"alias")) + if (sectionConfig.ExistsCurrent(L"alias")) { - wstring alias = msra::strfun::utf16(input(L"alias")); + wstring alias = msra::strfun::utf16(sectionConfig(L"alias")); m_streams[alias] = name; } else diff --git a/Source/Readers/CNTKBinaryReader/CNTKBinaryReader.vcxproj b/Source/Readers/CNTKBinaryReader/CNTKBinaryReader.vcxproj index 27db76f8f..9874d1b47 100644 --- a/Source/Readers/CNTKBinaryReader/CNTKBinaryReader.vcxproj +++ b/Source/Readers/CNTKBinaryReader/CNTKBinaryReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,7 +32,7 @@ DynamicLibrary - v120 + v140 Unicode diff --git a/Source/Readers/CNTKTextFormatReader/CNTKTextFormatReader.vcxproj b/Source/Readers/CNTKTextFormatReader/CNTKTextFormatReader.vcxproj index 2eed98a75..4855bba38 100644 --- a/Source/Readers/CNTKTextFormatReader/CNTKTextFormatReader.vcxproj +++ b/Source/Readers/CNTKTextFormatReader/CNTKTextFormatReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,7 +32,7 @@ DynamicLibrary - v120 + v140 Unicode diff --git a/Source/Readers/CompositeDataReader/CompositeDataReader.vcxproj b/Source/Readers/CompositeDataReader/CompositeDataReader.vcxproj index d06ca048e..c01e04c2f 100644 --- a/Source/Readers/CompositeDataReader/CompositeDataReader.vcxproj +++ b/Source/Readers/CompositeDataReader/CompositeDataReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -31,7 +31,7 @@ DynamicLibrary - v120 + v140 Unicode $(DebugBuild) $(ReleaseBuild) diff --git a/Source/Readers/DSSMReader/DSSMReader.vcxproj b/Source/Readers/DSSMReader/DSSMReader.vcxproj index d06080f58..620d5f9ce 100644 --- a/Source/Readers/DSSMReader/DSSMReader.vcxproj +++ b/Source/Readers/DSSMReader/DSSMReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/HTKDeserializers/HTKDeserializers.vcxproj b/Source/Readers/HTKDeserializers/HTKDeserializers.vcxproj index 739ab43ff..57399ad73 100644 --- a/Source/Readers/HTKDeserializers/HTKDeserializers.vcxproj +++ b/Source/Readers/HTKDeserializers/HTKDeserializers.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -31,7 +31,7 @@ DynamicLibrary - v120 + v140 Unicode $(DebugBuild) $(ReleaseBuild) diff --git a/Source/Readers/HTKMLFReader/HTKMLFReader.vcxproj b/Source/Readers/HTKMLFReader/HTKMLFReader.vcxproj index 56453f16e..0b4cb3dac 100644 --- a/Source/Readers/HTKMLFReader/HTKMLFReader.vcxproj +++ b/Source/Readers/HTKMLFReader/HTKMLFReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/ImageReader/ImageReader.vcxproj b/Source/Readers/ImageReader/ImageReader.vcxproj index be4dd9f78..cd91604d6 100644 --- a/Source/Readers/ImageReader/ImageReader.vcxproj +++ b/Source/Readers/ImageReader/ImageReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -31,7 +31,7 @@ DynamicLibrary - v120 + v140 Unicode @@ -71,7 +71,7 @@ if "$(HasOpenCv)" == "true" xcopy /I /D /Y "$(OpenCvBinPath)\$(OpenCvWorld).dll" "$(TargetDir)" if "$(UseZip)" == "true" xcopy /I /D /Y "$(ZLIB_PATH)\bin\zip.dll" "$(TargetDir)" - if "$(UseZip)" == "true" if exist "$(ZLIB_PATH)\bin\zlib1.dll" (xcopy /I /D /Y "$(ZLIB_PATH)\bin\zlib1.dll" "$(TargetDir)") else (copy /Y "$(ZLIB_PATH)\bin\zlib.dll" "$(TargetDir)\zlib1.dll") + if "$(UseZip)" == "true" xcopy /I /D /Y "$(ZLIB_PATH)\bin\zlib.dll" "$(TargetDir)" Copying dependencies diff --git a/Source/Readers/LMSequenceReader/LMSequenceReader.vcxproj b/Source/Readers/LMSequenceReader/LMSequenceReader.vcxproj index b4056c8e7..090b8150a 100644 --- a/Source/Readers/LMSequenceReader/LMSequenceReader.vcxproj +++ b/Source/Readers/LMSequenceReader/LMSequenceReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/LUSequenceReader/LUSequenceReader.vcxproj b/Source/Readers/LUSequenceReader/LUSequenceReader.vcxproj index e39b67b67..90c81ff5d 100644 --- a/Source/Readers/LUSequenceReader/LUSequenceReader.vcxproj +++ b/Source/Readers/LUSequenceReader/LUSequenceReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/LibSVMBinaryReader/LibSVMBinaryReader.vcxproj b/Source/Readers/LibSVMBinaryReader/LibSVMBinaryReader.vcxproj index afd3f48b8..598dc9024 100644 --- a/Source/Readers/LibSVMBinaryReader/LibSVMBinaryReader.vcxproj +++ b/Source/Readers/LibSVMBinaryReader/LibSVMBinaryReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/ReaderLib/ReaderLib.vcxproj b/Source/Readers/ReaderLib/ReaderLib.vcxproj index 0cdfbc111..dd5e066a2 100644 --- a/Source/Readers/ReaderLib/ReaderLib.vcxproj +++ b/Source/Readers/ReaderLib/ReaderLib.vcxproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Source/Readers/SparsePCReader/SparsePCReader.vcxproj b/Source/Readers/SparsePCReader/SparsePCReader.vcxproj index a3200c0b3..28464876a 100644 --- a/Source/Readers/SparsePCReader/SparsePCReader.vcxproj +++ b/Source/Readers/SparsePCReader/SparsePCReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/Readers/UCIFastReader/UCIFastReader.vcxproj b/Source/Readers/UCIFastReader/UCIFastReader.vcxproj index fb79bf8b0..d2a77fb82 100644 --- a/Source/Readers/UCIFastReader/UCIFastReader.vcxproj +++ b/Source/Readers/UCIFastReader/UCIFastReader.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/Source/SGDLib/SGD.cpp b/Source/SGDLib/SGD.cpp index 1d6ca807e..e17ec1857 100644 --- a/Source/SGDLib/SGD.cpp +++ b/Source/SGDLib/SGD.cpp @@ -21,8 +21,10 @@ //static inline bool operator==(const std::pair& a, double b) { assert(b==0); return a.first == b; } // ^^ workaround until this line in AggregateGradientsImpl() gets updated: assert(headerCPU->evalErrors[i] == 0); #include "AllReduceDistGradAggregator.h" + #include "BlockMomentumSGD.h" #include "V2BlockMomentumSGD.h" + #include "V2AllReduceDistGradAggregator.h" #endif diff --git a/Source/SGDLib/SGDLib.vcxproj b/Source/SGDLib/SGDLib.vcxproj index 97c915ce4..c5ba52e63 100644 --- a/Source/SGDLib/SGDLib.vcxproj +++ b/Source/SGDLib/SGDLib.vcxproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Source/SequenceTrainingLib/SequenceTrainingLib.vcxproj b/Source/SequenceTrainingLib/SequenceTrainingLib.vcxproj index 9725d9eb3..99b38e36f 100644 --- a/Source/SequenceTrainingLib/SequenceTrainingLib.vcxproj +++ b/Source/SequenceTrainingLib/SequenceTrainingLib.vcxproj @@ -1,5 +1,5 @@  - + Debug diff --git a/Tests/EndToEndTests/EvalClientTests/CPPEvalClientTest/CPPEvalClientTest.vcxproj b/Tests/EndToEndTests/EvalClientTests/CPPEvalClientTest/CPPEvalClientTest.vcxproj index e7a22b173..165754127 100644 --- a/Tests/EndToEndTests/EvalClientTests/CPPEvalClientTest/CPPEvalClientTest.vcxproj +++ b/Tests/EndToEndTests/EvalClientTests/CPPEvalClientTest/CPPEvalClientTest.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,14 +32,14 @@ Application true - v120 + v140 Unicode No Application false - v120 + v140 true Unicode No diff --git a/Tests/EndToEndTests/EvalClientTests/CPPEvalExtendedClientTest/CPPEvalExtendedClientTest.vcxproj b/Tests/EndToEndTests/EvalClientTests/CPPEvalExtendedClientTest/CPPEvalExtendedClientTest.vcxproj index b9990c027..0792818aa 100644 --- a/Tests/EndToEndTests/EvalClientTests/CPPEvalExtendedClientTest/CPPEvalExtendedClientTest.vcxproj +++ b/Tests/EndToEndTests/EvalClientTests/CPPEvalExtendedClientTest/CPPEvalExtendedClientTest.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,14 +32,14 @@ Application true - v120 + v140 Unicode No Application false - v120 + v140 true Unicode No @@ -114,4 +114,4 @@ - + \ No newline at end of file diff --git a/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/App.config b/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/App.config index 8e1564635..d1428ad71 100644 --- a/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/App.config +++ b/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/App.config @@ -1,6 +1,6 @@ - + - + - \ No newline at end of file + diff --git a/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/CSEvalClientTest.csproj b/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/CSEvalClientTest.csproj index d09ecde92..8a1727c6e 100644 --- a/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/CSEvalClientTest.csproj +++ b/Tests/EndToEndTests/EvalClientTests/CSEvalClientTest/CSEvalClientTest.csproj @@ -1,5 +1,5 @@  - + Debug @@ -82,4 +82,4 @@ - \ No newline at end of file + diff --git a/Tests/EndToEndTests/Speech/LSTM/Truncated/testcases.yml b/Tests/EndToEndTests/Speech/LSTM/Truncated/testcases.yml index 4e5e1ddb0..602b19945 100644 --- a/Tests/EndToEndTests/Speech/LSTM/Truncated/testcases.yml +++ b/Tests/EndToEndTests/Speech/LSTM/Truncated/testcases.yml @@ -1,7 +1,8 @@ dataDir: ../../Data tags: - bvt-l (build_sku == 'gpu') and ((flavor=='debug') ^ (device=='cpu')) - - nightly-l (build_sku == 'gpu') + # Note: Windows-Debug-CPU runs for too long (~ 2 hours depending on machine) + - nightly-l (build_sku == 'gpu') and ((flavor=='release') or (os=='linux') or (device=='gpu')) testCases: CNTK Run must be completed: diff --git a/Tests/EndToEndTests/UnitTests/ManagedEvalTests/run-test b/Tests/EndToEndTests/UnitTests/ManagedEvalTests/run-test index 07bc07b25..ae97578aa 100755 --- a/Tests/EndToEndTests/UnitTests/ManagedEvalTests/run-test +++ b/Tests/EndToEndTests/UnitTests/ManagedEvalTests/run-test @@ -2,7 +2,7 @@ . $TEST_ROOT_DIR/run-test-common -VSTEST_CONSOLE=$(cygpath -au "$VS120COMNTOOLS\\..\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\vstest.console.exe") +VSTEST_CONSOLE=$(cygpath -au "$VS140COMNTOOLS\\..\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\vstest.console.exe") test -x "$VSTEST_CONSOLE" || exit $? diff --git a/Tests/UnitTests/BrainScriptTests/BrainScriptTests.vcxproj b/Tests/UnitTests/BrainScriptTests/BrainScriptTests.vcxproj index 04f61ae7a..cfd5f62f6 100644 --- a/Tests/UnitTests/BrainScriptTests/BrainScriptTests.vcxproj +++ b/Tests/UnitTests/BrainScriptTests/BrainScriptTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,7 +32,7 @@ Application - v120 + v140 Unicode false diff --git a/Tests/UnitTests/CommandEval/CommandEval.vcxproj b/Tests/UnitTests/CommandEval/CommandEval.vcxproj index dfde0f912..963a47c52 100644 --- a/Tests/UnitTests/CommandEval/CommandEval.vcxproj +++ b/Tests/UnitTests/CommandEval/CommandEval.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode diff --git a/Tests/UnitTests/EvalTests/EvalTests.vcxproj b/Tests/UnitTests/EvalTests/EvalTests.vcxproj index a482de97d..ba2eafadf 100644 --- a/Tests/UnitTests/EvalTests/EvalTests.vcxproj +++ b/Tests/UnitTests/EvalTests/EvalTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,14 +33,14 @@ Application true - v120 + v140 Unicode false Application false - v120 + v140 true Unicode false diff --git a/Tests/UnitTests/ManagedEvalTests/ManagedEvalTests.csproj b/Tests/UnitTests/ManagedEvalTests/ManagedEvalTests.csproj index 67c95ae64..21e21a742 100644 --- a/Tests/UnitTests/ManagedEvalTests/ManagedEvalTests.csproj +++ b/Tests/UnitTests/ManagedEvalTests/ManagedEvalTests.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -119,4 +119,4 @@ --> - \ No newline at end of file + diff --git a/Tests/UnitTests/MathPerformanceTests/MathPerformanceTests.vcxproj b/Tests/UnitTests/MathPerformanceTests/MathPerformanceTests.vcxproj index c814dc274..27e233dc5 100644 --- a/Tests/UnitTests/MathPerformanceTests/MathPerformanceTests.vcxproj +++ b/Tests/UnitTests/MathPerformanceTests/MathPerformanceTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,13 +32,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode diff --git a/Tests/UnitTests/MathTests/MathTests.vcxproj b/Tests/UnitTests/MathTests/MathTests.vcxproj index e72334729..4147028e5 100644 --- a/Tests/UnitTests/MathTests/MathTests.vcxproj +++ b/Tests/UnitTests/MathTests/MathTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,14 +32,14 @@ Application true - v120 + v140 Unicode false Application false - v120 + v140 true Unicode false diff --git a/Tests/UnitTests/MathTests/MatrixSparseDenseInteractionsTests.cpp b/Tests/UnitTests/MathTests/MatrixSparseDenseInteractionsTests.cpp index 6d80283cf..6e0017a23 100644 --- a/Tests/UnitTests/MathTests/MatrixSparseDenseInteractionsTests.cpp +++ b/Tests/UnitTests/MathTests/MatrixSparseDenseInteractionsTests.cpp @@ -136,8 +136,6 @@ BOOST_FIXTURE_TEST_CASE(MatrixDenseTimesSparse, RandomSeedFixture) BOOST_FIXTURE_TEST_CASE(CPUMatrixDenseTimesSparse, RandomSeedFixture) { - // TODO: test fails with large dimensions - size_t dim1 = 4, dim2 = 2; Matrix mAdense(CPUDEVICE); mAdense.AssignTruncateBottomOf(Matrix::RandomUniform(dim1, dim2, c_deviceIdZero, -3.0f, 0.1f, IncrementCounter()), 0); diff --git a/Tests/UnitTests/NetworkTests/NetworkTests.vcxproj b/Tests/UnitTests/NetworkTests/NetworkTests.vcxproj index 9b3013566..4c1179af8 100644 --- a/Tests/UnitTests/NetworkTests/NetworkTests.vcxproj +++ b/Tests/UnitTests/NetworkTests/NetworkTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -32,7 +32,7 @@ Application - v120 + v140 Unicode false @@ -129,4 +129,4 @@ - + \ No newline at end of file diff --git a/Tests/UnitTests/ReaderTests/ReaderTests.vcxproj b/Tests/UnitTests/ReaderTests/ReaderTests.vcxproj index 81279daba..fc2686da7 100644 --- a/Tests/UnitTests/ReaderTests/ReaderTests.vcxproj +++ b/Tests/UnitTests/ReaderTests/ReaderTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -35,7 +35,7 @@ Application - v120 + v140 Unicode false diff --git a/Tests/UnitTests/V2LibraryDistributionTests/V2LibraryDistributionTests.vcxproj b/Tests/UnitTests/V2LibraryDistributionTests/V2LibraryDistributionTests.vcxproj index 587dc416b..917ca32a7 100644 --- a/Tests/UnitTests/V2LibraryDistributionTests/V2LibraryDistributionTests.vcxproj +++ b/Tests/UnitTests/V2LibraryDistributionTests/V2LibraryDistributionTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode diff --git a/Tests/UnitTests/V2LibraryTests/UserDefinedFunctionTests.cpp b/Tests/UnitTests/V2LibraryTests/UserDefinedFunctionTests.cpp index 6c736463d..b607053b4 100644 --- a/Tests/UnitTests/V2LibraryTests/UserDefinedFunctionTests.cpp +++ b/Tests/UnitTests/V2LibraryTests/UserDefinedFunctionTests.cpp @@ -339,9 +339,9 @@ void TestDuplicateVariablesInInputs(size_t dim, const DeviceDescriptor& device) // Verify backward prop results if (device.Type() != DeviceKind::CPU) { - NDArrayViewPtr cpuArrayView = MakeSharedObject(DataType::Float, inputShape, DeviceDescriptor::CPUDevice()); - cpuArrayView->CopyFrom(*inputGradientValue->Data()); - const float* cpuArrayViewBuffer = cpuArrayView->DataBuffer(); + NDArrayViewPtr cpuArrayViewBack = MakeSharedObject(DataType::Float, inputShape, DeviceDescriptor::CPUDevice()); + cpuArrayViewBack->CopyFrom(*inputGradientValue->Data()); + const float* cpuArrayViewBuffer = cpuArrayViewBack->DataBuffer(); memcpy(inputGradientData.data(), cpuArrayViewBuffer, inputShape.TotalSize() * sizeof(float)); } diff --git a/Tests/UnitTests/V2LibraryTests/V2LibraryTests.vcxproj b/Tests/UnitTests/V2LibraryTests/V2LibraryTests.vcxproj index b5ef3236a..ad77254c2 100644 --- a/Tests/UnitTests/V2LibraryTests/V2LibraryTests.vcxproj +++ b/Tests/UnitTests/V2LibraryTests/V2LibraryTests.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -33,13 +33,13 @@ Application true - v120 + v140 Unicode Application false - v120 + v140 true Unicode diff --git a/Tools/build-and-test b/Tools/build-and-test index 855abc36d..209e70a02 100755 --- a/Tools/build-and-test +++ b/Tools/build-and-test @@ -131,8 +131,8 @@ if [[ $OS == "Windows_NT" && $OSTYPE == "cygwin" ]]; then BIN_NAME=CNTK.exe BUILD_OS="windows" - if [[ $VS120COMNTOOLS == "" ]]; then - echo "============ Visual Studio 12.0 environment not properly setup or VS not installed ============" + if [[ $VS140COMNTOOLS == "" ]]; then + echo "============ Visual Studio 14.0 environment not properly setup or VS not installed ============" echo "============ Please find and run the appropriate vcvarsall.bat script ============" exit 1 fi diff --git a/Tools/check-git-head.sh b/Tools/check-git-head.sh index a92ed8711..2d17498c7 100755 --- a/Tools/check-git-head.sh +++ b/Tools/check-git-head.sh @@ -34,7 +34,7 @@ checkEmptyStdout \ "git ls-tree: path names will illegal characters encountered:" checkEmptyStdout \ - "git grep -l \$'\t' $gitTree -- *.cpp *.h *.cu *.bat *.bs | cut -d: -f2-" \ + "git grep -l \$'\t' $gitTree -- *.cpp *.h *.cu *.bat *.bs CNTK.Cpp.props | cut -d: -f2-" \ "files with hard tabs encountered" checkEmptyStdout \ diff --git a/Tools/make_binary_drop_windows.ps1 b/Tools/make_binary_drop_windows.ps1 index 90bb0fe16..d4d29c811 100644 --- a/Tools/make_binary_drop_windows.ps1 +++ b/Tools/make_binary_drop_windows.ps1 @@ -84,6 +84,10 @@ If (Test-Path $baseDropPath\cntk\Python\cntk-*-cp27*.whl) { Remove-Item $baseDropPath\cntk\Python\cntk-*-cp27*.whl } +If (Test-Path $baseDropPath\cntk\Python\cntk-*-cp35*.whl) +{ + Remove-Item $baseDropPath\cntk\Python\cntk-*-cp35*.whl +} If (Test-Path $baseDropPath\cntk\CPPEvalClientTest.exe) { Remove-Item $baseDropPath\cntk\CPPEvalClientTest.exe diff --git a/Tools/msvc_collect_coverage.py b/Tools/msvc_collect_coverage.py index 250a0c9fa..5053fa071 100755 --- a/Tools/msvc_collect_coverage.py +++ b/Tools/msvc_collect_coverage.py @@ -28,7 +28,7 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(description="Collects coverage for the executable or directory with test executables") parser.add_argument('--test', help='Path to the executable or directory that has to be analyzed', required=True) parser.add_argument('--outputdir', help='Output directory for coverage results', required=True) - parser.add_argument('--tooldir', help='Tool directory for CodeCoverage tool', required=False, default=r'c:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Dynamic Code Coverage Tools\amd64') + parser.add_argument('--tooldir', help='Tool directory for CodeCoverage tool', required=False, default=r'c:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\amd64') parser.add_argument('--config', help='Configuration for CodeCoverage tool', required=False, default="") args = parser.parse_args() @@ -41,4 +41,4 @@ if __name__ == "__main__": elif os.path.isdir(args.test): collectCoverageMulti(args.test, args.outputdir, args.tooldir, args.config) else: - print('Please specify correct executable or test directory where the coverage should be collected.') \ No newline at end of file + print('Please specify correct executable or test directory where the coverage should be collected.') diff --git a/bindings/csharp/CSEvalV2Example/CSEvalV2Example.csproj b/bindings/csharp/CSEvalV2Example/CSEvalV2Example.csproj index e5991427b..557d10280 100644 --- a/bindings/csharp/CSEvalV2Example/CSEvalV2Example.csproj +++ b/bindings/csharp/CSEvalV2Example/CSEvalV2Example.csproj @@ -1,5 +1,5 @@  - + Debug @@ -87,4 +87,4 @@ --> - \ No newline at end of file + diff --git a/bindings/csharp/CSEvalV2Library/CSEvalV2Library.csproj b/bindings/csharp/CSEvalV2Library/CSEvalV2Library.csproj index f7d415985..470e5a35d 100644 --- a/bindings/csharp/CSEvalV2Library/CSEvalV2Library.csproj +++ b/bindings/csharp/CSEvalV2Library/CSEvalV2Library.csproj @@ -1,5 +1,5 @@  - + Debug @@ -118,4 +118,4 @@ --> - \ No newline at end of file + diff --git a/bindings/csharp/Swig/CSharpBindings.vcxproj b/bindings/csharp/Swig/CSharpBindings.vcxproj index 95052f240..23da7f9ce 100644 --- a/bindings/csharp/Swig/CSharpBindings.vcxproj +++ b/bindings/csharp/Swig/CSharpBindings.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -30,13 +30,13 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/bindings/python/PythonBindings.vcxproj b/bindings/python/PythonBindings.vcxproj index 6fad1e3c9..6593da191 100644 --- a/bindings/python/PythonBindings.vcxproj +++ b/bindings/python/PythonBindings.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -30,7 +30,7 @@ Makefile - v120 + v140 $(DebugBuild) diff --git a/bindings/python/build.bat b/bindings/python/build.bat index ba3c704a3..e166954fa 100644 --- a/bindings/python/build.bat +++ b/bindings/python/build.bat @@ -2,7 +2,7 @@ setlocal cd "%~dp0" -call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall" amd64 +call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall" amd64 set MSSdk=1 set DISTUTILS_USE_SDK=1 diff --git a/bindings/python/cntk/tests/persist_test.py b/bindings/python/cntk/tests/persist_test.py index c249ec541..b0b2efbf3 100644 --- a/bindings/python/cntk/tests/persist_test.py +++ b/bindings/python/cntk/tests/persist_test.py @@ -46,7 +46,7 @@ def test_load_save_input(tmpdir): loaded_node = load_model(filename) - # Test spefying the input node names by order + # Test specifying the input node names by order loaded_result = loaded_node.eval([input1]) assert np.allclose(loaded_result, expected) diff --git a/bindings/python/setup.py b/bindings/python/setup.py index e1187cfb6..cdcd52df7 100644 --- a/bindings/python/setup.py +++ b/bindings/python/setup.py @@ -16,9 +16,10 @@ if os.system('swig -version 1>%s 2>%s' % (os.devnull, os.devnull)) != 0: if IS_WINDOWS: if os.system('cl 1>%s 2>%s' % (os.devnull, os.devnull)) != 0: - print("Compiler was not found in path. Please run this from a Visual Studio 2013 x64 Native Tools Command Prompt,\n" - "e.g., by running the following command:\n" - " \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\vcvarsall\" amd64\n") + print("Compiler was not found in path.\n" + "Make sure you installed the C++ tools during Visual Studio 2015 install and \n" + "run vcvarsall.bat from a DOS command prompt:\n" + " \"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall\" amd64\n") sys.exit(1) try: diff --git a/bindings/python/vsbuild.bat b/bindings/python/vsbuild.bat index 3fa145018..f01ab8817 100644 --- a/bindings/python/vsbuild.bat +++ b/bindings/python/vsbuild.bat @@ -31,10 +31,8 @@ if not defined p_CNTK_PY_VERSIONS ( ) REM Validate p_CNTK_PY_VERSIONS contents. -REM TODO no Python 3.5 for now for %%p in (%p_CNTK_PY_VERSIONS%) do ( - if not "%%~p" == "27" if not "%%~p" == "34" echo Build for unsupported Python version '%%~p' requested, stopping&exit /b 1 - set nothingToBuild= + if not "%%~p" == "27" if not "%%~p" == "34" if not "%%~p" == "35" echo Build for unsupported Python version '%%~p' requested, stopping&exit /b 1 ) REM Validate p_CNTK_PY_VERSIONS contents. @@ -49,7 +47,7 @@ if defined nothingToBuild echo Python support not configured to build.&exit /b 0 if "%p_DebugBuild%" == "true" echo Currently no Python build for Debug configurations, exiting.&exit /b 0 -call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall" amd64 +call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall" amd64 set CNTK_LIB_PATH=%p_OutDir% set DIST_DIR=%p_OutDir%\Python set PATH=%p_SWIG_PATH%;%PATH% diff --git a/configure b/configure index 9704c24d2..fc80b0778 100755 --- a/configure +++ b/configure @@ -22,7 +22,7 @@ nccl_path= nccl_check=include/nccl.h # CNTK Custom MKL Version -cntk_custom_mkl_version=2 +cntk_custom_mkl_version=3 have_mkl=no mkl_path=