Allow CpuMath to reference C# Hardware Intrinsics APIs. (#542)

* Allow CpuMath to reference C# Hardware Intrinsics APIs.

Need to multi-target CpuMath for netstandard and netcoreapp3.0.  Also, since we are going to move CpuMath into its own NuGet package, remove the dependency from CpuMath to the ML.Core project.

Add a build parameter to enable building against .NET Core 3.0's Runtime Intrinsics APIs.

Fix #534

* Respond to PR feedback.
This commit is contained in:
Eric Erhardt 2018-07-19 11:48:24 -05:00 коммит произвёл GitHub
Родитель 839bd6d96c
Коммит a307c6a7f2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
8 изменённых файлов: 168 добавлений и 10 удалений

Просмотреть файл

@ -14,6 +14,7 @@
<PropertyGroup>
<RestoreSources>
https://api.nuget.org/v3/index.json;
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
</RestoreSources>
</PropertyGroup>
@ -21,6 +22,7 @@
<PropertyGroup>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<SourceDir>$(RepoRoot)src/</SourceDir>
<PkgDir>$(RepoRoot)pkg/</PkgDir>
<!-- Output directories -->
<BinDir Condition="'$(BinDir)'==''">$(RepoRoot)bin/</BinDir>

Просмотреть файл

@ -82,116 +82,228 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.LightGBM", "sr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Ensemble", "src\Microsoft.ML.Ensemble\Microsoft.ML.Ensemble.csproj", "{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft.ML.CpuMath", "Microsoft.ML.CpuMath", "{BF66A305-DF10-47E4-8D81-42049B149D2B}"
ProjectSection(SolutionItems) = preProject
pkg\Microsoft.ML.CpuMath\Microsoft.ML.CpuMath.nupkgproj = pkg\Microsoft.ML.CpuMath\Microsoft.ML.CpuMath.nupkgproj
pkg\Microsoft.ML.CpuMath\Microsoft.ML.CpuMath.symbols.nupkgproj = pkg\Microsoft.ML.CpuMath\Microsoft.ML.CpuMath.symbols.nupkgproj
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug-Intrinsics|Any CPU = Debug-Intrinsics|Any CPU
Release|Any CPU = Release|Any CPU
Release-Intrinsics|Any CPU = Release-Intrinsics|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release|Any CPU.Build.0 = Release|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{A6CA6CC6-5D7C-4D7F-A0F5-35E14B383B0A}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release|Any CPU.Build.0 = Release|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release|Any CPU.Build.0 = Release|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU
{46F2F967-C23F-4076-858D-33F7DA9BD2DA}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release|Any CPU.Build.0 = Release|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release|Any CPU.Build.0 = Release|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release|Any CPU.Build.0 = Release|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release|Any CPU.Build.0 = Release|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{65D0603E-B96C-4DFC-BDD1-705891B88C18}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Debug|Any CPU.Build.0 = Debug|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.ActiveCfg = Release|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Release|Any CPU.Build.0 = Release|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{707BB22C-7E5F-497A-8C2F-74578F675705}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release|Any CPU.Build.0 = Release|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{2911A286-ECA4-4730-97A9-DA1FEE2DED97}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Release|Any CPU.Build.0 = Release|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{7288C084-11C0-43BE-AC7F-45DCFEAEEBF6}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release|Any CPU.Build.0 = Release|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{F1CAE3AB-4F86-4BC0-BBA8-C4A58E7E8A4A}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release|Any CPU.Build.0 = Release|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{58E06735-1129-4DD5-86E0-6BBFF049AAD9}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Release|Any CPU.Build.0 = Release|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{2F636A2C-062C-49F4-85F3-60DCADAB6A43}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release|Any CPU.Build.0 = Release|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{64BC22D3-1E76-41EF-94D8-C79E471FF2DD}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release|Any CPU.Build.0 = Release|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{B5989C06-4FFA-46C1-9D85-9366B34AB0A2}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Release|Any CPU.Build.0 = Release|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{6B047E09-39C9-4583-96F3-685D84CA4117}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release|Any CPU.Build.0 = Release|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{3769FCC3-9AFF-4C37-97E9-6854324681DF}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release|Any CPU.Build.0 = Release|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{B7B593C5-FB8C-4ADA-A638-5B53B47D087E}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Release|Any CPU.Build.0 = Release|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{16BB1454-2108-40E5-B3A6-594654005303}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.ActiveCfg = Release|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release|Any CPU.Build.0 = Release|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{55C8122D-79EA-48AB-85D0-EB551FC1C427}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release|Any CPU.Build.0 = Release|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{7A9DB75F-2CA5-4184-9EF5-1F17EB39483F}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release|Any CPU.Build.0 = Release|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{64F40A0D-D4C2-4AA7-8470-E9CC437827E4}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug|Any CPU.Build.0 = Debug|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release|Any CPU.Build.0 = Release|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{362A98CF-FBF7-4EBB-A11B-990BBF845B15}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release|Any CPU.Build.0 = Release|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{3DEB504D-7A07-48CE-91A2-8047461CB3D4}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug|Any CPU.Build.0 = Debug|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.ActiveCfg = Release|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release|Any CPU.Build.0 = Release|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release|Any CPU.Build.0 = Release|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -227,6 +339,7 @@ Global
{3DEB504D-7A07-48CE-91A2-8047461CB3D4} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
{BF66A305-DF10-47E4-8D81-42049B149D2B} = {D3D38B03-B557-484D-8348-8BADEE4DF592}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {41165AF1-35BB-4832-A189-73060F82B01D}

Просмотреть файл

@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk" DefaultTargets="Pack">
<PropertyGroup>
<TargetFramework Condition="'$(UseIntrinsics)' != 'true'">netstandard2.0</TargetFramework>
<TargetFrameworks Condition="'$(UseIntrinsics)' == 'true'">netstandard2.0;netcoreapp3.0</TargetFrameworks>
<PackageDescription>Microsoft.ML.CpuMath contains optimized math routines for ML.NET.</PackageDescription>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
<!-- This is only needed until https://github.com/dotnet/corefx/issues/31064 is addressed. -->
<PackageReference Include="System.Runtime.Intrinsics.Experimental" Version="4.6.0-preview1-26708-04" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,5 @@
<Project DefaultTargets="Pack">
<Import Project="Microsoft.ML.CpuMath.nupkgproj" />
</Project>

Просмотреть файл

@ -6,6 +6,8 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.nupkgproj" />
<PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
<PackageReference Include="System.Reflection.Emit.Lightweight" Version="$(SystemReflectionEmitLightweightPackageVersion)" />
<PackageReference Include="System.Threading.Tasks.Dataflow" Version="$(SystemThreadingTasksDataflowPackageVersion)" />

0
pkg/_._ Normal file
Просмотреть файл

Просмотреть файл

@ -1,14 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<IncludeInPackage>Microsoft.ML</IncludeInPackage>
<Configurations>Debug;Release;Debug-Intrinsics;Release-Intrinsics</Configurations>
<UseIntrinsics Condition="'$(UseIntrinsics)' == ''">$(Configuration.EndsWith('-Intrinsics'))</UseIntrinsics>
<TargetFramework Condition="'$(UseIntrinsics)' != 'true'">netstandard2.0</TargetFramework>
<TargetFrameworks Condition="'$(UseIntrinsics)' == 'true'">netstandard2.0;netcoreapp3.0</TargetFrameworks>
<IncludeInPackage>Microsoft.ML.CpuMath</IncludeInPackage>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>CORECLR</DefineConstants>
<DefineConstants>$(DefineConstants);CORECLR;PRIVATE_CONTRACTS</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Microsoft.ML.Core\Microsoft.ML.Core.csproj" />
<Compile Include="..\Microsoft.ML.Core\Utilities\Contracts.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.0'">
<!-- This is only needed until https://github.com/dotnet/corefx/issues/31064 is addressed. -->
<PackageReference Include="System.Runtime.Intrinsics.Experimental" Version="4.6.0-preview1-26708-04" />
</ItemGroup>
</Project>

Просмотреть файл

@ -10,8 +10,12 @@
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
<!-- Target that builds all the native binaries in the Native folder -->
<Target Name="Build" DependsOnTargets="BuildNativeUnix;BuildNativeWindows;PreparePackageAssets" />
<Target Name="Build" DependsOnTargets="BuildNativeUnix;BuildNativeWindows;PreparePackageAssets" />
<PropertyGroup>
<PlaceholderFile>$(PkgDir)_._</PlaceholderFile>
</PropertyGroup>
<PropertyGroup Condition="'$(OS)' != 'Windows_NT'">
<GenerateVersionSourceFile>true</GenerateVersionSourceFile>
<NativeVersionSourceFile>$(BaseIntermediateOutputPath)version.c</NativeVersionSourceFile>
@ -68,19 +72,29 @@
<PackageRid>$(PackageRid)-$(TargetArchitecture)</PackageRid>
</PropertyGroup>
<ItemGroup>
<ItemGroup Condition="'$(UseIntrinsics)' != 'true'">
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)CpuMathNative$(NativeLibExtension)"
RelativePath="Microsoft.ML\runtimes\$(PackageRid)\native" />
RelativePath="Microsoft.ML.CpuMath\runtimes\$(PackageRid)\native" />
</ItemGroup>
<ItemGroup Condition="'$(UseIntrinsics)' == 'true'">
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)CpuMathNative$(NativeLibExtension)"
RelativePath="Microsoft.ML.CpuMath\runtimes\$(PackageRid)\nativeassets\netstandard2.0" />
<NativePackageAsset Include="$(PlaceholderFile)"
RelativePath="Microsoft.ML.CpuMath\runtimes\$(PackageRid)\nativeassets\netcoreapp3.0" />
</ItemGroup>
<ItemGroup>
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)FastTreeNative$(NativeLibExtension)"
RelativePath="Microsoft.ML\runtimes\$(PackageRid)\native" />
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)LdaNative$(NativeLibExtension)"
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)LdaNative$(NativeLibExtension)"
RelativePath="Microsoft.ML\runtimes\$(PackageRid)\native" />
<NativePackageAsset Include="$(NativeAssetsBuiltPath)\$(NativeLibPrefix)FactorizationMachineNative$(NativeLibExtension)"
RelativePath="Microsoft.ML\runtimes\$(PackageRid)\native" />
</ItemGroup>
<ItemGroup>
<NativePackageAsset Condition="'$(OS)' == 'Windows_NT' OR '$(StripNativeSymbols)' == 'True'"
<NativePackageAsset Condition="('$(OS)' == 'Windows_NT' OR '$(StripNativeSymbols)' == 'True')
AND '%(NativePackageAsset.Identity)' != '$(PlaceholderFile)'"
Include="@(NativePackageAsset->'%(RootDir)%(Directory)%(Filename)$(NativeLibSymbolExtension)')" />
</ItemGroup>