236 строки
11 KiB
XML
236 строки
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="$(SolutionDir)\CNTK.Common.props" />
|
|
<PropertyGroup>
|
|
<CudaVersion />
|
|
<CudaVersion Condition="Exists('$(CUDA_PATH_V9_0)') And '$(CudaVersion)' == ''">9.0</CudaVersion>
|
|
|
|
<NvmlDll>%ProgramW6432%\NVIDIA Corporation\NVSMI\nvml.dll</NvmlDll>
|
|
<NvmlDll Condition="Exists('c:\local\nvsmi9\NVSMI\nvml.dll')">c:\local\nvsmi9\NVSMI\nvml.dll</NvmlDll>
|
|
|
|
<HasOpenCv>false</HasOpenCv>
|
|
<HasOpenCv Condition="Exists('$(OPENCV_PATH)') Or Exists('$(OPENCV_PATH_V31)')">true</HasOpenCv>
|
|
|
|
<HasProtobuf>false</HasProtobuf>
|
|
<HasProtobuf Condition="Exists('$(PROTOBUF_PATH)')">true</HasProtobuf>
|
|
|
|
<HasBoost>false</HasBoost>
|
|
<HasBoost Condition="Exists('$(BOOST_INCLUDE_PATH)') And Exists('$(BOOST_LIB_PATH)')">true</HasBoost>
|
|
|
|
<UseZip>false</UseZip>
|
|
<UseZip Condition="Exists('$(ZLIB_PATH)')">true</UseZip>
|
|
|
|
<HasMultiverso>false</HasMultiverso>
|
|
<HasMultiverso Condition="Exists('$(SolutionDir)\Source\Multiverso\include\multiverso')">true</HasMultiverso>
|
|
|
|
<IsUWP>false</IsUWP>
|
|
<IsUWP Condition="'$(Configuration)'=='Debug_UWP' Or '$(Configuration)'=='Release_UWP'">true</IsUWP>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="!$(IsUWP)">
|
|
<OutputSuffix />
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$(IsUWP)">
|
|
<MathLibrary>OpenBLAS</MathLibrary>
|
|
<CNTKCustomOpenBLASVersion>2</CNTKCustomOpenBLASVersion>
|
|
<MathLibraryName>OpenBLAS library (Version: $(CNTKCustomOpenBLASVersion))</MathLibraryName>
|
|
<CNTKCustomOpenBLASPath>$(CNTK_OPENBLAS_PATH)\$(CNTKCustomOpenBLASVersion)</CNTKCustomOpenBLASPath>
|
|
<MathIncludePath>$(CNTKCustomOpenBLASPath)</MathIncludePath>
|
|
<MathLibraryPath>$(CNTKCustomOpenBLASPath)\lib\x64\RELEASE</MathLibraryPath>
|
|
<MathDefine>USE_OPENBLAS;OS_WINNT;ARCH_X86_64;C_MSVC</MathDefine>
|
|
<MathLinkLibrary>libopenblas.lib</MathLinkLibrary>
|
|
<MathDelayLoad>libopenblas.dll</MathDelayLoad>
|
|
<MathPostBuildCopyPattern>$(MathLibraryPath)\*.dll</MathPostBuildCopyPattern>
|
|
<OutputSuffix>_app</OutputSuffix>
|
|
<AppContainerApplication>true</AppContainerApplication>
|
|
<ApplicationType>Windows Store</ApplicationType>
|
|
<WindowsTargetPlatformVersion>$(UCRTVersion)</WindowsTargetPlatformVersion>
|
|
<TargetPlatformMinVersion>10.0.10586.0</TargetPlatformMinVersion> <!-- Windows 10, November 2015 -->
|
|
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
|
|
<DefaultLanguage>en-US</DefaultLanguage>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- If an executable links Cntk.Reader-$(CntkComponentVersion).lib, it has dependency on Cntk.Common.dll, Cntk.Math.dll and Cntk.PerformanceProfiler.dll -->
|
|
<ReaderLibs>Cntk.Reader$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.Common$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).lib;</ReaderLibs>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="!$(IsUWP)">
|
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
|
<MathLibrary>MKL</MathLibrary>
|
|
<MathIncludePath>$(MKL_PATH)\include</MathIncludePath>
|
|
<MathDefine>USE_MKL</MathDefine>
|
|
<!-- Only non-UWP configurations consume PerformanceProfiler -->
|
|
<ReaderLibs>Cntk.PerformanceProfiler-$(CntkComponentVersion).lib;$(ReaderLibs)</ReaderLibs>
|
|
<MathLibraryName>MKL Library</MathLibraryName>
|
|
<MathLibraryPath>$(MKL_PATH)\lib</MathLibraryPath>
|
|
<MathLinkLibrary>mklml.lib</MathLinkLibrary>
|
|
<MathDelayLoad>mklml.dll</MathDelayLoad>
|
|
<MathPostBuildCopyPattern>$(MathLibraryPath)\*.dll</MathPostBuildCopyPattern>
|
|
<HasMklDnn>false</HasMklDnn>
|
|
<!-- disable MKL-DNN until we pick up the fix for AMD cache size https://github.com/intel/mkl-dnn/commit/ccfbf83ab489b42f7452b6701498b07c28cdb502
|
|
<HasMklDnn Condition="Exists('$(MKL_PATH)\include\mkldnn.h')">true</HasMklDnn>
|
|
<MathDefine Condition="$(HasMklDnn)">$(MathDefine);USE_MKLDNN</MathDefine>
|
|
-->
|
|
<MathLinkLibrary Condition="$(HasMklDnn)">$(MathLinkLibrary);mkldnn.lib</MathLinkLibrary>
|
|
<MathDelayLoad Condition="$(HasMklDnn)">$(MathDelayLoad);mkldnn.dll</MathDelayLoad>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$(UseZip)">
|
|
<ZipInclude>$(ZLIB_PATH)\include;$(ZLIB_PATH)\lib\libzip\include;</ZipInclude>
|
|
<ZipDefine>USE_ZIP</ZipDefine>
|
|
<ZipLibPath>$(ZLIB_PATH)\lib;</ZipLibPath>
|
|
<ZipLibs>zlib.lib;zip.lib;</ZipLibs>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="Exists('$(OPENCV_PATH)')">
|
|
<OpenCvPath>$(OPENCV_PATH)</OpenCvPath>
|
|
<OpenCvVersion>300</OpenCvVersion>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="Exists('$(OPENCV_PATH_V31)')">
|
|
<OpenCvPath>$(OPENCV_PATH_V31)</OpenCvPath>
|
|
<OpenCvVersion>310</OpenCvVersion>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$(HasOpenCv)">
|
|
<OpenCvInclude>$(OpenCvPath)\include;</OpenCvInclude>
|
|
<OpenCvWorld Condition="$(ReleaseBuild)">opencv_world$(OpenCvVersion)</OpenCvWorld>
|
|
<OpenCvWorld Condition="$(DebugBuild)">opencv_world$(OpenCvVersion)d</OpenCvWorld>
|
|
<OpenCvLib>$(OpenCvWorld).lib</OpenCvLib>
|
|
<OpenCvLibPath>$(OpenCvPath)\x64\vc14\lib</OpenCvLibPath>
|
|
<OpenCvBinPath>$(OpenCvPath)\x64\vc14\bin</OpenCvBinPath>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="$(HasProtobuf)">
|
|
<ProtobufInclude>$(PROTOBUF_PATH)\include;</ProtobufInclude>
|
|
<ProtobufLibPath>$(PROTOBUF_PATH)\lib;</ProtobufLibPath>
|
|
<ProtobufLib Condition="$(ReleaseBuild)">libprotobuf.lib</ProtobufLib>
|
|
<ProtobufLib Condition="$(DebugBuild)">libprotobufd.lib</ProtobufLib>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(CudaVersion)' == '9.0'">
|
|
<CudaPath>$(CUDA_PATH_V9_0)</CudaPath>
|
|
<CudaRuntimeDll>cudart64_90.dll</CudaRuntimeDll>
|
|
<CudaDlls>cublas64_90.dll;cusparse64_90.dll;curand64_90.dll;$(CudaRuntimeDll)</CudaDlls>
|
|
|
|
<!-- Use NvidiaCompute to define nvcc target architectures (will generate code to support them all, i.e. fat-binary, in release mode)
|
|
In debug mode we only include cubin/PTX for 30 and rely on PTX / JIT to generate the required native cubin format
|
|
http://docs.nvidia.com/cuda/pascal-compatibility-guide/index.html#building-applications-with-pascal-support -->
|
|
<NvidiaCompute Condition="$(DebugBuild)">$(CNTK_CUDA_CODEGEN_DEBUG)</NvidiaCompute>
|
|
<NvidiaCompute Condition="$(DebugBuild) And '$(NvidiaCompute)'==''">compute_30,sm_30</NvidiaCompute>
|
|
|
|
<NvidiaCompute Condition="$(ReleaseBuild)">$(CNTK_CUDA_CODEGEN_RELEASE)</NvidiaCompute>
|
|
<NvidiaCompute Condition="$(ReleaseBuild) And '$(NvidiaCompute)'==''">compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_61,sm_61;compute_70,sm_70</NvidiaCompute>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<CudaLibs>cudart.lib;cublas.lib;cusparse.lib;curand.lib</CudaLibs>
|
|
<CudaInclude>$(CudaPath)\include</CudaInclude>
|
|
<CudaLibPath>$(CudaPath)\lib\$(Platform)</CudaLibPath>
|
|
|
|
<CudaMsbuildPath Condition="'$(CudaMsbuildPath)' == ''">$(VCTargetsPath)\BuildCustomizations</CudaMsbuildPath>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<PlatformToolset>v141</PlatformToolset>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="Exists('$(HALIDE_PATH)')">
|
|
<HalidePath>$(HALIDE_PATH)</HalidePath>
|
|
<HalideInclude>$(HALIDE_PATH)\include;</HalideInclude>
|
|
<HalideLibPath>$(HALIDE_PATH)\Release;</HalideLibPath>
|
|
<HalideLib>halide.lib</HalideLib>
|
|
</PropertyGroup>
|
|
|
|
<!-- TODO warn if ConfigurationType not (yet) defined -->
|
|
|
|
<PropertyGroup Condition="'$(ConfigurationType)' == 'StaticLibrary'">
|
|
<UseDebugLibraries>$(DebugBuild)</UseDebugLibraries>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
<WholeProgramOptimization>$(ReleaseBuild)</WholeProgramOptimization>
|
|
<LinkIncremental>$(DebugBuild)</LinkIncremental>
|
|
</PropertyGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>CNTK_VERSION="$(CntkVersion)";CNTK_VERSION_BANNER="$(CntkVersionBanner)";CNTK_COMPONENT_VERSION="$(CntkComponentVersion)"</PreprocessorDefinitions>
|
|
<!-- UWP does not use MPI -->
|
|
<PreprocessorDefinitions Condition="!$(IsUWP)">%(PreprocessorDefinitions);HAS_MPI=1</PreprocessorDefinitions>
|
|
<PreprocessorDefinitions Condition="'$(CudaVersion)' == '9.0'">%(PreprocessorDefinitions);CUDA_NO_HALF;__CUDA_NO_HALF_OPERATORS__</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="$(IsUWP)">
|
|
<ClCompile>
|
|
<CompileAsWinRT>false</CompileAsWinRT>
|
|
<PreprocessorDefinitions>CNTK_UWP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link Condition="$(ReleaseBuild)">
|
|
<AdditionalOptions>/nodefaultlib:vccorlib /nodefaultlib:msvcrt vccorlib.lib msvcrt.lib %(AdditionalOptions)</AdditionalOptions>
|
|
</Link>
|
|
<Link Condition="$(DebugBuild)">
|
|
<AdditionalOptions>/nodefaultlib:vccorlibd /nodefaultlib:msvcrtd vccorlibd.lib msvcrtd.lib %(AdditionalOptions)</AdditionalOptions>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="'$(ConfigurationType)' == 'StaticLibrary'">
|
|
<ClCompile>
|
|
<WarningLevel>Level4</WarningLevel>
|
|
<TreatWarningAsError>true</TreatWarningAsError>
|
|
<SDLCheck>true</SDLCheck>
|
|
<OpenMPSupport>true</OpenMPSupport>
|
|
</ClCompile>
|
|
<Link>
|
|
<SubSystem>Console</SubSystem>
|
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="'$(ConfigurationType)' == 'StaticLibrary' And $(DebugBuild)">
|
|
<ClCompile>
|
|
<Optimization>Disabled</Optimization>
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<StackReserveSize>100000000</StackReserveSize>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="$(ReleaseBuild) And !$(NoOptBuild)">
|
|
<ClCompile>
|
|
<Optimization>MaxSpeed</Optimization>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<Profile>true</Profile>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="$(NoOptBuild)">
|
|
<ClCompile>
|
|
<Optimization>Disabled</Optimization>
|
|
<FunctionLevelLinking>false</FunctionLevelLinking>
|
|
<IntrinsicFunctions>false</IntrinsicFunctions>
|
|
</ClCompile>
|
|
<Link>
|
|
<EnableCOMDATFolding>false</EnableCOMDATFolding>
|
|
<OptimizeReferences>false</OptimizeReferences>
|
|
<Profile>false</Profile>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
|
|
<PropertyGroup Condition="$(NoOptBuild)" Label="Configuration">
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
|
<LinkIncremental>true</LinkIncremental>
|
|
</PropertyGroup>
|
|
|
|
</Project>
|