https://github.com/Microsoft/CNTK
Raw File
Tip revision: 2e2b5fcf786a4e1ff11dad424507ed00d776da03 authored by Ivan Stojiljkovic on 30 May 2016, 18:10:10 UTC
Add more detailed perf events for gradient aggregation
Tip revision: 2e2b5fc
MathCUDA.vcxproj
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" InitialTargets="CheckDependencies" ToolsVersion="12.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|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{B3DD765E-694E-4494-BAD7-37BBF2942517}</ProjectGuid>
    <Keyword>Win32Proj</Keyword>
    <RootNamespace>Math</RootNamespace>
    <ProjectName>MathCUDA</ProjectName>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <Import Project="$(SolutionDir)\CNTK.Cpp.props" />
  <PropertyGroup>
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <PlatformToolset>v120</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <UseDebugLibraries>true</UseDebugLibraries>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
    <UseDebugLibraries>false</UseDebugLibraries>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <Choose>
    <When Condition="Exists('$(CUDNN_PATH)')">
      <PropertyGroup>
        <UseCuDnn>true</UseCuDnn>
        <CuDnnDefine>USE_CUDNN</CuDnnDefine>
        <CuDnnIncPath>$(CUDNN_PATH)\include</CuDnnIncPath>
        <CuDnnLibPath>$(CUDNN_PATH)\lib\x64</CuDnnLibPath>
        <CuDnnLib>cudnn.lib</CuDnnLib>
        <CuDnnDll>$(CUDNN_PATH)\bin\cudnn64_4.dll</CuDnnDll>
      </PropertyGroup>
    </When>
    <Otherwise>
      <PropertyGroup>
        <UseCuDnn>false</UseCuDnn>
      </PropertyGroup>
    </Otherwise>
  </Choose>
  <PropertyGroup>
    <CudaToolkitCustomDir>$(CudaPath)</CudaToolkitCustomDir>
    <IntDir>$(IntDir)\MathCUDA\</IntDir>
  </PropertyGroup>
  <ImportGroup Label="ExtensionSettings">
    <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA $(CudaVersion).props" />
  </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="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <LinkIncremental>true</LinkIncremental>
    <CudaCodeGen>$(CNTK_CUDA_CODEGEN_DEBUG)</CudaCodeGen>
    <CudaCodeGen Condition="'$(CudaCodeGen)'==''">compute_20,compute_20;compute_30,sm_30</CudaCodeGen>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <LinkIncremental>false</LinkIncremental>
    <CudaCodeGen>$(CNTK_CUDA_CODEGEN_RELEASE)</CudaCodeGen>
    <CudaCodeGen Condition="'$(CudaCodeGen)'==''">compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;</CudaCodeGen>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <PrecompiledHeader>NotUsing</PrecompiledHeader>
      <WarningLevel>Level4</WarningLevel>
      <PreprocessorDefinitions>NO_SYNC; WIN32; _WINDOWS; _USRDLL; MATH_EXPORTS; $(CuDnnDefine); %(PreprocessorDefinitions)</PreprocessorDefinitions>
      <SDLCheck>true</SDLCheck>
      <AdditionalIncludeDirectories>$(SolutionDir)Source\Common\include;$(ACML_PATH)\include;$(CudaInclude);$(CUB_PATH);$(CuDnnIncPath);$(SolutionDir)Source\PerformanceProfilerDll</AdditionalIncludeDirectories>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <FloatingPointModel>Fast</FloatingPointModel>
      <OpenMPSupport>true</OpenMPSupport>
      <TreatWarningAsError>true</TreatWarningAsError>
    </ClCompile>
    <Link>
      <SubSystem>Console</SubSystem>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AdditionalDependencies>$(CudaLibs);libacml_mp_dll.lib;PerformanceProfilerDll.lib;%(AdditionalDependencies)</AdditionalDependencies>
      <Profile>true</Profile>
      <DelayLoadDLLs>$(CudaDlls);PerformanceProfilerDll.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
    </Link>
    <Lib>
      <AdditionalLibraryDirectories>$(OutDir);$(ACML_PATH)\lib;$(CudaLibPath);$(CuDnnLibPath)</AdditionalLibraryDirectories>
      <AdditionalDependencies>$(CuDnnLib)</AdditionalDependencies>
    </Lib>
    <CudaCompile>
      <TargetMachinePlatform>64</TargetMachinePlatform>
      <GenerateLineInfo>true</GenerateLineInfo>
      <AdditionalCompilerOptions>/WX</AdditionalCompilerOptions>
      <CodeGeneration>$(CudaCodeGen)</CodeGeneration>
      <FastMath>true</FastMath>
      <GPUDebugInfo>false</GPUDebugInfo>
      <GPUDebugInfo Condition="'$(CNTK_CUDA_DEVICE_DEBUGINFO)'=='1'">true</GPUDebugInfo>
      <AdditionalOptions>-Xcudafe "--diag_suppress=field_without_dll_interface" %(AdditionalOptions)</AdditionalOptions>
    </CudaCompile>
    <PostBuildEvent>
      <Command>for %%l in ($(CudaDlls)) do if exist "$(CudaPath)\bin\%%l" xcopy /D /Y "$(CudaPath)\bin\%%l*" "$(OutputPath)"
if exist "$(CuDnnDll)" (xcopy /Y "$(CuDnnDll)" "$(OutputPath)")
</Command>
    </PostBuildEvent>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
    <ClCompile>
      <PreprocessorDefinitions>_DEBUG; %(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>Disabled</Optimization>
      <MinimalRebuild>false</MinimalRebuild>
    </ClCompile>
    <Link>
    </Link>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
    <ClCompile>
      <Optimization>MaxSpeed</Optimization>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <PreprocessorDefinitions>NDEBUG; %(PreprocessorDefinitions)</PreprocessorDefinitions>
      <EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
      <FloatingPointExceptions>false</FloatingPointExceptions>
      <AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
    </ClCompile>
    <Link>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
      <OptimizeReferences>true</OptimizeReferences>
    </Link>
    <CudaCompile>
      <HostDebugInfo>false</HostDebugInfo>
    </CudaCompile>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClInclude Include="..\Common\Include\File.h" />
    <ClInclude Include="..\Common\Include\fileutil.h" />
    <ClInclude Include="CntkBatchNormalization.cuh" />
    <ClInclude Include="ColumnQuantizer.h" />
    <ClInclude Include="CommonMatrix.h" />
    <ClInclude Include="cudabasetypes.h" />
    <ClInclude Include="cudadevice.h" />
    <ClInclude Include="cudalattice.h" />
    <ClInclude Include="cudalatticeops.cu.h" />
    <ClInclude Include="cudalatticeops.h" />
    <ClInclude Include="cudalib.h" />
    <ClInclude Include="CuDnnCommon.h" />
    <ClInclude Include="CuDnnFactories.h" />
    <ClInclude Include="GPUDataTransferer.h" />
    <ClInclude Include="GPUTensor.h" />
    <ClInclude Include="latticefunctionskernels.h" />
    <ClInclude Include="Convolution.cuh" />
    <ClInclude Include="TensorOps.h" />
    <ClInclude Include="ValueQuantizer.h" />
    <None Include="GPUWatcher.h">
      <FileType>CppHeader</FileType>
    </None>
    <None Include="GPUSparseMatrix.h">
      <FileType>CppHeader</FileType>
    </None>
    <ClInclude Include="Helpers.h" />
    <ClInclude Include="MatrixQuantizerGPU.h" />
    <ClInclude Include="stdafx.h" />
    <ClInclude Include="targetver.h" />
  </ItemGroup>
  <ItemGroup>
    <CudaCompile Include="CuDnnBatchNormalization.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <CudaCompile Include="GPUTensor.cu">
      <InterleaveSourceInPTX Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</InterleaveSourceInPTX>
      <Keep Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</Keep>
      <FileType>CppCode</FileType>
    </CudaCompile>
    <CudaCompile Include="cudalatticeops.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <CudaCompile Include="GPUSparseMatrix.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <CudaCompile Include="GPUWatcher.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <ClCompile Include="..\Common\ExceptionWithCallStack.cpp" />
    <ClCompile Include="cudalattice.cpp" />
    <ClCompile Include="cudalib.cpp" />
    <CudaCompile Include="CuDnnConvolutionEngine.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <ClCompile Include="CuDnnCommon.cpp" />
    <ClCompile Include="GPUDataTransferer.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader>Create</PrecompiledHeader>
    </ClCompile>
    <CudaCompile Include="MatrixQuantizerGPU.cu">
      <FileType>CppCode</FileType>
    </CudaCompile>
    <CudaCompile Include="MatrixQuantizer_kernel.cu">
      <ExcludedFromBuild>true</ExcludedFromBuild>
      <FileType>CppCode</FileType>
    </CudaCompile>
  </ItemGroup>
  <ItemGroup>
    <CudaCompile Include="GPUMatrix.cu">
      <FileType>CppCode</FileType>
      <Keep Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</Keep>
      <InterleaveSourceInPTX Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</InterleaveSourceInPTX>
    </CudaCompile>
    <CudaCompile Include="GPUMatrixCUDAKernels.cuh">
      <ExcludedFromBuild>true</ExcludedFromBuild>
      <FileType>CppCode</FileType>
    </CudaCompile>
  </ItemGroup>
  <ItemGroup>
    <None Include="GPUMatrix.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
    <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA $(CudaVersion).targets" />
  </ImportGroup>
  <Target Name="CheckDependencies">
    <Error Condition="!Exists('$(CUB_PATH)')" Text="CNTK requires the NVIDIA CUB library to build. Please see https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-Windows#cuda for installation instructions." />
    <Warning Condition="!Exists('$(CUDNN_PATH)')" Text="CNTK requires the NVIDIA cuDNN library to build. Please see https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-on-Windows#cuda for installation instructions." />
  </Target>
</Project>
back to top