https://github.com/Microsoft/CNTK
Raw File
Tip revision: ec2cd71921bd809c03ca5c8803096680f0560259 authored by Kyoichi Iwasaki on 03 December 2017, 07:56:26 UTC
Modified library import for "distributed"
Tip revision: ec2cd71
CNTKv2LibraryDll.vcxproj
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" InitialTargets="CheckDependencies" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_NoOpt|x64">
      <Configuration>Release_NoOpt</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug_CpuOnly|x64">
      <Configuration>Debug_CpuOnly</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_CpuOnly|x64">
      <Configuration>Release_CpuOnly</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug_UWP|x64">
      <Configuration>Debug_UWP</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release_UWP|x64">
      <Configuration>Release_UWP</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{E5606ECE-48CA-4464-BB12-09D81D02B9EF}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>CNTKv2LibraryDll</RootNamespace>
    <ProjectName>CNTKv2LibraryDll</ProjectName>
  </PropertyGroup>
  <Import Project="$(SolutionDir)\CNTK.Cpp.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Label="Configuration">
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <PlatformToolset>v140</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="$(DebugBuild)" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
  </ImportGroup>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup Condition="$(DebugBuild)">
    <LinkIncremental>true</LinkIncremental>
    <TargetName>Cntk.Core$(OutputSuffix)-$(CntkComponentVersion)</TargetName>
  </PropertyGroup>
  <PropertyGroup Condition="$(ReleaseBuild)">
    <TargetName>Cntk.Core$(OutputSuffix)-$(CntkComponentVersion)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup Condition="$(IsUWP)">
    <ClCompile>
      <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>.\API;.\proto;$(BOOST_INCLUDE_PATH);$(SolutionDir)\Source\CNTKv2LibraryDll;$(SolutionDir)Source\SGDLib;$(SolutionDir)Source\Readers\ReaderLib;$(SolutionDir)Source\ComputationNetworkLib;$(SolutionDir)Source\SequenceTrainingLib;$(SolutionDir)Source\Math;$(SolutionDir)Source\Common\Include;$(SolutionDir)Source\CNTK\BrainScript;$(SolutionDir)Source\ActionsLib;$(MSMPI_INC);$(NvmlInclude);$(ProtobufInclude);$(SolutionDir)Source\PerformanceProfilerDll</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories Condition="'$(CNTK_ENABLE_1BitSGD)'=='true' and '!$(IsUWP)'">$(SolutionDir)Source\1BitSGD;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <PreprocessorDefinitions Condition="'$(CNTK_ENABLE_1BitSGD)'=='true' and '!$(IsUWP)'">CNTK_PARALLEL_TRAINING_SUPPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <OpenMPSupport>true</OpenMPSupport>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>$(SolutionDir)Source\ComputationNetworkLib;$(SolutionDir)Source\Math;$(MSMPI_LIB64);$(SolutionDir)$(Platform)\$(Configuration);$(NvmlLibPath);$(ProtobufLibPath)</AdditionalLibraryDirectories>
      <AdditionalDependencies>$(ReaderLibs);Cntk.Common$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.ComputationNetwork$(OutputSuffix)-$(CntkComponentVersion).lib;Cntk.SequenceTrainingLib$(OutputSuffix)-$(CntkComponentVersion).lib;$(ProtobufLib);%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
    <PreBuildEvent>
      <Command>prebuild.bat "$(Configuration)" "$(CNTK_MKL_SEQUENTIAL)" "$(CNTK_ENABLE_1BitSGD)" "$(CudaPath)" "$(CUDNN_PATH)" "$(CUB_PATH)" "$(CNTK_ENABLE_ASGD)"</Command>
    </PreBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(DebugBuild)">
    <ClCompile>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <WarningLevel>Level4</WarningLevel>
      <Optimization>Disabled</Optimization>
      <PreprocessorDefinitions>ONNX_V1_OPSCHEMA_COMPAT;CNTKV2LIBRARYDLL;WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <TreatWarningAsError>true</TreatWarningAsError>
      <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; nvml.dll; $(CudaRuntimeDll); msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.ImageWriter-$(CntkComponentVersion).dll</DelayLoadDLLs>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(ReleaseBuild)">
    <ClCompile>
      <WarningLevel>Level4</WarningLevel>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <PreprocessorDefinitions>ONNX_V1_OPSCHEMA_COMPAT;CNTKV2LIBRARYDLL;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalOptions>/d2Zi+ /bigobj %(AdditionalOptions)</AdditionalOptions>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <TreatWarningAsError>true</TreatWarningAsError>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; nvml.dll; $(CudaRuntimeDll); msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.ImageWriter-$(CntkComponentVersion).dll</DelayLoadDLLs>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(CpuOnlyBuild)">
    <ClCompile>
      <PreprocessorDefinitions>ONNX_V1_OPSCHEMA_COMPAT;CPUONLY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_CpuOnly|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug_CpuOnly|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <Link>
      <DelayLoadDLLs>Cntk.Math$(OutputSuffix)-$(CntkComponentVersion).dll; msmpi.dll;</DelayLoadDLLs>
      <DelayLoadDLLs Condition="!$(IsUWP)">%(DelayLoadDLLs); Cntk.PerformanceProfiler-$(CntkComponentVersion).dll;Cntk.ImageWriter-$(CntkComponentVersion).dll</DelayLoadDLLs>
      <OptimizeReferences Condition="'$(Configuration)|$(Platform)'=='Debug_CpuOnly|x64'">false</OptimizeReferences>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(GpuBuild)">
    <ClCompile>
      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(CudaInclude)</AdditionalIncludeDirectories>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_NoOpt|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories);$(CudaLibPath)</AdditionalLibraryDirectories>
    </Link>
    <PostBuildEvent>
      <Command>if exist "$(NvmlDll)" xcopy /I /D /Y "$(NvmlDll)" "$(TargetDir)"</Command>
      <Message>Copying NVidia GDK extension DLL to target folder</Message>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="$(IsUWP)">
    <PostBuildEvent>
      <Command>
        xcopy /D /I /Y "$(TargetDir)$(TargetName).lib" "$(TargetDir).."
        xcopy /D /I /Y "$(TargetPath)" "$(TargetDir).."
      </Command>
    </PostBuildEvent>
    <ClCompile>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release_UWP|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
    <ClCompile>
      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug_UWP|x64'">$(IntDir)\$(ProjectName)\$(ConfigurationName)\%(RelativeDir)</ObjectFileName>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClInclude Include="API\CNTKLibrary.h" />
    <ClInclude Include="API\CNTKLibraryC.h" />
    <ClInclude Include="API\CNTKLibraryExperimental.h" />
    <ClInclude Include="API\CNTKLibraryInternals.h" />
    <ClInclude Include="BackCompat.h" />
    <ClInclude Include="BlockFunction.h" />
    <ClInclude Include="CompositeFunction.h" />
    <ClInclude Include="DataParallelDistributedLearner.h" />
    <ClInclude Include="DistributedCommunicator.h" />
    <ClInclude Include="DistributedLearnerBase.h" />
    <ClInclude Include="EvaluatorWrapper.h" />
    <ClInclude Include="Learner.h" />
    <ClInclude Include="MinibatchSource.h" />
    <ClInclude Include="PrimitiveFunctionAttributes.h" />
    <ClInclude Include="PrimitiveFunction.h" />
    <ClInclude Include="PrimitiveOpType.h" />
    <ClInclude Include="proto\onnx\CNTKToONNX.h" />
    <ClInclude Include="proto\onnx\core\constants.h" />
    <ClInclude Include="proto\onnx\core\graph.h" />
    <ClInclude Include="proto\onnx\core\model.h" />
    <ClInclude Include="proto\onnx\core\op.h" />
    <ClInclude Include="proto\onnx\core\opsignature.h" />
    <ClInclude Include="proto\onnx\core\record.h" />
    <ClInclude Include="proto\onnx\core\shape_inference.h" />
    <ClInclude Include="proto\onnx\core\status.h" />
    <ClInclude Include="proto\onnx\core\tensorutils.h" />
    <ClInclude Include="proto\onnx\core\utils.h" />
    <ClInclude Include="proto\onnx\ONNX.h" />
    <ClInclude Include="proto\onnx\ONNXToCNTK.h" />
    <ClInclude Include="proto\onnx\Operators.h" />
    <ClInclude Include="Serialization.h" />
    <ClInclude Include="tensorboard\TensorBoardUtils.h" />
    <ClInclude Include="UserDefinedFunction.h" />
    <ClInclude Include="UserFunctionFactory.h" />
    <ClInclude Include="Utils.h" />
    <ClInclude Include="stdafx.h" />
    <ClInclude Include="targetver.h" />
    <ClInclude Include="Value.h" />
    <ClInclude Include="Variable.h" />
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="BackCompat.cpp" />
    <ClCompile Include="Common.cpp" />
    <ClCompile Include="CompositeFunction.cpp" />
    <ClCompile Include="ComputeInputStatistics.cpp" />
    <ClCompile Include="DataParallelDistributedLearner.cpp" />
    <ClCompile Include="DistributedCommunicator.cpp" />
    <ClCompile Include="DistributedLearnerBase.cpp" />
    <ClCompile Include="dllmain.cpp">
      <CompileAsManaged>false</CompileAsManaged>
      <PrecompiledHeader>
      </PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="Evaluator.cpp" />
    <ClCompile Include="CNTKLibraryC.cpp" />
    <ClCompile Include="EvaluatorWrapper.cpp" />
    <ClCompile Include="Function.cpp" />
    <ClCompile Include="Learner.cpp" />
    <ClCompile Include="MinibatchSource.cpp" />
    <ClCompile Include="NDArrayView.cpp" />
    <ClCompile Include="NDMask.cpp" />
    <ClCompile Include="PrimitiveFunction.cpp" />
    <ClCompile Include="proto\CNTK.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="proto\onnx\CNTKToONNX.cpp" />
    <ClCompile Include="proto\onnx\core\constants.cpp" />
    <ClCompile Include="proto\onnx\core\graph.cpp" />
    <ClCompile Include="proto\onnx\core\model.cpp" />
    <ClCompile Include="proto\onnx\core\op.cpp" />
    <ClCompile Include="proto\onnx\core\opsignature.cpp" />
    <ClCompile Include="proto\onnx\core\shape_inference.cpp" />
    <ClCompile Include="proto\onnx\core\status.cpp" />
    <ClCompile Include="proto\onnx\core\tensorutils.cpp" />
    <ClCompile Include="proto\onnx\core\utils.cpp" />
    <ClCompile Include="proto\onnx\defs\activation\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\generator\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\logical\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\math\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\nn\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\reduction\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\rnn\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\tensor\defs.cpp" />
    <ClCompile Include="proto\onnx\defs\traditionalml\defs.cpp" />
    <ClCompile Include="proto\onnx\ONNX.cpp" />
    <ClCompile Include="proto\onnx\ONNXToCNTK.cpp" />
    <ClCompile Include="proto\onnx\Operators.cpp" />
    <ClCompile Include="proto\onnx\protobuf\onnx-ml.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="Serialization.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader>Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="ProgressWriter.cpp" />
    <ClCompile Include="tensorboard\tensorboard.pb.cc.VS_wrapper.cpp" />
    <ClCompile Include="tensorboard\TensorBoardFileWriter.cpp" />
    <ClCompile Include="tensorboard\TensorBoardUtils.cpp" />
    <ClCompile Include="Trainer.cpp" />
    <ClCompile Include="TrainingSession.cpp" />
    <ClCompile Include="UserDefinedFunction.cpp" />
    <ClCompile Include="Utils.cpp" />
    <ClCompile Include="Value.cpp" />
    <ClCompile Include="Variable.cpp" />
  </ItemGroup>
  <ItemGroup>
    <Proto Include="proto\CNTK.proto" />
    <Proto Include="proto\onnx\protobuf\onnx-ml.proto" />
    <Proto Include="tensorboard\tensorboard.proto" />
  </ItemGroup>
  <Target Name="ProtoGen" Inputs="@(Proto)" Outputs="@(Proto->'%(RelativeDir)%(Filename).pb.cc')">
    <Message Text="Compiling %(Proto.Identity)" />
    <Exec Command="$(PROTOBUF_PATH)\bin\protoc --proto_path=$(ProjectDir)%(Proto.RelativeDir) --cpp_out=$(ProjectDir)%(Proto.RelativeDir) %(Proto.FullPath)" WorkingDirectory="$(ProjectDir)" />
  </Target>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <Target Name="Build" Condition="$(HasProtobuf)" Outputs="$(TargetPath)" DependsOnTargets="ProtoGen;$(BuildDependsOn)" />
  <ImportGroup Label="ExtensionTargets" />
  <Target Name="CheckDependencies">
    <Warning Condition="!$(HasProtobuf)" Text="CNTKv2LibraryDll requires Protocol Buffers to build. Please see https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-Windows#protobuf for installation instructions." />
    <Error Condition="!$(HasBoost)" Text="CNTKv2LibraryDll requires the Boost library to build. Please see https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-Windows#boost for installation instructions." />
  </Target>
</Project>
back to top