diff --git a/Directory.Build.props b/Directory.Build.props
index a37097204f..73144201c7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -14,6 +14,7 @@
https://api.nuget.org/v3/index.json;
+ https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
@@ -21,6 +22,7 @@
$(MSBuildThisFileDirectory)
$(RepoRoot)src/
+ $(RepoRoot)pkg/
$(RepoRoot)bin/
diff --git a/Microsoft.ML.sln b/Microsoft.ML.sln
index ab1f133fdb..6ad93c3886 100644
--- a/Microsoft.ML.sln
+++ b/Microsoft.ML.sln
@@ -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}
diff --git a/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.nupkgproj b/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.nupkgproj
new file mode 100644
index 0000000000..918729d99d
--- /dev/null
+++ b/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.nupkgproj
@@ -0,0 +1,14 @@
+
+
+
+ netstandard2.0
+ netstandard2.0;netcoreapp3.0
+ Microsoft.ML.CpuMath contains optimized math routines for ML.NET.
+
+
+
+
+
+
+
+
diff --git a/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.symbols.nupkgproj b/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.symbols.nupkgproj
new file mode 100644
index 0000000000..360980c2c3
--- /dev/null
+++ b/pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.symbols.nupkgproj
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/pkg/Microsoft.ML/Microsoft.ML.nupkgproj b/pkg/Microsoft.ML/Microsoft.ML.nupkgproj
index 2886b39ad3..fc409ae21f 100644
--- a/pkg/Microsoft.ML/Microsoft.ML.nupkgproj
+++ b/pkg/Microsoft.ML/Microsoft.ML.nupkgproj
@@ -6,6 +6,8 @@
+
+
diff --git a/pkg/_._ b/pkg/_._
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.csproj b/src/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.csproj
index 62ba4f3a6a..bde7ae89f5 100644
--- a/src/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.csproj
+++ b/src/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.csproj
@@ -1,14 +1,22 @@
-
+
- netstandard2.0
- Microsoft.ML
+ Debug;Release;Debug-Intrinsics;Release-Intrinsics
+ $(Configuration.EndsWith('-Intrinsics'))
+
+ netstandard2.0
+ netstandard2.0;netcoreapp3.0
+ Microsoft.ML.CpuMath
true
- CORECLR
+ $(DefineConstants);CORECLR;PRIVATE_CONTRACTS
-
+
+
+
+
+
diff --git a/src/Native/build.proj b/src/Native/build.proj
index c7f4f2386e..41611a24ff 100644
--- a/src/Native/build.proj
+++ b/src/Native/build.proj
@@ -10,8 +10,12 @@
-
+
+
+ $(PkgDir)_._
+
+
true
$(BaseIntermediateOutputPath)version.c
@@ -68,19 +72,29 @@
$(PackageRid)-$(TargetArchitecture)
-
+
+ RelativePath="Microsoft.ML.CpuMath\runtimes\$(PackageRid)\native" />
+
+
+
+
+
+
+
-
-