Skip to content

Commit db08da6

Browse files
added in win-arm64 (#6813)
* added in win-arm64 * fixed MKL arm64 cmake issue * right helix queue * added in win-arm64 * fixed MKL arm64 cmake issue * right helix queue * fixing arm tests * makes x64 test detection better * change test label * fixed onnx files not being included * added new win-arm baselines * baseline changes * fixed build issue * fixed test * one more basleine * fixed pack for mkl redist * .NET update
1 parent aeb1ab8 commit db08da6

File tree

145 files changed

+29630
-11
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+29630
-11
lines changed

.vsts-dotnet-ci.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,30 @@ jobs:
131131

132132
- template: /build/ci/job-template.yml
133133
parameters:
134-
name: Windows_x64_Net60
134+
architecture: arm64
135+
name: Windows_cross_arm64_Net6
136+
buildScript: build.cmd
137+
customMatrixes:
138+
Debug_Build:
139+
_configuration: Debug
140+
_config_short: DI
141+
_includeBenchmarkData: false
142+
_targetFramework: net6.0
143+
Release_Build:
144+
_configuration: Release
145+
_config_short: RI
146+
_includeBenchmarkData: false
147+
_targetFramework: net6.0
148+
innerLoop: true
149+
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
150+
pool:
151+
name: NetCore-Public
152+
demands: ImageOverride -equals 1es-windows-2019-open
153+
helixQueue: windows.11.arm64.open
154+
155+
- template: /build/ci/job-template.yml
156+
parameters:
157+
name: Windows_x64_Net6
135158
buildScript: build.cmd
136159
innerLoop: true
137160
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
@@ -164,7 +187,7 @@ jobs:
164187

165188
- template: /build/ci/job-template.yml
166189
parameters:
167-
name: Windows_x86_Net60
190+
name: Windows_x86_Net6
168191
architecture: x86
169192
buildScript: build.cmd
170193
innerLoop: true

build/vsts-ci.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ stages:
6363
displayName: Build Native Assets
6464

6565
- task: PublishBuildArtifacts@1
66-
displayName: Publish Linux package assets
66+
displayName: Publish Linux_arm package assets
6767
inputs:
6868
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
6969
artifactName: pkgassets
@@ -86,7 +86,7 @@ stages:
8686
displayName: Build Native Assets
8787

8888
- task: PublishBuildArtifacts@1
89-
displayName: Publish Linux package assets
89+
displayName: Publish Linux_arm64 package assets
9090
inputs:
9191
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
9292
artifactName: pkgassets
@@ -133,14 +133,38 @@ stages:
133133
displayName: Build Native Assets
134134

135135
- task: PublishBuildArtifacts@1
136-
displayName: Publish macOS package assets
136+
displayName: Publish macOS_M1 package assets
137+
inputs:
138+
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
139+
artifactName: pkgassets
140+
artifactType: container
141+
142+
- template: /eng/common/templates/steps/generate-sbom.yml
143+
144+
################################################################################
145+
- job: Windows_arm64
146+
################################################################################
147+
pool:
148+
name: NetCore1ESPool-Internal
149+
demands: ImageOverride -equals windows.vs2019.amd64
150+
steps:
151+
# Only build native assets to avoid conflicts.
152+
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
153+
displayName: Build Native Assets
154+
155+
- task: PublishBuildArtifacts@1
156+
displayName: Publish Windows_arm64 package assets
137157
inputs:
138158
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
139159
artifactName: pkgassets
140160
artifactType: container
141161

142162
- template: /eng/common/templates/steps/generate-sbom.yml
143163

164+
# Terminate all dotnet build processes.
165+
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
166+
displayName: Dotnet Server Shutdown
167+
144168
################################################################################
145169
- job: Windows_x86
146170
################################################################################

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
7979
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
8080
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
81-
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
81+
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
8282
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
8383
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
8484
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>

eng/pkg/CommonPackage.props

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,20 @@
1313
<Visible>false</Visible>
1414
<Link>%(Filename)%(Extension)</Link>
1515
</Content>
16+
1617
<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
1718
Condition="'$(PlatformTarget)' == 'x86'">
1819
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1920
<Visible>false</Visible>
2021
<Link>%(Filename)%(Extension)</Link>
2122
</Content>
23+
24+
<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
25+
Condition="'$(PlatformTarget)' == 'arm64'">
26+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
27+
<Visible>false</Visible>
28+
<Link>%(Filename)%(Extension)</Link>
29+
</Content>
2230
</ItemGroup>
2331

2432
</Project>

eng/pkg/Pack.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,21 @@
5858
<Visible>false</Visible>
5959
<Link>%(Filename)%(Extension)</Link>
6060
</Content>
61+
6162
<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
6263
Condition="'$(PlatformTarget)' == 'x86'">
6364
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
6465
<Visible>false</Visible>
6566
<Link>%(Filename)%(Extension)</Link>
6667
</Content>
68+
69+
<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
70+
Condition="'$(PlatformTarget)' == 'arm64'">
71+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
72+
<Visible>false</Visible>
73+
<Link>%(Filename)%(Extension)</Link>
74+
</Content>
75+
6776
</ItemGroup>
6877

6978
<!-- Work around https://github.com/NuGet/Home/issues/6091 -->

src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
<!--The path needed to be hardcoded for this to work on our publishing CI-->
8787
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
8888
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
89+
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
8990
</ItemGroup>
9091
</Target>
9192

src/Microsoft.ML.CpuMath/build/netstandard2.0/Microsoft.ML.CpuMath.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@
1919
<Visible>false</Visible>
2020
<Link>%(Filename)%(Extension)</Link>
2121
</Content>
22+
23+
<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
24+
Condition="'$(PlatformTarget)' == 'arm64'">
25+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
26+
<Visible>false</Visible>
27+
<Link>%(Filename)%(Extension)</Link>
28+
</Content>
2229
</ItemGroup>
2330

2431
</Project>

src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<PackageLicenseExpression></PackageLicenseExpression>
88
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
99
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
10+
<!-- No native dependencies on arm so causes nuget package failure -->
11+
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
1012
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
1113
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
1214
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>

src/Microsoft.ML.Recommender/Microsoft.ML.Recommender.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<!--The path needed to be hardcoded for this to work on our publishing CI-->
2727
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
2828
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
29+
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
2930
</ItemGroup>
3031
</Target>
3132
</Project>

src/Microsoft.ML/Microsoft.ML.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<!--The path needed to be hardcoded for this to work on our publishing CI-->
6767
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
6868
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
69+
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
6970
</ItemGroup>
7071
</Target>
7172
</Project>

0 commit comments

Comments
 (0)