[PERF] Enable daily perf runs on cloud VMs (#84203)
authorCameron Aavik <99771732+caaavik-msft@users.noreply.github.com>
Mon, 3 Apr 2023 21:14:01 +0000 (07:14 +1000)
committerGitHub <noreply@github.com>
Mon, 3 Apr 2023 21:14:01 +0000 (07:14 +1000)
* Add perf run for cloud VMs

* Ensure x64 is built

* Use non-open queue for internal runs

eng/pipelines/coreclr/perf_slow.yml
eng/testing/performance/performance-setup.ps1
eng/testing/performance/performance-setup.sh

index 3f0e103..23ac03b 100644 (file)
@@ -103,6 +103,8 @@ extends:
             jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
             buildConfig: release
             platforms:
+            - linux_x64
+            - windows_x64
             - linux_arm64
             - windows_arm64
             jobParameters:
@@ -217,7 +219,25 @@ extends:
               projectFile: microbenchmarks.proj
               runKind: micro
               runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
-              logicalmachine: 'perfampere' 
+              logicalmachine: 'perfampere'
+        
+        # run coreclr cloudvm microbenchmarks perf job
+        # this run is added temporarily for measuring AVX-512 performance
+        - template: /eng/pipelines/common/platform-matrix.yml
+          parameters:
+            jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
+            buildConfig: release
+            runtimeFlavor: coreclr
+            platforms:
+            - linux_x64
+            - windows_x64
+            jobParameters:
+              testGroup: perf
+              liveLibrariesBuildConfig: Release
+              projectFile: microbenchmarks.proj
+              runKind: micro
+              runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
+              logicalmachine: 'cloudvm'
 
       # Uncomment once we fix https://github.com/dotnet/performance/issues/1950
       # # run coreclr linux crossgen perf job
index e4fc1bc..706737d 100644 (file)
@@ -51,6 +51,7 @@ if ($Internal) {
         "perfsurf" { $Queue = "Windows.10.Arm64.Perf.Surf"  }
         "perfpixel4a" { $Queue = "Windows.10.Amd64.Pixel.Perf" }
         "perfampere" { $Queue = "Windows.Server.Arm64.Perf" }
+        "cloudvm" { $Queue = "Windows.10.Amd64" }
         Default { $Queue = "Windows.10.Amd64.19H1.Tiger.Perf" }
     }
     $PerfLabArguments = "--upload-to-perflab-container"
index 35d354e..4a69212 100755 (executable)
@@ -255,6 +255,8 @@ if [[ "$internal" == true ]]; then
         queue=OSX.1015.Amd64.Iphone.Perf
     elif [[ "$logical_machine" == "perfampere" ]]; then
         queue=Ubuntu.2004.Arm64.Perf
+    elif [[ "$logical_machine" == "cloudvm" ]]; then
+        queue=Ubuntu.1804.Amd64
     elif [[ "$architecture" == "arm64" ]]; then
         queue=Ubuntu.1804.Arm64.Perf
     else