From 6be3fb332b1ea398287c0e5a533617c3c1aeddc5 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 10:13:35 -0700 Subject: [PATCH 1/7] Setup testing 1. --- eng/pipelines/coreclr/perf_slow.yml | 154 ++++++++++++++-------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index f9232de84640c2..7a09677fad27be 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -99,37 +99,37 @@ extends: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: - # build coreclr and libraries - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml - buildConfig: release - platforms: - - Linux_arm64 - - windows_arm64 - jobParameters: - testGroup: perf + # # build coreclr and libraries + # - template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml + # buildConfig: release + # platforms: + # - Linux_arm64 + # - windows_arm64 + # jobParameters: + # testGroup: perf - # build mono on wasm - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Browser_wasm - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: wasm - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Browser Wasm Artifacts - artifactName: BrowserWasm - archiveType: zip - archiveExtension: .zip + # # build mono on wasm + # - template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Browser_wasm + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: wasm + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: Browser Wasm Artifacts + # artifactName: BrowserWasm + # archiveType: zip + # archiveExtension: .zip - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -174,55 +174,55 @@ extends: logicalmachine: 'perfampere' timeoutInMinutes: 500 - # run coreclr Linux arm64 ampere microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - Linux_arm64 - container: ubuntu-18.04-cross-arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfampere' - timeoutInMinutes: 500 + # # run coreclr Linux arm64 ampere microbenchmarks perf job + # - template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: coreclr + # platforms: + # - Linux_arm64 + # container: ubuntu-18.04-cross-arm64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perfampere' + # timeoutInMinutes: 500 - # run coreclr Windows arm64 microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfsurf' + # # run coreclr Windows arm64 microbenchmarks perf job + # - template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: coreclr + # platforms: + # - windows_arm64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perfsurf' - # run coreclr Windows arm64 ampere microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfampere' + # # run coreclr Windows arm64 ampere microbenchmarks perf job + # - template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: coreclr + # platforms: + # - windows_arm64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perfampere' # Uncomment once we fix https://github.com/dotnet/performance/issues/1950 # # run coreclr linux crossgen perf job From 6cd30afa048ceaaa99b9d2b74a3758e6e15cc561 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 10:22:26 -0700 Subject: [PATCH 2/7] Try: Add crossrootfsDir to the crossrootfs directory for arm64. --- eng/pipelines/coreclr/perf_slow.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index 7a09677fad27be..70729980ddf3c1 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -142,6 +142,7 @@ extends: - Linux_arm64 jobParameters: buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + crossrootfsDir: '/crossrootfs/arm64' nameSuffix: AOT isOfficialBuild: false extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml From 5f2d7f90fa6d673074532ab7a153bca32f86cf27 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 10:24:20 -0700 Subject: [PATCH 3/7] Try to fix yaml stage depends on unknown job. --- eng/pipelines/coreclr/perf_slow.yml | 60 ++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index 70729980ddf3c1..98f0479010bf11 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -99,37 +99,37 @@ extends: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: - # # build coreclr and libraries - # - template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml - # buildConfig: release - # platforms: - # - Linux_arm64 - # - windows_arm64 - # jobParameters: - # testGroup: perf + # build coreclr and libraries + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml + buildConfig: release + platforms: + - Linux_arm64 + - windows_arm64 + jobParameters: + testGroup: perf - # # build mono on wasm - # - template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Browser_wasm - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: wasm - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: Browser Wasm Artifacts - # artifactName: BrowserWasm - # archiveType: zip - # archiveExtension: .zip + # build mono on wasm + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Browser_wasm + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: wasm + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Browser Wasm Artifacts + artifactName: BrowserWasm + archiveType: zip + archiveExtension: .zip - template: /eng/pipelines/common/platform-matrix.yml parameters: From ce76efacffb455d4307bba0b391f111adf85e7c4 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 11:19:12 -0700 Subject: [PATCH 4/7] Try moving crossrootfsDir up a parameter group. --- eng/pipelines/coreclr/perf_slow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index 98f0479010bf11..c1e96049e39961 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -136,13 +136,13 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: release container: ubuntu-18.04-cross-arm64 + crossrootfsDir: '/crossrootfs/arm64' runtimeFlavor: mono runtimeVariant: 'llvmaot' platforms: - Linux_arm64 jobParameters: buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - crossrootfsDir: '/crossrootfs/arm64' nameSuffix: AOT isOfficialBuild: false extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml From a1fa63279ab55f5d31b090031d88ffc32bf73481 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 11:49:10 -0700 Subject: [PATCH 5/7] remove jobParameters from the condition for crossrootfsDir. --- eng/pipelines/common/global-build-job.yml | 4 ++-- eng/pipelines/coreclr/perf_slow.yml | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml index 171d71960cdbf1..b38e965a50efdc 100644 --- a/eng/pipelines/common/global-build-job.yml +++ b/eng/pipelines/common/global-build-job.yml @@ -83,10 +83,10 @@ jobs: - name: _crossBuildPropertyArg value: /p:CrossBuild=${{ parameters.crossBuild }} - - ${{ if ne(parameters.jobParameters.crossrootfsDir, '') }}: + - ${{ if ne(parameters.crossrootfsDir, '') }}: # This is only required for cross builds. - name: ROOTFS_DIR - value: ${{ parameters.jobParameters.crossrootfsDir }} + value: ${{ parameters.crossrootfsDir }} - name: _cxx11Parameter ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.archType, 'arm64')) }}: diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index c1e96049e39961..017e63c6591248 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -136,13 +136,14 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: release container: ubuntu-18.04-cross-arm64 - crossrootfsDir: '/crossrootfs/arm64' + crossrootfsDir: '/crossrootfs/arm64' runtimeFlavor: mono runtimeVariant: 'llvmaot' platforms: - Linux_arm64 jobParameters: buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + crossrootfsDir: '/crossrootfs/arm64' nameSuffix: AOT isOfficialBuild: false extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml From 743b8d87772270119ea5ff8a59e8baed16e888d1 Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 12:07:45 -0700 Subject: [PATCH 6/7] Try only passing crossrootfsDir into jobParameters. --- eng/pipelines/coreclr/perf_slow.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index 017e63c6591248..b400690821e789 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -136,7 +136,6 @@ extends: jobTemplate: /eng/pipelines/common/global-build-job.yml buildConfig: release container: ubuntu-18.04-cross-arm64 - crossrootfsDir: '/crossrootfs/arm64' runtimeFlavor: mono runtimeVariant: 'llvmaot' platforms: From e46f2beaeda18d89a14bd48439222e52dbd6d12b Mon Sep 17 00:00:00 2001 From: Parker Bibus Date: Thu, 13 Oct 2022 12:34:49 -0700 Subject: [PATCH 7/7] Undo testing setup. --- eng/pipelines/coreclr/perf_slow.yml | 94 ++++++++++++++--------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/eng/pipelines/coreclr/perf_slow.yml b/eng/pipelines/coreclr/perf_slow.yml index b400690821e789..041fdf6671709f 100644 --- a/eng/pipelines/coreclr/perf_slow.yml +++ b/eng/pipelines/coreclr/perf_slow.yml @@ -175,55 +175,55 @@ extends: logicalmachine: 'perfampere' timeoutInMinutes: 500 - # # run coreclr Linux arm64 ampere microbenchmarks perf job - # - template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: coreclr - # platforms: - # - Linux_arm64 - # container: ubuntu-18.04-cross-arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perfampere' - # timeoutInMinutes: 500 + # run coreclr Linux arm64 ampere microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - Linux_arm64 + container: ubuntu-18.04-cross-arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfampere' + timeoutInMinutes: 500 - # # run coreclr Windows arm64 microbenchmarks perf job - # - template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: coreclr - # platforms: - # - windows_arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perfsurf' + # run coreclr Windows arm64 microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfsurf' - # # run coreclr Windows arm64 ampere microbenchmarks perf job - # - template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: coreclr - # platforms: - # - windows_arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perfampere' + # run coreclr Windows arm64 ampere microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfampere' # Uncomment once we fix https://github.com/dotnet/performance/issues/1950 # # run coreclr linux crossgen perf job