machinelearning/Directory.Build.props

126 строки
6.1 KiB
Plaintext
Исходник Обычный вид История

2018-05-04 03:22:00 +03:00
<Project>
<!-- Directory.Build.props contains the common build settings for all projects in the repo. -->
<Import Project="build/BranchInfo.props" />
<Import Project="build/Dependencies.props" />
<PropertyGroup>
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
<Configurations>Debug;Release;Debug-Intrinsics;Release-Intrinsics</Configurations>
2018-05-04 03:22:00 +03:00
<Platform Condition="'$(Platform)'==''">AnyCPU</Platform>
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
<NativeTargetArchitecture Condition="'$(NativeTargetArchitecture)' == ''">$(TargetArchitecture)</NativeTargetArchitecture>
2018-05-04 03:22:00 +03:00
<PlatformConfig>$(Platform).$(Configuration)</PlatformConfig>
</PropertyGroup>
<PropertyGroup>
<RestoreSources>
https://api.nuget.org/v3/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
2018-05-04 03:22:00 +03:00
</RestoreSources>
</PropertyGroup>
<!-- Common repo directories -->
<PropertyGroup>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<SourceDir>$(RepoRoot)src/</SourceDir>
<PkgDir>$(RepoRoot)pkg/</PkgDir>
2018-05-04 03:22:00 +03:00
<!-- Output directories -->
<BinDir Condition="'$(BinDir)'==''">$(RepoRoot)bin/</BinDir>
<BaseOutputPath Condition="'$(BaseOutputPath)'==''">$(BinDir)</BaseOutputPath>
<ObjDir Condition="'$(ObjDir)'==''">$(BinDir)obj/</ObjDir>
<RootIntermediateOutputPath Condition="'$(RootIntermediateOutputPath)'==''">$(ObjDir)</RootIntermediateOutputPath>
2018-05-04 03:22:00 +03:00
<IntermediateOutputRootPath Condition="'$(IntermediateOutputRootPath)' == ''">$(RootIntermediateOutputPath)$(PlatformConfig)\</IntermediateOutputRootPath>
2018-05-04 03:22:00 +03:00
<IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(IntermediateOutputRootPath)$(MSBuildProjectName)\</IntermediateOutputPath>
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(IntermediateOutputPath)</BaseIntermediateOutputPath>
2018-05-04 03:22:00 +03:00
<OutputPath Condition="'$(OutputPath)'==''">$(BaseOutputPath)$(PlatformConfig)\$(MSBuildProjectName)\</OutputPath>
<PackageAssetsPath>$(ObjDir)/packages/</PackageAssetsPath>
<PackageOutputPath Condition="'$(PackageOutputPath)'=='' and '$(NonShippingPackage)' == 'true'">$(BinDir)packages_noship/</PackageOutputPath>
<PackageOutputPath Condition="'$(PackageOutputPath)'==''">$(BinDir)packages/</PackageOutputPath>
<NativeOutputPath>$(BaseOutputPath)$(NativeTargetArchitecture).$(Configuration)\Native\</NativeOutputPath>
<!-- Input Directories -->
<PackagesDir>$(DotNetRestorePackagesPath)</PackagesDir>
<PackagesDir Condition="'$(PackagesDir)'==''">$(RepoRoot)packages/</PackagesDir>
<RestorePackagesPath>$(PackagesDir)</RestorePackagesPath>
<ToolsDir Condition="'$(ToolsDir)'==''">$(RepoRoot)Tools/</ToolsDir>
</PropertyGroup>
<Import Project="$(ToolsDir)BuildVersion.targets"
Condition="Exists('$(ToolsDir)BuildVersion.targets')" />
<!-- Version properties -->
<PropertyGroup>
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
<AssemblyFileVersion Condition="'$(AssemblyFileVersion)'==''">$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</AssemblyFileVersion>
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion>
<IncludeBuildNumberInPackageVersion Condition="'$(StabilizePackageVersion)' != 'true'">true</IncludeBuildNumberInPackageVersion>
<VersionSuffix></VersionSuffix>
<VersionSuffix Condition="'$(StabilizePackageVersion)' != 'true'">$(PreReleaseLabel)</VersionSuffix>
<VersionSuffix Condition="'$(IncludeBuildNumberInPackageVersion)' == 'true'">$(VersionSuffix)-$(BuildNumberMajor)-$(BuildNumberMinor)</VersionSuffix>
</PropertyGroup>
<!-- SourceLink properties used by dotnet/buildtools - need to be set before importing $(ToolsDir)versioning.props -->
<PropertyGroup>
<UseSourceLink>true</UseSourceLink>
<GitHubRepositoryName>machinelearning</GitHubRepositoryName>
</PropertyGroup>
<!--
Source code control properties used by the .NET Core SDK to inject SCC info into the NuGet package.
In future versions, these will be used for SourceLink and to generate AssemblyInfo.
-->
<PropertyGroup>
<PrivateRepositoryUrl>https://github.com/dotnet/$(GitHubRepositoryName)</PrivateRepositoryUrl>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<SourceRevisionId>$(LatestCommit)</SourceRevisionId>
</PropertyGroup>
2018-05-04 03:22:00 +03:00
<Import Project="$(ToolsDir)versioning.props"
Condition="Exists('$(ToolsDir)versioning.props') and '$(DisableImportVersioningProps)' != 'true'" />
2018-05-04 03:22:00 +03:00
<!-- Language configuration -->
<PropertyGroup>
<LangVersion>latest</LangVersion> <!-- default to allowing all language features -->
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<PropertyGroup>
<RunningOnUnix Condition="'$(OS)'!='Windows_NT'">true</RunningOnUnix>
</PropertyGroup>
<!-- Signing properties -->
<PropertyGroup>
<AssemblyOriginatorKeyFile Condition="'$(AssemblyOriginatorKeyFile)' == ''">$(ToolsDir)Open.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
</PropertyGroup>
Port C# hardware intrinsics APIs for SSE from SIMD native algorithms (#562) * Implemented SSE support and software fallbacks for key intrinsics * Implemented unit tests for key intrinsics with passing results * Implemented performance tests on some key intrinsics with BenchmarkDotNet * Fixed array pinning issues and solved unreported latency of NativeDotSU * Minor syntax change for style consistency in fixed statements * Implemented performance tests for all key intrinsics * Simulated user performance with large inputs * Allow CpuMath to reference C# Hardware Intrinsics APIs. Need to multi-target CpuMath for netstandard and netcoreapp2.1. Also, since we are going to move CpuMath into its own NuGet package, remove the dependency from CpuMath to the ML.Core project. * Added files for the hierarchical framework to prepare for multi-targetting. Note: It will not compile until Microsoft.ML.CpuMath.csproj is changed to adapt to multi-targetting. * Removed the redundant CpuMathUtils.cs file. * Cleaned up the primitive build constant for featuring intrinsics * Created a new helper class holding C# implementations of SSE intrinsics to simplify CpuMathUtils.DotNetCoreApp.cs * Minor change in naming of variables * Implemented more SSE intrinsics * Changed version number of .NET Core App as target framework * Cleaned up unit test file that needs to be split into two for multi-targeting * Fixed seed in performance tests * Cleaned up unreferenced namespaces * Split unit tests into two projects for multi-targetting * Cleaned up new intrinsics that are not yet tested to prepare for PR * Minor style changes * Added the solution package that includes multi-targeting with UseIntrinsics attribute * Included all files in the CpuMath project for display in Visual Studio regardless of target framework * Removed irrelevant build line from CpuMath - due to working in Mac OSX * Response to PR review * Removed deprecated src\Native\CpuMath working folder * Removed unnecessary references in unit tests * Minor style changes * Fixed SLN file * Fixed build error with netcoreapp3.0 not supported * Minor style fixes * Skip netcoreapp3.0 projects when not building for intrinsics * Exclude netcoreapp3.0 tests from running by overriding VSTest target * Second response to PR feedback * Removed NETCoreAppMaximumVersion tags with modification * Moved VSTest targets to Empty.targets, and parsed -Intrinsics configs for Native build * Modified VectorSum to fix perf results * Modified VectorSum to comply with latest C# language updates * Response to PR feedback: added a comment and removed unnecessary MSBuild tags * Made private functions for SSE intrinsics inline
2018-08-06 19:39:54 +03:00
<PropertyGroup>
<UseIntrinsics Condition="'$(UseIntrinsics)' == ''">$(Configuration.EndsWith('-Intrinsics'))</UseIntrinsics>
</PropertyGroup>
<!-- Need to explicitly set these properties for the -Intrinsics configurations becuase they are typically based off 'Debug' or 'Release' configs -->
<!-- Taken from https://github.com/dotnet/sdk/blob/073c98b92c81066c6c2e17c3674adbb6e833409a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props#L41-L47 -->
<PropertyGroup Condition="'$(Configuration)' == 'Debug-Intrinsics'">
<DebugSymbols>true</DebugSymbols>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release-Intrinsics'">
<Optimize>true</Optimize>
</PropertyGroup>
Port C# hardware intrinsics APIs for SSE from SIMD native algorithms (#562) * Implemented SSE support and software fallbacks for key intrinsics * Implemented unit tests for key intrinsics with passing results * Implemented performance tests on some key intrinsics with BenchmarkDotNet * Fixed array pinning issues and solved unreported latency of NativeDotSU * Minor syntax change for style consistency in fixed statements * Implemented performance tests for all key intrinsics * Simulated user performance with large inputs * Allow CpuMath to reference C# Hardware Intrinsics APIs. Need to multi-target CpuMath for netstandard and netcoreapp2.1. Also, since we are going to move CpuMath into its own NuGet package, remove the dependency from CpuMath to the ML.Core project. * Added files for the hierarchical framework to prepare for multi-targetting. Note: It will not compile until Microsoft.ML.CpuMath.csproj is changed to adapt to multi-targetting. * Removed the redundant CpuMathUtils.cs file. * Cleaned up the primitive build constant for featuring intrinsics * Created a new helper class holding C# implementations of SSE intrinsics to simplify CpuMathUtils.DotNetCoreApp.cs * Minor change in naming of variables * Implemented more SSE intrinsics * Changed version number of .NET Core App as target framework * Cleaned up unit test file that needs to be split into two for multi-targeting * Fixed seed in performance tests * Cleaned up unreferenced namespaces * Split unit tests into two projects for multi-targetting * Cleaned up new intrinsics that are not yet tested to prepare for PR * Minor style changes * Added the solution package that includes multi-targeting with UseIntrinsics attribute * Included all files in the CpuMath project for display in Visual Studio regardless of target framework * Removed irrelevant build line from CpuMath - due to working in Mac OSX * Response to PR review * Removed deprecated src\Native\CpuMath working folder * Removed unnecessary references in unit tests * Minor style changes * Fixed SLN file * Fixed build error with netcoreapp3.0 not supported * Minor style fixes * Skip netcoreapp3.0 projects when not building for intrinsics * Exclude netcoreapp3.0 tests from running by overriding VSTest target * Second response to PR feedback * Removed NETCoreAppMaximumVersion tags with modification * Moved VSTest targets to Empty.targets, and parsed -Intrinsics configs for Native build * Modified VectorSum to fix perf results * Modified VectorSum to comply with latest C# language updates * Response to PR feedback: added a comment and removed unnecessary MSBuild tags * Made private functions for SSE intrinsics inline
2018-08-06 19:39:54 +03:00
<PropertyGroup>
<CustomAfterMicrosoftCommonTargets>$(RepoRoot)build\AfterCommonTargets.targets</CustomAfterMicrosoftCommonTargets>
</PropertyGroup>
2018-05-04 03:22:00 +03:00
</Project>