From bb7cf9a0615367d3c93ca4211856b63782f0cbd6 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 17 Jun 2021 17:16:56 -0700 Subject: [PATCH 01/84] bring up WASM AOT microbenchmarks run --- eng/pipelines/coreclr/perf.yml | 20 +++++++++++++++++++- eng/pipelines/coreclr/templates/perf-job.yml | 16 +++++++++------- eng/testing/performance/performance-setup.sh | 11 ++++++++++- 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index e125f17c36f35..70bead5d99b21 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -94,7 +94,7 @@ jobs: archiveType: zip archiveExtension: .zip - #run mono wasm microbenchmarks perf job + #run mono wasm interpreter (default) microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? @@ -113,6 +113,24 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'javascriptcore' + #run mono wasm AOT microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index 5347d8578b550..057156c35fbf0 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -54,9 +54,9 @@ jobs: - ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveLibrariesBuildConfig) }} - ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: - ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - - ${{ if eq(parameters.runtimeType, 'wasm') }}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} - - ${{ if eq(parameters.codeGenType, 'AOT')}}: + - ${{ if eq(parameters.runtimeType, 'wasm')}}: + - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} + - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: - ${{ 'build_Android_arm64_release_AndroidMono' }} @@ -69,9 +69,11 @@ jobs: ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.runtimeType, 'AndroidMono')) }}: ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --monodotnet $(Build.SourcesDirectory)/.dotnet-mono - ${{ if eq(parameters.runtimeType, 'wasm') }}: + ${{ if and(eq(parameters.runtimeType, 'wasm'), ne(parameters.codeGenType, 'AOT')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --wasm $(librariesDownloadDir)/bin/wasm --javascriptengine ${{ parameters.javascriptEngine }} - ${{ if eq(parameters.codeGenType, 'AOT') }}: + ${{ if and(eq(parameters.runtimeType, 'wasm'), eq(parameters.codeGenType, 'AOT')) }}: + extraSetupParameters: --architecture ${{ parameters.archType }} --wasm $(librariesDownloadDir)/bin/wasm --wasmaot --javascriptengine ${{ parameters.javascriptEngine }} + ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --monoaot $(librariesDownloadDir)/bin/aot ${{ if and(eq(parameters.runtimeType, 'coreclr'), ne(parameters.osSubGroup, '_musl')) }}: extraSetupParameters: --corerootdirectory $(Build.SourcesDirectory)/artifacts/tests/coreclr/${{ parameters.osGroup }}.${{ parameters.archType }}.Release/Tests/Core_Root --architecture ${{ parameters.archType }} @@ -128,8 +130,8 @@ jobs: - script: "mkdir $(librariesDownloadDir)/bin/wasm;unzip -o $(librariesDownloadDir)/BrowserWasm/artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm.6.0.0-ci.nupkg data/* runtimes/* -d $(librariesDownloadDir)/bin/wasm;cp src/mono/wasm/runtime-test.js $(librariesDownloadDir)/bin/wasm/runtime-test.js;find $(librariesDownloadDir)/bin/wasm -type f -exec chmod 664 {} \\;" displayName: "Create wasm directory (Linux)" - # Download AOT - - ${{ if eq(parameters.codeGenType, 'AOT') }}: + # Download mono AOT + - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm')) }}: - template: /eng/pipelines/common/download-artifact-step.yml parameters: unpackFolder: $(librariesDownloadDir)/LinuxMonoAOT diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 671c627a0f6cf..63f2030380217 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -124,6 +124,10 @@ while (($# > 0)); do wasm_runtime_loc=$2 shift 2 ;; + --wasmaot) + wasmaot=true + shift + ;; --compare) compare=true shift 1 @@ -158,6 +162,7 @@ while (($# > 0)); do echo " --internal If the benchmarks are running as an official job." echo " --monodotnet Pass the path to the mono dotnet for mono performance testing." echo " --wasm Path to the unpacked wasm runtime pack." + echo " --wasmaot Indivate run on wasm aot echo " --latestdotnet --dotnet-versions will not be specified. --dotnet-versions defaults to LKG version in global.json " echo " --alpine Set for runs on Alpine" echo "" @@ -264,7 +269,11 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" + if[ "$wasmaot" == "true" ]]; then + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode aot --runtimeSrcDir $wasm_runtime_loc" + else + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" + fi fi if [[ "$mono_dotnet" != "" ]] && [[ "$monoaot" == "false" ]]; then From 6c65033b53b5b960f0c7f90651456be4a8fee76c Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 17 Jun 2021 17:16:56 -0700 Subject: [PATCH 02/84] bring up WASM AOT microbenchmarks run --- eng/pipelines/coreclr/perf.yml | 20 +++++++++++++++++++- eng/pipelines/coreclr/templates/perf-job.yml | 16 +++++++++------- eng/testing/performance/performance-setup.sh | 12 +++++++++++- 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index e125f17c36f35..f8224c05f93ec 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -94,7 +94,7 @@ jobs: archiveType: zip archiveExtension: .zip - #run mono wasm microbenchmarks perf job + #run mono wasm (default) microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? @@ -113,6 +113,24 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'javascriptcore' + #run mono wasm AOT microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index 5347d8578b550..057156c35fbf0 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -54,9 +54,9 @@ jobs: - ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveLibrariesBuildConfig) }} - ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: - ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - - ${{ if eq(parameters.runtimeType, 'wasm') }}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} - - ${{ if eq(parameters.codeGenType, 'AOT')}}: + - ${{ if eq(parameters.runtimeType, 'wasm')}}: + - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} + - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: - ${{ 'build_Android_arm64_release_AndroidMono' }} @@ -69,9 +69,11 @@ jobs: ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.runtimeType, 'AndroidMono')) }}: ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --monodotnet $(Build.SourcesDirectory)/.dotnet-mono - ${{ if eq(parameters.runtimeType, 'wasm') }}: + ${{ if and(eq(parameters.runtimeType, 'wasm'), ne(parameters.codeGenType, 'AOT')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --wasm $(librariesDownloadDir)/bin/wasm --javascriptengine ${{ parameters.javascriptEngine }} - ${{ if eq(parameters.codeGenType, 'AOT') }}: + ${{ if and(eq(parameters.runtimeType, 'wasm'), eq(parameters.codeGenType, 'AOT')) }}: + extraSetupParameters: --architecture ${{ parameters.archType }} --wasm $(librariesDownloadDir)/bin/wasm --wasmaot --javascriptengine ${{ parameters.javascriptEngine }} + ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm')) }}: extraSetupParameters: --architecture ${{ parameters.archType }} --monoaot $(librariesDownloadDir)/bin/aot ${{ if and(eq(parameters.runtimeType, 'coreclr'), ne(parameters.osSubGroup, '_musl')) }}: extraSetupParameters: --corerootdirectory $(Build.SourcesDirectory)/artifacts/tests/coreclr/${{ parameters.osGroup }}.${{ parameters.archType }}.Release/Tests/Core_Root --architecture ${{ parameters.archType }} @@ -128,8 +130,8 @@ jobs: - script: "mkdir $(librariesDownloadDir)/bin/wasm;unzip -o $(librariesDownloadDir)/BrowserWasm/artifacts/packages/Release/Shipping/Microsoft.NETCore.App.Runtime.Mono.browser-wasm.6.0.0-ci.nupkg data/* runtimes/* -d $(librariesDownloadDir)/bin/wasm;cp src/mono/wasm/runtime-test.js $(librariesDownloadDir)/bin/wasm/runtime-test.js;find $(librariesDownloadDir)/bin/wasm -type f -exec chmod 664 {} \\;" displayName: "Create wasm directory (Linux)" - # Download AOT - - ${{ if eq(parameters.codeGenType, 'AOT') }}: + # Download mono AOT + - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm')) }}: - template: /eng/pipelines/common/download-artifact-step.yml parameters: unpackFolder: $(librariesDownloadDir)/LinuxMonoAOT diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 671c627a0f6cf..860fd4588ee64 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -124,6 +124,10 @@ while (($# > 0)); do wasm_runtime_loc=$2 shift 2 ;; + --wasmaot) + wasmaot=true + shift + ;; --compare) compare=true shift 1 @@ -158,6 +162,7 @@ while (($# > 0)); do echo " --internal If the benchmarks are running as an official job." echo " --monodotnet Pass the path to the mono dotnet for mono performance testing." echo " --wasm Path to the unpacked wasm runtime pack." + echo " --wasmaot Indicate wasm aot" echo " --latestdotnet --dotnet-versions will not be specified. --dotnet-versions defaults to LKG version in global.json " echo " --alpine Set for runs on Alpine" echo "" @@ -264,7 +269,11 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" + if[ "$wasmaot" == "true" ]]; then + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode aot --runtimeSrcDir $wasm_runtime_loc" + else + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" + fi fi if [[ "$mono_dotnet" != "" ]] && [[ "$monoaot" == "false" ]]; then @@ -316,3 +325,4 @@ Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$fram Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_variable false Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false +Write-PipelineSetVariable -name "runtimeSrcDir" -value "$wasm_runtime_loc" -is_multi_job_variable false From 3d86c77f200794fae205ad2b3d543615ab5cf219 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 14:00:55 -0700 Subject: [PATCH 03/84] adding diagnostice log for testing --- eng/testing/performance/performance | 1 + eng/testing/performance/performance-setup.sh | 1 + 2 files changed, 2 insertions(+) create mode 160000 eng/testing/performance/performance diff --git a/eng/testing/performance/performance b/eng/testing/performance/performance new file mode 160000 index 0000000000000..522aa7d909f6d --- /dev/null +++ b/eng/testing/performance/performance @@ -0,0 +1 @@ +Subproject commit 522aa7d909f6d505a07d7a3b294434ec2b1afe19 diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c3e6e6b2c3123..b0e7401307508 100644 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +echo "diagnostic loc: start running performance-setup.sh" source_directory=$BUILD_SOURCESDIRECTORY core_root_directory= From 810ad2e0b5b4c4ed403ed5e52af0a3856c610e53 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 14:06:41 -0700 Subject: [PATCH 04/84] commend out some jobs while testing to save lab run resource --- eng/pipelines/coreclr/perf.yml | 636 ++++++++++++++++----------------- 1 file changed, 318 insertions(+), 318 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index f8224c05f93ec..a34fd0d4e4f41 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -148,341 +148,341 @@ jobs: 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 - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz +# # build mono for AOT +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/common/global-build-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_x64 +# jobParameters: +# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) +# nameSuffix: AOT +# isOfficialBuild: false +# extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml +# extraStepsParameters: +# rootFolder: '$(Build.SourcesDirectory)/artifacts/' +# includeRootFolder: true +# displayName: AOT Mono Artifacts +# artifactName: LinuxMonoAOTx64 +# archiveExtension: '.tar.gz' +# archiveType: tar +# tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/common/global-build-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_arm64 +# jobParameters: +# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) +# nameSuffix: AOT +# isOfficialBuild: false +# extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml +# extraStepsParameters: +# rootFolder: '$(Build.SourcesDirectory)/artifacts/' +# includeRootFolder: true +# displayName: AOT Mono Artifacts +# artifactName: LinuxMonoAOTarm64 +# archiveExtension: '.tar.gz' +# archiveType: tar +# tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz +# # build mono Android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/common/global-build-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Android_arm64 +# jobParameters: +# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) +# nameSuffix: AndroidMono +# isOfficialBuild: false +# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml +# extraStepsParameters: +# rootFolder: '$(Build.SourcesDirectory)/artifacts/' +# includeRootFolder: true +# displayName: Android Mono Artifacts +# artifactName: AndroidMonoarm64 +# archiveExtension: '.tar.gz' +# archiveType: tar +# tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 +# # build mono +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/mono/templates/build-job.yml +# runtimeFlavor: mono +# buildConfig: release +# platforms: +# - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' +# # run mono android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Windows_x64 +# jobParameters: +# testGroup: perf +# runtimeType: AndroidMono +# projectFile: android_scenarios.proj +# runKind: android_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono interpreter perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'Interpreter' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run mono wasm microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'wasm' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'v8' +# # run mono wasm microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# codeGenType: 'wasm' +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# javascriptEngine: 'v8' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono aot microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: aot +# platforms: +# - Linux_x64 +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'AOT' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' -# run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' -# run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' -# 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' From fbefa489b9d73e29c3a3d24f65264217dfd30b3e Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 14:06:41 -0700 Subject: [PATCH 05/84] commend out some jobs while testing to save lab run resource --- eng/pipelines/coreclr/perf.yml | 474 ++++++++++++++++----------------- 1 file changed, 237 insertions(+), 237 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index f8224c05f93ec..730993140f82c 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -32,105 +32,105 @@ schedules: jobs: -- ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}: +#- ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}: - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_arm64 - - Linux_x64 +# # build mono +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/mono/templates/build-job.yml +# runtimeFlavor: mono +# buildConfig: release +# platforms: +# - Linux_arm64 +# - Linux_x64 - # 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 - - Linux_x64 - 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 +# - Linux_x64 +# jobParameters: +# testGroup: perf - # run arm64 interpreter jobs for mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +# # run arm64 interpreter jobs for mono +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'Interpreter' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' - # 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 - #run mono wasm (default) microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'wasm' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' +# #run mono wasm (default) microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# codeGenType: 'wasm' +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# javascriptEngine: 'javascriptcore' - #run mono wasm AOT microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' +# #run mono wasm AOT microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# codeGenType: 'AOT' +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -333,156 +333,156 @@ jobs: runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' -# run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' -# run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' -# 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' From 7fb5cbfd234ff4ec24b6644646da9f21429dfe2d Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 14:48:21 -0700 Subject: [PATCH 06/84] Add WASM AOT in not scheduled run --- eng/pipelines/coreclr/perf.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 61bbbd0fcd690..b8b2973af8bf9 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -314,6 +314,25 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' + # run mono wasm AOT microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'v8' + # run mono aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: From fce658c5531a964fcf1f139810dd612ed18d7aea Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 14:51:24 -0700 Subject: [PATCH 07/84] Only run selected jobs --- eng/pipelines/coreclr/perf.yml | 152 ++++++++++++++++----------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index b8b2973af8bf9..3ebe321317005 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -32,28 +32,28 @@ schedules: jobs: -#- ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}: +- ${{ if and(ne(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'Schedule')) }}: -# # build mono -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/mono/templates/build-job.yml -# runtimeFlavor: mono -# buildConfig: release -# platforms: -# - Linux_arm64 -# - Linux_x64 + # build mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/mono/templates/build-job.yml + runtimeFlavor: mono + buildConfig: release + platforms: + - Linux_arm64 + - Linux_x64 -# # 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 -# - Linux_x64 -# 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 + - Linux_x64 + jobParameters: + testGroup: perf # # run arm64 interpreter jobs for mono # - template: /eng/pipelines/common/platform-matrix.yml @@ -73,64 +73,64 @@ jobs: # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml # logicalmachine: 'perfa64' -# # 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 -# #run mono wasm (default) microbenchmarks perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# codeGenType: 'wasm' -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# javascriptEngine: 'javascriptcore' + #run mono wasm (default) microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'wasm' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' -# #run mono wasm AOT microbenchmarks perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# codeGenType: 'AOT' -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# javascriptEngine: 'javascriptcore' + #run mono wasm AOT microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries From d78b2988deba00014f43cb9b7d3cf956baf9020c Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 15:41:37 -0700 Subject: [PATCH 08/84] add "ls -l" to print out permission before calling performance-setup.sh --- eng/pipelines/coreclr/templates/run-performance-job.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index de523bb2d99e6..0cc0854053794 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -118,6 +118,10 @@ jobs: displayName: Performance Setup (Windows) condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} + - script: ls -l + displayName: Show permission (Unix) + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + continueOnError: ${{ parameters.continueOnError }} - script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) From 7f155897af41532f07ccbfeb995445283828f23e Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 21 Jun 2021 15:41:37 -0700 Subject: [PATCH 09/84] add "ls -l" to print out permission before calling performance-setup.sh --- eng/pipelines/coreclr/templates/run-performance-job.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index de523bb2d99e6..a8ce7cb43c6e7 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -118,6 +118,10 @@ jobs: displayName: Performance Setup (Windows) condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} + - script: ls -l $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh + displayName: Show permission (Unix) + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + continueOnError: ${{ parameters.continueOnError }} - script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) From 07be3a9b300f4dbac23aeff6ddc0e2d05751dba8 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 22 Jun 2021 16:14:41 -0700 Subject: [PATCH 10/84] Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm". --- eng/pipelines/coreclr/templates/run-performance-job.yml | 4 ---- eng/testing/performance/performance-setup.sh | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index 434060dd16e80..de523bb2d99e6 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -118,10 +118,6 @@ jobs: displayName: Performance Setup (Windows) condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} - - script: ls -l $(Build.SourcesDirectory)/eng/testing/performance;ls -l $(Build.SourcesDirectory)/eng/testing;ls -l $(Build.SourcesDirectory)/eng - displayName: Show permission (Unix) - condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - continueOnError: ${{ parameters.continueOnError }} - script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 35765a4b7b149..8aacf89a24708 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode aot --runtimeSrcDir $wasm_dotnet_path" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode=wasm --runtimeSrcDir $wasm_dotnet_path" --buildTimeout 3600 else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi From 22c3581d04052edbaec6d775c0c106d11384931d Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 22 Jun 2021 16:14:41 -0700 Subject: [PATCH 11/84] Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm". --- eng/pipelines/coreclr/templates/run-performance-job.yml | 4 ---- eng/testing/performance/performance-setup.sh | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index 434060dd16e80..de523bb2d99e6 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -118,10 +118,6 @@ jobs: displayName: Performance Setup (Windows) condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} - - script: ls -l $(Build.SourcesDirectory)/eng/testing/performance;ls -l $(Build.SourcesDirectory)/eng/testing;ls -l $(Build.SourcesDirectory)/eng - displayName: Show permission (Unix) - condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - continueOnError: ${{ parameters.continueOnError }} - script: $(Build.SourcesDirectory)/eng/testing/performance/performance-setup.sh $(IsInternal)$(Interpreter) --framework $(_Framework) --kind ${{ parameters.runKind }} --logicalmachine ${{ parameters.logicalMachine }} ${{ parameters.extraSetupParameters }} displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 35765a4b7b149..764217f3c39f8 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode aot --runtimeSrcDir $wasm_dotnet_path" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir $wasm_dotnet_path" --buildTimeout 3600 else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi From 36f2f79987115fef9c7edeabf7aa65b4f764b951 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 23 Jun 2021 17:08:23 -0700 Subject: [PATCH 12/84] Correct runtimeSrcDir value --- eng/pipelines/coreclr/perf.yml | 700 +++++++++---------- eng/testing/performance/performance-setup.sh | 4 +- 2 files changed, 352 insertions(+), 352 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index cfd7ed9d63ecc..3ab0c6a645404 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -55,82 +55,82 @@ jobs: jobParameters: testGroup: perf -# # run arm64 interpreter jobs for mono -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: mono -# codeGenType: 'Interpreter' -# projectFile: microbenchmarks.proj -# runKind: micro_mono -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' + # run arm64 interpreter jobs for mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' - ## 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 - ##run mono wasm (default) microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'wasm' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm (default) microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'wasm' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ##run mono wasm AOT microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm AOT microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - #- windows_x64 - #- windows_x86 - #- Linux_arm64 - #- Linux_musl_x64 - #- windows_arm64 + - windows_x64 + - windows_x86 + - Linux_arm64 + - Linux_musl_x64 + - windows_arm64 jobParameters: testGroup: perf @@ -169,70 +169,70 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz -# # build mono Android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/common/global-build-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Android_arm64 -# jobParameters: -# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -# nameSuffix: AndroidMono -# isOfficialBuild: false -# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml -# extraStepsParameters: -# rootFolder: '$(Build.SourcesDirectory)/artifacts/' -# includeRootFolder: true -# displayName: Android Mono Artifacts -# artifactName: AndroidMonoarm64 -# archiveExtension: '.tar.gz' -# archiveType: tar -# tarCompression: gz + # build mono Android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Android_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AndroidMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Android Mono Artifacts + artifactName: AndroidMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz # build mono @@ -244,56 +244,56 @@ jobs: platforms: - Linux_x64 -# # run mono android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Windows_x64 -# jobParameters: -# testGroup: perf -# runtimeType: AndroidMono -# projectFile: android_scenarios.proj -# runKind: android_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - ## run mono aot microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: aot - # platforms: - # - Linux_x64 - # - Linux_arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: aot + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -# # run coreclr perftiger 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_x64 -# - windows_x64 -# - windows_x86 -# - Linux_musl_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' + # run coreclr perftiger 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_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -## run coreclr perftiger microbenchmarks pgo perf jobs -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -NoPgo + # run coreclr perftiger microbenchmarks pgo perf jobs + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -NoPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -DynamicPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -DynamicPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -FullPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -FullPgo -# # run coreclr perfowl 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_x64 -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfowl' + # run coreclr perfowl 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_x64 + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfowl' -## run coreclr Linux 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: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' + # run coreclr Linux 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: + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' -## 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 crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + # run coreclr crossgen perf job + - 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 + - windows_x86 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: crossgen_perf.proj + runKind: crossgen_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perftiger' -# # run mono wasm blazor perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# projectFile: blazor_perf.proj -# runKind: blazor_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# additionalSetupParameters: '--latestdotnet' -# logicalmachine: 'perftiger' + # run mono wasm blazor perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + projectFile: blazor_perf.proj + runKind: blazor_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + additionalSetupParameters: '--latestdotnet' + logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index dd5f5966c887d..aa1c101a1bd3c 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir $wasm_dotnet_path --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir $wasm_runtime_loc --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi @@ -325,4 +325,4 @@ Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$fram Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_variable false Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false -Write-PipelineSetVariable -name "runtimeSrcDir" -value "$wasm_dotnet_path" -is_multi_job_variable false +Write-PipelineSetVariable -name "runtimeSrcDir" -value "$wasm_runtime_loc" -is_multi_job_variable false From a6716462ccc3e999b9500e8bafe0b83984aaf238 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 14:55:16 -0700 Subject: [PATCH 13/84] Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD --- eng/pipelines/coreclr/perf.yml | 700 +++++++++---------- eng/testing/performance/performance-setup.sh | 4 +- 2 files changed, 352 insertions(+), 352 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 3ab0c6a645404..cfd7ed9d63ecc 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -55,82 +55,82 @@ jobs: jobParameters: testGroup: perf - # run arm64 interpreter jobs for mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +# # run arm64 interpreter jobs for mono +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'Interpreter' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' - # 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 - #run mono wasm (default) microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'wasm' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' + ##run mono wasm (default) microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: wasm + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: wasm + # codeGenType: 'wasm' + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' + # javascriptEngine: 'javascriptcore' - #run mono wasm AOT microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' + ##run mono wasm AOT microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: wasm + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: wasm + # codeGenType: 'AOT' + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' + # javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_arm64 - - Linux_musl_x64 - - windows_arm64 + #- windows_x64 + #- windows_x86 + #- Linux_arm64 + #- Linux_musl_x64 + #- windows_arm64 jobParameters: testGroup: perf @@ -169,70 +169,70 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz +# # build mono Android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/common/global-build-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Android_arm64 +# jobParameters: +# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) +# nameSuffix: AndroidMono +# isOfficialBuild: false +# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml +# extraStepsParameters: +# rootFolder: '$(Build.SourcesDirectory)/artifacts/' +# includeRootFolder: true +# displayName: Android Mono Artifacts +# artifactName: AndroidMonoarm64 +# archiveExtension: '.tar.gz' +# archiveType: tar +# tarCompression: gz # build mono @@ -244,56 +244,56 @@ jobs: platforms: - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' +# # run mono android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Windows_x64 +# jobParameters: +# testGroup: perf +# runtimeType: AndroidMono +# projectFile: android_scenarios.proj +# runKind: android_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono aot microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: aot + # platforms: + # - Linux_x64 + # - Linux_arm64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'AOT' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' - # run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' - # 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index aa1c101a1bd3c..c5d06cd122276 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -269,8 +269,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path + cp $source_directory $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir $wasm_runtime_loc --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi @@ -325,4 +326,3 @@ Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$fram Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_variable false Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false -Write-PipelineSetVariable -name "runtimeSrcDir" -value "$wasm_runtime_loc" -is_multi_job_variable false From c07ad2d4dc97af4cf395966df3f43a652a0256ac Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 14:55:16 -0700 Subject: [PATCH 14/84] Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD --- eng/pipelines/coreclr/perf.yml | 700 +++++++++---------- eng/testing/performance/performance-setup.sh | 4 +- 2 files changed, 352 insertions(+), 352 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 3ab0c6a645404..cfd7ed9d63ecc 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -55,82 +55,82 @@ jobs: jobParameters: testGroup: perf - # run arm64 interpreter jobs for mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +# # run arm64 interpreter jobs for mono +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'Interpreter' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' - # 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 - #run mono wasm (default) microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'wasm' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' + ##run mono wasm (default) microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: wasm + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: wasm + # codeGenType: 'wasm' + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' + # javascriptEngine: 'javascriptcore' - #run mono wasm AOT microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptEngine: 'javascriptcore' + ##run mono wasm AOT microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: wasm + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: wasm + # codeGenType: 'AOT' + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' + # javascriptEngine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_arm64 - - Linux_musl_x64 - - windows_arm64 + #- windows_x64 + #- windows_x86 + #- Linux_arm64 + #- Linux_musl_x64 + #- windows_arm64 jobParameters: testGroup: perf @@ -169,70 +169,70 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz +# # build mono Android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/common/global-build-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Android_arm64 +# jobParameters: +# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) +# nameSuffix: AndroidMono +# isOfficialBuild: false +# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml +# extraStepsParameters: +# rootFolder: '$(Build.SourcesDirectory)/artifacts/' +# includeRootFolder: true +# displayName: Android Mono Artifacts +# artifactName: AndroidMonoarm64 +# archiveExtension: '.tar.gz' +# archiveType: tar +# tarCompression: gz # build mono @@ -244,56 +244,56 @@ jobs: platforms: - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' +# # run mono android scenarios +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Windows_x64 +# jobParameters: +# testGroup: perf +# runtimeType: AndroidMono +# projectFile: android_scenarios.proj +# runKind: android_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono aot microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: aot + # platforms: + # - Linux_x64 + # - Linux_arm64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'AOT' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' - # run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' - # 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index aa1c101a1bd3c..1299d6538d132 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -269,8 +269,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path + cp -R $source_directory $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir $wasm_runtime_loc --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi @@ -325,4 +326,3 @@ Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$fram Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false Write-PipelineSetVariable -name "MonoDotnet" -value "$using_mono" -is_multi_job_variable false Write-PipelineSetVariable -name "WasmDotnet" -value "$using_wasm" -is_multi_job_variable false -Write-PipelineSetVariable -name "runtimeSrcDir" -value "$wasm_runtime_loc" -is_multi_job_variable false From 82c260d6f1154607715ce8214ac3d0dc8814c903 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 16:46:23 -0700 Subject: [PATCH 15/84] Remove not used parameters in WASM AOT mode and add temperary diagnostic info --- eng/testing/performance/performance-setup.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 1299d6538d132..e03634f672fcd 100644 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -266,12 +266,15 @@ else fi if [[ "$wasm_runtime_loc" != "" ]]; then + echo "***********************************************" + echo "source_directory: $source_directory" + echo "***********************************************" using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path cp -R $source_directory $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi From 946fda7ee81bb33f06b2d487f0fdc289b41b3198 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 16:46:23 -0700 Subject: [PATCH 16/84] Remove not used parameters in WASM AOT mode and add temperary diagnostic info --- eng/testing/performance/performance-setup.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) mode change 100644 => 100755 eng/testing/performance/performance-setup.sh diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh old mode 100644 new mode 100755 index 1299d6538d132..e03634f672fcd --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -266,12 +266,15 @@ else fi if [[ "$wasm_runtime_loc" != "" ]]; then + echo "***********************************************" + echo "source_directory: $source_directory" + echo "***********************************************" using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path cp -R $source_directory $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi From 43686dcb231b59eda3d2e165f6409c03ccae51e0 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 17:15:56 -0700 Subject: [PATCH 17/84] make \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm to be the root directory of runtime repo source --- eng/testing/performance/performance-setup.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 9c0cbfeab3dcd..a2dd3793b089a 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -266,13 +266,10 @@ else fi if [[ "$wasm_runtime_loc" != "" ]]; then - echo "***********************************************" - echo "source_directory: $source_directory" - echo "***********************************************" using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path - cp -R $source_directory $wasm_dotnet_path + cp -r $source_directory/* $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" From 4e1af773fa665b582054887c17328fff09c4b0f7 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 19:25:56 -0700 Subject: [PATCH 18/84] Only copy runtime repo source directory to helix payload when it's wasm aot --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index a2dd3793b089a..dddc7e17ea2ad 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -269,8 +269,8 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path - cp -r $source_directory/* $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then + cp -r $source_directory/* $wasm_dotnet_path # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From be9228e8485e598c3af1ceb21f233a2b91c15efa Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 24 Jun 2021 22:11:15 -0700 Subject: [PATCH 19/84] Add diagnosic log for testing only --- eng/pipelines/coreclr/templates/run-performance-job.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index de523bb2d99e6..2d3e8ff426c80 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -122,6 +122,11 @@ jobs: displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} + # testing only. should be removed in real code + - script: ls $(Build.SourcesDirectory) + displayName: list sources directory + condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) + continueOnError: ${{ parameters.continueOnError }} - script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(SetupArguments) displayName: Run ci setup script # Run perf testing in helix From f747b862e45c6ddccab37da11ce8c8813dbdf7bc Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 09:22:55 -0700 Subject: [PATCH 20/84] omite unneeded runtime repo file from helix payload --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index dddc7e17ea2ad..5a326a156fc59 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - cp -r $source_directory/* $wasm_dotnet_path + cp -r $source_directory/!($source_directory/payload|$source_directory/docs|$source_directory/src/coreclr|$source_directory/src/tests) $wasm_dotnet_path # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From 33413de93dfa6da80660646a16d4e5ce1eb01161 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 09:22:55 -0700 Subject: [PATCH 21/84] omite unneeded runtime repo file from helix payload --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index dddc7e17ea2ad..fb26da9fd0412 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - cp -r $source_directory/* $wasm_dotnet_path + cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From dbf068d52c3bfab3429e29f1a551ee27a833fca6 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 11:18:26 -0700 Subject: [PATCH 22/84] use rsync instead of cp exclusion command since cp doesn't work with sub directory as expected. --- eng/testing/performance/performance-setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index fb26da9fd0412..54d302ecb3773 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,7 +270,8 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path + # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path + rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From ae03847a1ab17a620f8b74a44279cc41a9829849 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 13:41:17 -0700 Subject: [PATCH 23/84] Add temp diagnostic logging, should be removed before PR. --- eng/testing/performance/performance-setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 54d302ecb3773..0024e7f1df1b0 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -272,6 +272,8 @@ if [[ "$wasm_runtime_loc" != "" ]]; then if [[ "$wasmaot" == "true" ]]; then # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests + # diagnostic logging for testing only, should be removed before PR. + ls \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From 2f5903a4ede09f80a4c5594e93cc2e34c4fac12e Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 13:44:33 -0700 Subject: [PATCH 24/84] remove artifacts/obj from helix payload --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 0024e7f1df1b0..30d14bb0a978b 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -271,7 +271,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path - rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests + rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # diagnostic logging for testing only, should be removed before PR. ls \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir From 2c400602d1cd0f49b2fbb016228a64733bd22b73 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 25 Jun 2021 13:44:33 -0700 Subject: [PATCH 25/84] remove artifacts/obj from helix payload --- eng/testing/performance/performance-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 0024e7f1df1b0..2631842ff7b37 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -271,9 +271,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path - rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests + rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # diagnostic logging for testing only, should be removed before PR. - ls \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm + ls $wasm_dotnet_path # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From ada1d35ab48a31c02287db1f0daf4c982ce78819 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 28 Jun 2021 13:16:20 -0700 Subject: [PATCH 26/84] copy back helix job for diagnosis and silent rsync --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c5759245ef889..0ba63e7f156cc 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -271,7 +271,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path - rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # diagnostic logging for testing only, should be removed before PR. du --summarize --human-readable $source_directory/* | sort -h du --summarize --human-readable $source_directory/src/* | sort -h From 2f82b8c4c2c46f91bae9b025e3835aecdd3fbe45 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 28 Jun 2021 15:14:06 -0700 Subject: [PATCH 27/84] For testing only, clone performance repor alicial/hikeMicro-benchmark private branch, which contains copying back helix job folder for diagnosis --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 0ba63e7f156cc..c5c50c8a360f0 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -259,7 +259,7 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + git clone --branch alicial/hikeMicro-benchmark --depth 1 --quiet https://github.com/dotnet/performance $performance_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From 6fa799c1e1f680cd4105c44ca353e94e5a6716d2 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 30 Jun 2021 17:24:59 -0700 Subject: [PATCH 28/84] enable rsync verbose for diagnosis --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c5c50c8a360f0..72df970edc54e 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -271,7 +271,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj + rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # diagnostic logging for testing only, should be removed before PR. du --summarize --human-readable $source_directory/* | sort -h du --summarize --human-readable $source_directory/src/* | sort -h From c0c7d44a76bc44a31b42e368fe47ffc06b8a81ed Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 2 Jul 2021 10:41:41 -0700 Subject: [PATCH 29/84] add --keepfiles for wasm intepreter as well for diagnosis --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 72df970edc54e..bb868a0eda0f4 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -280,7 +280,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # --keepfiles is for diagnostic. Can be removed once it's working. extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi fi From 9ec606c27fe5f01333175d8f5a8580c382d71d08 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 7 Jul 2021 17:25:14 -0700 Subject: [PATCH 30/84] Remove temporary diagnostic code --- .../coreclr/templates/run-performance-job.yml | 5 ----- eng/testing/performance/performance-setup.sh | 13 +++---------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/eng/pipelines/coreclr/templates/run-performance-job.yml b/eng/pipelines/coreclr/templates/run-performance-job.yml index 2d3e8ff426c80..de523bb2d99e6 100644 --- a/eng/pipelines/coreclr/templates/run-performance-job.yml +++ b/eng/pipelines/coreclr/templates/run-performance-job.yml @@ -122,11 +122,6 @@ jobs: displayName: Performance Setup (Unix) condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) continueOnError: ${{ parameters.continueOnError }} - # testing only. should be removed in real code - - script: ls $(Build.SourcesDirectory) - displayName: list sources directory - condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT')) - continueOnError: ${{ parameters.continueOnError }} - script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(SetupArguments) displayName: Run ci setup script # Run perf testing in helix diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index bb868a0eda0f4..df45c00453beb 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -259,7 +259,7 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch alicial/hikeMicro-benchmark --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance $performance_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory @@ -270,17 +270,10 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - # cp -r $source_directory/!(payload|docs|src/coreclr|src/tests) $wasm_dotnet_path rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj - # diagnostic logging for testing only, should be removed before PR. - du --summarize --human-readable $source_directory/* | sort -h - du --summarize --human-readable $source_directory/src/* | sort -h - du --summarize --human-readable $source_directory/payload/* | sort -h - # --wasmEngine and --customRuntimePack are not used under wasm aot. The related info is found by looking under --runtimeSrcDir - # --keepfiles is for diagnostic. Can be removed once it's working. - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS" fi fi From eba0b6e2820ed35990cb88ff433623ab3cb2b877 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 7 Jul 2021 17:37:39 -0700 Subject: [PATCH 31/84] recover all the jobs in the pipeline --- eng/pipelines/coreclr/perf.yml | 700 +++++++++---------- eng/testing/performance/performance-setup.sh | 1 + 2 files changed, 351 insertions(+), 350 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index cfd7ed9d63ecc..f1221939e8134 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -55,82 +55,82 @@ jobs: jobParameters: testGroup: perf -# # run arm64 interpreter jobs for mono -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: mono -# codeGenType: 'Interpreter' -# projectFile: microbenchmarks.proj -# runKind: micro_mono -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' + # run arm64 interpreter jobs for mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildconfig: release + runtimeflavor: mono + platforms: + - linux_arm64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: mono + codegentype: 'interpreter' + projectfile: microbenchmarks.proj + runkind: micro_mono + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' - ## 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 - ##run mono wasm (default) microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'wasm' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm (default) microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm + platforms: + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'wasm' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' - ##run mono wasm AOT microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm + platforms: + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'aot' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - #- windows_x64 - #- windows_x86 - #- Linux_arm64 - #- Linux_musl_x64 - #- windows_arm64 + - windows_x64 + - windows_x86 + - Linux_arm64 + - Linux_musl_x64 + - windows_arm64 jobParameters: testGroup: perf @@ -169,70 +169,70 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz -# # build mono Android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/common/global-build-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Android_arm64 -# jobParameters: -# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -# nameSuffix: AndroidMono -# isOfficialBuild: false -# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml -# extraStepsParameters: -# rootFolder: '$(Build.SourcesDirectory)/artifacts/' -# includeRootFolder: true -# displayName: Android Mono Artifacts -# artifactName: AndroidMonoarm64 -# archiveExtension: '.tar.gz' -# archiveType: tar -# tarCompression: gz + # build mono Android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Android_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AndroidMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Android Mono Artifacts + artifactName: AndroidMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz # build mono @@ -244,56 +244,56 @@ jobs: platforms: - Linux_x64 -# # run mono android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Windows_x64 -# jobParameters: -# testGroup: perf -# runtimeType: AndroidMono -# projectFile: android_scenarios.proj -# runKind: android_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - ## run mono aot microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: aot - # platforms: - # - Linux_x64 - # - Linux_arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: aot + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -# # run coreclr perftiger 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_x64 -# - windows_x64 -# - windows_x86 -# - Linux_musl_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' + # run coreclr perftiger 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_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -## run coreclr perftiger microbenchmarks pgo perf jobs -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -NoPgo +# run coreclr perftiger microbenchmarks pgo perf jobs + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -NoPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -DynamicPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -DynamicPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -FullPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -FullPgo -# # run coreclr perfowl 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_x64 -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfowl' + # run coreclr perfowl 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_x64 + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfowl' -## run coreclr Linux 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: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' +# run coreclr Linux 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: + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' -## 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 crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + # run coreclr crossgen perf job + - 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 + - windows_x86 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: crossgen_perf.proj + runKind: crossgen_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perftiger' -# # run mono wasm blazor perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# projectFile: blazor_perf.proj -# runKind: blazor_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# additionalSetupParameters: '--latestdotnet' -# logicalmachine: 'perftiger' + # run mono wasm blazor perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + projectFile: blazor_perf.proj + runKind: blazor_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + additionalSetupParameters: '--latestdotnet' + logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index df45c00453beb..cec6024c1da5d 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,6 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then + # wasm aot needs some source code from dotnet\runtime repo rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From 68168af12e1d335910485217c3a884b0e4d033f0 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 7 Jul 2021 17:37:39 -0700 Subject: [PATCH 32/84] recover all the jobs in the pipeline --- eng/pipelines/coreclr/perf.yml | 700 +++++++++---------- eng/testing/performance/performance-setup.sh | 1 + 2 files changed, 351 insertions(+), 350 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index cfd7ed9d63ecc..9e405ea6cf820 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -55,82 +55,82 @@ jobs: jobParameters: testGroup: perf -# # run arm64 interpreter jobs for mono -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: mono -# codeGenType: 'Interpreter' -# projectFile: microbenchmarks.proj -# runKind: micro_mono -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' + # run arm64 interpreter jobs for mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildconfig: release + runtimeflavor: mono + platforms: + - linux_arm64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: mono + codegentype: 'interpreter' + projectfile: microbenchmarks.proj + runkind: micro_mono + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' - ## 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 - ##run mono wasm (default) microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'wasm' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm (default) microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + codeGenType: 'wasm' + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptEngine: 'javascriptcore' - ##run mono wasm AOT microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: wasm - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: wasm - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' - # javascriptEngine: 'javascriptcore' + #run mono wasm aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm + platforms: + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'aot' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - #- windows_x64 - #- windows_x86 - #- Linux_arm64 - #- Linux_musl_x64 - #- windows_arm64 + - windows_x64 + - windows_x86 + - Linux_arm64 + - Linux_musl_x64 + - windows_arm64 jobParameters: testGroup: perf @@ -169,70 +169,70 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz -# # build mono Android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/common/global-build-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Android_arm64 -# jobParameters: -# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -# nameSuffix: AndroidMono -# isOfficialBuild: false -# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml -# extraStepsParameters: -# rootFolder: '$(Build.SourcesDirectory)/artifacts/' -# includeRootFolder: true -# displayName: Android Mono Artifacts -# artifactName: AndroidMonoarm64 -# archiveExtension: '.tar.gz' -# archiveType: tar -# tarCompression: gz + # build mono Android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Android_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AndroidMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Android Mono Artifacts + artifactName: AndroidMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz # build mono @@ -244,56 +244,56 @@ jobs: platforms: - Linux_x64 -# # run mono android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Windows_x64 -# jobParameters: -# testGroup: perf -# runtimeType: AndroidMono -# projectFile: android_scenarios.proj -# runKind: android_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - ## run mono aot microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: aot - # platforms: - # - Linux_x64 - # - Linux_arm64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: aot + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -# # run coreclr perftiger 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_x64 -# - windows_x64 -# - windows_x86 -# - Linux_musl_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' + # run coreclr perftiger 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_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -## run coreclr perftiger microbenchmarks pgo perf jobs -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -NoPgo +# run coreclr perftiger microbenchmarks pgo perf jobs + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -NoPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -DynamicPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -DynamicPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -FullPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -FullPgo -# # run coreclr perfowl 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_x64 -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfowl' + # run coreclr perfowl 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_x64 + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfowl' -## run coreclr Linux 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: -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfa64' +# run coreclr Linux 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: + - Linux_arm64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfa64' -## 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 crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + # run coreclr crossgen perf job + - 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 + - windows_x86 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: crossgen_perf.proj + runKind: crossgen_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perftiger' -# # run mono wasm blazor perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# projectFile: blazor_perf.proj -# runKind: blazor_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# additionalSetupParameters: '--latestdotnet' -# logicalmachine: 'perftiger' + # run mono wasm blazor perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + projectFile: blazor_perf.proj + runKind: blazor_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + additionalSetupParameters: '--latestdotnet' + logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index df45c00453beb..cec6024c1da5d 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,6 +270,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then + # wasm aot needs some source code from dotnet\runtime repo rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else From 3d37025866b17ff09220b276115821e745a87d3e Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 9 Jul 2021 11:43:18 -0700 Subject: [PATCH 33/84] copy wasm build drop to the location that aot build expects --- eng/testing/performance/performance-setup.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index cec6024c1da5d..9728493ce8c36 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -271,7 +271,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # wasm aot needs some source code from dotnet\runtime repo - rsync -a --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj + # copy wasm build drop to the location that aot build expects + rsync -aq --progress $wasm_dotnet_path/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS" From fbf96f33b695c38dd3d9a1e1539835e08d3a9622 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 9 Jul 2021 14:37:57 -0700 Subject: [PATCH 34/84] using private perf branch to enable binlog for benchmarkdotnet for diagnosis --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 9728493ce8c36..8fab9f709818d 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -259,7 +259,7 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From 6b64356a3455afe62c044c8742f20e299d36334e Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 9 Jul 2021 14:45:11 -0700 Subject: [PATCH 35/84] comment out none wasm runs temporarily for testing only --- eng/pipelines/coreclr/perf.yml | 588 ++++++++++++++++----------------- 1 file changed, 294 insertions(+), 294 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index b562258433499..399f5da572fb4 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -133,20 +133,20 @@ jobs: javascriptengine: 'javascriptcore' - ${{ 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_x64 - - windows_x64 - - windows_x86 - - Linux_arm64 - - Linux_musl_x64 - - 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_x64 + # - windows_x64 + # - windows_x86 + # - Linux_arm64 + # - Linux_musl_x64 + # - windows_arm64 + # jobParameters: + # testGroup: perf # build mono on wasm - template: /eng/pipelines/common/platform-matrix.yml @@ -169,131 +169,131 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono Android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Android_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AndroidMono + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: Android Mono Artifacts + # artifactName: AndroidMonoarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 + ## build mono + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/mono/templates/build-job.yml + # runtimeFlavor: mono + # buildConfig: release + # platforms: + # - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' + ## run mono android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Windows_x64 + # jobParameters: + # testGroup: perf + # runtimeType: AndroidMono + # projectFile: android_scenarios.proj + # runKind: android_scenarios + # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + # logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono aot microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: aot +# platforms: +# - Linux_x64 +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'AOT' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' -# run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' -# run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' -# 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' From 441df00a8f84651d40f94c641b4e453995568b45 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 9 Jul 2021 14:45:11 -0700 Subject: [PATCH 36/84] comment out none wasm runs temporarily for testing only --- eng/pipelines/coreclr/perf.yml | 570 ++++++++++++++++----------------- 1 file changed, 285 insertions(+), 285 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index b562258433499..882e44342870d 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -140,11 +140,11 @@ jobs: buildConfig: release platforms: - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_arm64 - - Linux_musl_x64 - - windows_arm64 + #- windows_x64 + #- windows_x86 + #- Linux_arm64 + #- Linux_musl_x64 + #- windows_arm64 jobParameters: testGroup: perf @@ -169,131 +169,131 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono Android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Android_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AndroidMono + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: Android Mono Artifacts + # artifactName: AndroidMonoarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 + ## build mono + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/mono/templates/build-job.yml + # runtimeFlavor: mono + # buildConfig: release + # platforms: + # - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' + ## run mono android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Windows_x64 + # jobParameters: + # testGroup: perf + # runtimeType: AndroidMono + # projectFile: android_scenarios.proj + # runKind: android_scenarios + # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + # logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -333,175 +333,175 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono aot microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? +# buildConfig: release +# runtimeFlavor: aot +# platforms: +# - Linux_x64 +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# codeGenType: 'AOT' +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run coreclr perftiger 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_x64 +# - windows_x64 +# - windows_x86 +# - Linux_musl_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' -# run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' -# run coreclr Linux 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: - - Linux_arm64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfa64' +## run coreclr Linux 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: +# - Linux_arm64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfa64' -# 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 crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' From e8c9800d36e82268e3c3bf58451977b8f1f2fdcb Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 09:21:53 -0700 Subject: [PATCH 37/84] add "--keepfiles" to keep diagnostic files --- eng/testing/performance/performance-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 8fab9f709818d..e642bdb0760b2 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -274,9 +274,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects rsync -aq --progress $wasm_dotnet_path/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS --keepfiles" fi fi From 782ede5b70465add20e994f0994e2c4a2916de07 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 13:30:43 -0700 Subject: [PATCH 38/84] fixed $wasm_dotnet_path/artifacts/BrowserWasm/artifacts path --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index e642bdb0760b2..ed4cbb3a1038a 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -273,7 +273,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects - rsync -aq --progress $wasm_dotnet_path/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts + rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS --keepfiles" From d1f6a7f8185bba6f44fc8292da465b114d21ed12 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 14:27:53 -0700 Subject: [PATCH 39/84] instead of copy, move $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* to save space --- eng/testing/performance/performance-setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index ed4cbb3a1038a..c475a3ce39c68 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -273,7 +273,8 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects - rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts + # rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts + mv $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS --keepfiles" From f868dd3356e4e64875a9a32cd3f925fefc1ffeea Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 16:20:31 -0700 Subject: [PATCH 40/84] benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead --- eng/testing/performance/performance-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c475a3ce39c68..c672811fe460b 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -275,9 +275,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # copy wasm build drop to the location that aot build expects # rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts mv $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi fi From a05caa6d48f317a5f0e51b4eda4c1f80636e3e05 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 16:20:31 -0700 Subject: [PATCH 41/84] benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead --- eng/testing/performance/performance-setup.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c475a3ce39c68..a93cb7af6983f 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -273,11 +273,11 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects - # rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts - mv $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts + rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasmS --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi fi From 9ea60b1e7d6c1eed8341de581f2b16b58311983c Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 12 Jul 2021 22:34:43 -0700 Subject: [PATCH 42/84] add executable permission --- eng/testing/performance/performance-setup.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 eng/testing/performance/performance-setup.sh diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh old mode 100644 new mode 100755 From dabc93fc26bf34d08e7f0d493a129bfd1b8e4424 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 14 Jul 2021 10:49:06 -0700 Subject: [PATCH 43/84] Enable other non run to compare --- eng/pipelines/coreclr/perf.yml | 194 ++++++++++++++++----------------- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 882e44342870d..035e0f964e5d6 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -169,48 +169,48 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz ## build mono Android scenarios #- template: /eng/pipelines/common/platform-matrix.yml @@ -235,65 +235,65 @@ jobs: # tarCompression: gz - ## build mono - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/mono/templates/build-job.yml - # runtimeFlavor: mono - # buildConfig: release - # platforms: - # - Linux_x64 + # build mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/mono/templates/build-job.yml + runtimeFlavor: mono + buildConfig: release + platforms: + - Linux_x64 - ## run mono android scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Windows_x64 - # jobParameters: - # testGroup: perf - # runtimeType: AndroidMono - # projectFile: android_scenarios.proj - # runKind: android_scenarios - # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - # logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml From bbfe004edfd158afb0937dfdc9054c86c10f377a Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 14 Jul 2021 10:49:06 -0700 Subject: [PATCH 44/84] Enable other non run to compare --- eng/pipelines/coreclr/perf.yml | 164 ++++++++++++++++----------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 882e44342870d..7235d07ab8097 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -169,48 +169,48 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz ## build mono Android scenarios #- template: /eng/pipelines/common/platform-matrix.yml @@ -235,14 +235,14 @@ jobs: # tarCompression: gz - ## build mono - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/mono/templates/build-job.yml - # runtimeFlavor: mono - # buildConfig: release - # platforms: - # - Linux_x64 + # build mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/mono/templates/build-job.yml + runtimeFlavor: mono + buildConfig: release + platforms: + - Linux_x64 ## run mono android scenarios #- template: /eng/pipelines/common/platform-matrix.yml @@ -260,40 +260,40 @@ jobs: # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml # logicalmachine: 'perfpixel4a' - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml From 7efea96d2ebb23ace40dca1f8346c6de1d05e917 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 14 Jul 2021 20:55:56 -0700 Subject: [PATCH 45/84] remove "--cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh" --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index a93cb7af6983f..eb2fc620d5da5 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -275,7 +275,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # copy wasm build drop to the location that aot build expects rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi From 367e747bb11a9710d5fcc928b461d465b052d7eb Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 16 Jul 2021 13:07:59 -0700 Subject: [PATCH 46/84] fixes per CR --- eng/pipelines/coreclr/templates/perf-job.yml | 2 +- eng/testing/performance/performance-setup.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index 057156c35fbf0..1b430965fbfbb 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -57,7 +57,7 @@ jobs: - ${{ if eq(parameters.runtimeType, 'wasm')}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} + - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: - ${{ 'build_Android_arm64_release_AndroidMono' }} diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index eb2fc620d5da5..f7f9740d02b76 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -233,7 +233,11 @@ if [[ "$mono_dotnet" != "" ]] && [[ "$monointerpreter" == "false" ]]; then fi if [[ "$wasm_runtime_loc" != "" ]]; then - configurations="CompilationMode=wasm RunKind=$kind" + if [[ "$wasmaot" == "true" ]]; then + configurations="CompilationMode=wasm AOT=true RunKind=$kind" + else + configurations="CompilationMode=wasm RunKind=$kind" + fi if [[ "$javascript_engine" == "javascriptcore" ]]; then configurations="$configurations JSEngine=javascriptcore" fi From b97e78896b639982f2e2e481cb4ea443ff26ed18 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 19 Jul 2021 15:28:46 -0700 Subject: [PATCH 47/84] copy EMSDK_PATH to expected location in helix payload --- eng/testing/performance/performance-setup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index f7f9740d02b76..1e37ed9e34a22 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -274,6 +274,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then + # copy $(EMSDK_PATH) to the expect location in helix payload + echo "EMSDK_PATH=$EMSDK_PATH" + rsync -a --progress $EMSDK_PATH/* $wasm_dotnet_path/src/mono/wasm/emsdk # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects From 94ee15e1a9286d26a1f27f1ae902dbff064bee22 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 20 Jul 2021 19:50:58 -0700 Subject: [PATCH 48/84] install emsdk --- eng/testing/performance/performance-setup.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 1e37ed9e34a22..1498e1e3430b3 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -274,9 +274,11 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - # copy $(EMSDK_PATH) to the expect location in helix payload + # install EMSDK if $EMSDK_PATH is not Set + pushd $wasm_dotnet_path/src/mono/wasm/ + make provision-wasm + EMSDK_PATH = $wasm_dotnet_path/src/mono/wasm/emsdk echo "EMSDK_PATH=$EMSDK_PATH" - rsync -a --progress $EMSDK_PATH/* $wasm_dotnet_path/src/mono/wasm/emsdk # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects From cba6f326ced4b3c7c30895c23cb18355df976424 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 20 Jul 2021 21:53:24 -0700 Subject: [PATCH 49/84] fix emsdk path --- eng/testing/performance/performance-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 1498e1e3430b3..5b36892efa069 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -275,9 +275,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then # install EMSDK if $EMSDK_PATH is not Set - pushd $wasm_dotnet_path/src/mono/wasm/ + pushd $source_directory/src/mono/wasm/ make provision-wasm - EMSDK_PATH = $wasm_dotnet_path/src/mono/wasm/emsdk + EMSDK_PATH = $source_directory/src/mono/wasm/emsdk echo "EMSDK_PATH=$EMSDK_PATH" # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj From ce7dbf4a62a8a7735cf81198ef26fe3fb24f9607 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 20 Jul 2021 23:14:46 -0700 Subject: [PATCH 50/84] minor fix --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 5b36892efa069..0ae34d46c626f 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -278,7 +278,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then pushd $source_directory/src/mono/wasm/ make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk - echo "EMSDK_PATH=$EMSDK_PATH" + popd # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj # copy wasm build drop to the location that aot build expects From 79075e3fc47504e65431cd07c5259d9908b79705 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 21 Jul 2021 10:11:27 -0700 Subject: [PATCH 51/84] removed more not used files to reduce helix payload size --- eng/testing/performance/performance-setup.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 0ae34d46c626f..8f7a621108497 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -274,13 +274,14 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path if [[ "$wasmaot" == "true" ]]; then - # install EMSDK if $EMSDK_PATH is not Set + # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. pushd $source_directory/src/mono/wasm/ make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd + rm -r $wasm_dotnet_path\--download-- # wasm aot needs some source code from dotnet\runtime repo - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests # copy wasm build drop to the location that aot build expects rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts From bba68f5372a4bd0be9ff58b551b9c4e1cfcfb312 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 21 Jul 2021 10:15:24 -0700 Subject: [PATCH 52/84] remove more jobs for testing purpose --- eng/pipelines/coreclr/perf.yml | 164 ++++++++++++++++----------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 7235d07ab8097..882e44342870d 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -169,48 +169,48 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz ## build mono Android scenarios #- template: /eng/pipelines/common/platform-matrix.yml @@ -235,14 +235,14 @@ jobs: # tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 + ## build mono + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/mono/templates/build-job.yml + # runtimeFlavor: mono + # buildConfig: release + # platforms: + # - Linux_x64 ## run mono android scenarios #- template: /eng/pipelines/common/platform-matrix.yml @@ -260,40 +260,40 @@ jobs: # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml # logicalmachine: 'perfpixel4a' - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml From 237ceca02d47a201aab1197fb09b52c2c3f84e42 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 22 Jul 2021 15:02:00 +0200 Subject: [PATCH 53/84] Fix the download path --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 8f7a621108497..983bbe5f3f1f5 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -279,7 +279,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd - rm -r $wasm_dotnet_path\--download-- + rm -r $wasm_dotnet_path/__download__ # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests # copy wasm build drop to the location that aot build expects From c6ac2a11e1da5d4b2dd2dca25cf2d8d8ef2907b2 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Fri, 23 Jul 2021 16:02:24 +0200 Subject: [PATCH 54/84] Add BenchmarkDotNet sources to the payload --- eng/testing/performance/performance-setup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 983bbe5f3f1f5..b37faa05e1a36 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -189,6 +189,7 @@ fi payload_directory=$source_directory/Payload performance_directory=$payload_directory/performance +benchmark_directory=$payload_directory/BenchmarkDotNet workitem_directory=$source_directory/workitem extra_benchmark_dotnet_arguments="--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --stopOnFirstError true" perflab_arguments= @@ -264,6 +265,7 @@ if [[ "$run_from_perf_repo" = true ]]; then setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + git clone --branch main --quiet https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From 215591d9df8995445e070968e12078e238cd8d49 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Fri, 23 Jul 2021 20:56:17 +0200 Subject: [PATCH 55/84] Fix __download__ path --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index b37faa05e1a36..af468bd8273eb 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -281,7 +281,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd - rm -r $wasm_dotnet_path/__download__ + rm -r $source_directory/__download__ # wasm aot needs some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests # copy wasm build drop to the location that aot build expects From bccfadde684922c0440d928224c8e7ec7c220fe9 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 23 Jul 2021 14:07:05 -0700 Subject: [PATCH 56/84] set BenchmarkDotNetSources to use benchmarkdotnet built from source --- eng/testing/performance/performance-setup.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index af468bd8273eb..dc43d3fcbc952 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -287,9 +287,10 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # copy wasm build drop to the location that aot build expects rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + # temprary testing only: add --BenchmarkDotNetSources $benchmark_directory to build and use latest benchmarkdotnet from source code, --keepfiles to keep temparary files for diagnostic. Should be removed before merging PR + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --BenchmarkDotNetSources $benchmark_directory --keepfiles " else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --BenchmarkDotNetSources $benchmark_directory --keepfiles" fi fi From 5af1ad44ae475ba13421115eb80c194b19ca0e07 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 23 Jul 2021 17:57:03 -0700 Subject: [PATCH 57/84] use benchmarkdotnet private branch:alicial/tempwasmaot for BenchmarkDotNetSources --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index dc43d3fcbc952..890861219fcd7 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -265,7 +265,7 @@ if [[ "$run_from_perf_repo" = true ]]; then setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory - git clone --branch main --quiet https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory + git clone --branch alicial/tempwasmaot --quiet https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From d49b4598ccdee53ab8d1188f9071172cec00a534 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 23 Jul 2021 21:30:12 -0700 Subject: [PATCH 58/84] use benchmarkdonet private branch with BenchmarkDotNetSources option --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 890861219fcd7..3fd3e2c0bd9f8 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -265,7 +265,7 @@ if [[ "$run_from_perf_repo" = true ]]; then setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory - git clone --branch alicial/tempwasmaot --quiet https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory + git clone --branch master --quiet https://github.com/Lxiamail/BenchmarkDotNet.git $benchmark_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From 50a8fbe60a81e79c6fecce9781ea47da439eaad5 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Sat, 24 Jul 2021 13:22:26 +0200 Subject: [PATCH 59/84] Debug prints --- eng/testing/performance/performance-setup.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 3fd3e2c0bd9f8..0af43853db04e 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -259,13 +259,17 @@ common_setup_arguments="--channel main --queue $queue --build-number $build_numb setup_arguments="--repository https://github.com/$repository --branch $branch --get-perf-hash --commit-sha $commit_sha $common_setup_arguments" if [[ "$run_from_perf_repo" = true ]]; then + echo "Running from perf repo" payload_directory= workitem_directory=$source_directory performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else + echo "Not running from perf repo" git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory git clone --branch master --quiet https://github.com/Lxiamail/BenchmarkDotNet.git $benchmark_directory + + ls $payload_directory docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory From fbda868141eb57af6c9f0d97e02a7eeea22cf0be Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Sat, 24 Jul 2021 16:10:03 +0200 Subject: [PATCH 60/84] Clone B.NET to different location Fix rsync exclusion Add more debug prints --- eng/testing/performance/performance-setup.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 0af43853db04e..e95ebde898fb0 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -189,7 +189,7 @@ fi payload_directory=$source_directory/Payload performance_directory=$payload_directory/performance -benchmark_directory=$payload_directory/BenchmarkDotNet +benchmark_directory=$source_directory/BenchmarkDotNet workitem_directory=$source_directory/workitem extra_benchmark_dotnet_arguments="--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --stopOnFirstError true" perflab_arguments= @@ -287,8 +287,10 @@ if [[ "$wasm_runtime_loc" != "" ]]; then popd rm -r $source_directory/__download__ # wasm aot needs some source code from dotnet\runtime repo - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests + echo "copy source code from dotnet\runtime repo" + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests # copy wasm build drop to the location that aot build expects + echo "copy BrowserWasm/artifacts" rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts # temprary testing only: add --BenchmarkDotNetSources $benchmark_directory to build and use latest benchmarkdotnet from source code, --keepfiles to keep temparary files for diagnostic. Should be removed before merging PR From a4eb5e81c2368c884aaeb01a75af46f885af90de Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Sat, 24 Jul 2021 18:41:50 +0200 Subject: [PATCH 61/84] Move B.NET back, clone upstream B.NET To avoid: [INFO] ERROR(S): [INFO] Option 'BenchmarkDotNetSources' is unknown. --- eng/testing/performance/performance-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index e95ebde898fb0..2c532c217a8dd 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -189,7 +189,7 @@ fi payload_directory=$source_directory/Payload performance_directory=$payload_directory/performance -benchmark_directory=$source_directory/BenchmarkDotNet +benchmark_directory=$payload_directory/BenchmarkDotNet workitem_directory=$source_directory/workitem extra_benchmark_dotnet_arguments="--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --stopOnFirstError true" perflab_arguments= @@ -267,7 +267,7 @@ if [[ "$run_from_perf_repo" = true ]]; then else echo "Not running from perf repo" git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory - git clone --branch master --quiet https://github.com/Lxiamail/BenchmarkDotNet.git $benchmark_directory + git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory ls $payload_directory From d29565b732019f92046dd2b85c8583486d75454e Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Sat, 24 Jul 2021 20:31:48 +0200 Subject: [PATCH 62/84] Use my branch for performance repo --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 2c532c217a8dd..99cac1a4db7f9 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -266,7 +266,7 @@ if [[ "$run_from_perf_repo" = true ]]; then setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else echo "Not running from perf repo" - git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + git clone --branch pr-alicias-branch --depth 1 https://github.com/radekdoulik/performance.git $performance_directory git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory ls $payload_directory From 790a770dfcdcd03683eb10ebe3ae0a98c90d2d70 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Sat, 24 Jul 2021 22:42:34 +0200 Subject: [PATCH 63/84] Revert "set BenchmarkDotNetSources to use benchmarkdotnet built from source" This reverts commit bccfadde684922c0440d928224c8e7ec7c220fe9. To avoid: [INFO] ERROR(S): [INFO] Option 'BenchmarkDotNetSources' is unknown. --- eng/testing/performance/performance-setup.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 99cac1a4db7f9..dbb60ec91c9f1 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -293,10 +293,9 @@ if [[ "$wasm_runtime_loc" != "" ]]; then echo "copy BrowserWasm/artifacts" rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts - # temprary testing only: add --BenchmarkDotNetSources $benchmark_directory to build and use latest benchmarkdotnet from source code, --keepfiles to keep temparary files for diagnostic. Should be removed before merging PR - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --BenchmarkDotNetSources $benchmark_directory --keepfiles " + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --BenchmarkDotNetSources $benchmark_directory --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi fi From 46369bf496c1b34c82c77066a2d25596b3ebfd80 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 26 Jul 2021 17:15:29 +0200 Subject: [PATCH 64/84] Disable one more job I missed in merge --- eng/pipelines/coreclr/perf.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 4cd05bc76c35a..982982d3ada17 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -271,22 +271,22 @@ jobs: # logicalmachine: 'perfpixel4a' # iosLlvmBuild: True - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' +# # run mono microbenchmarks perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: mono +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: mono +# projectFile: microbenchmarks.proj +# runKind: micro_mono +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' ## run mono interpreter perf job #- template: /eng/pipelines/common/platform-matrix.yml From 8a74f16d64703a9aaea7aea61ad9bb9aab1f6ab3 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Mon, 26 Jul 2021 18:48:49 +0200 Subject: [PATCH 65/84] Switch back to nuget packages for BenchmarkDotNet --- eng/testing/performance/performance-setup.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index dbb60ec91c9f1..349f46733c56a 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -267,7 +267,8 @@ if [[ "$run_from_perf_repo" = true ]]; then else echo "Not running from perf repo" git clone --branch pr-alicias-branch --depth 1 https://github.com/radekdoulik/performance.git $performance_directory - git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory + # uncomment to use BenchmarkDotNet sources instead of nuget packages + # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory ls $payload_directory From 3e627f4e268e13f2ae11fc50c2be15fdad8ffc3d Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Mon, 26 Jul 2021 12:00:31 -0700 Subject: [PATCH 66/84] tempararily use pr-alicias-branch to test new fixes --- eng/testing/performance/performance-setup.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 3fd3e2c0bd9f8..db9a8ebd100de 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -264,7 +264,9 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + # git clone --branch alicial/hackbenchmarkdotnet --depth 1 --quiet https://github.com/dotnet/performance $performance_directory + # tempararily use pr-alicias-branch to test new fixes + git clone --branch pr-alicias-branch --depth 1 --quiet https://github.com/radekdoulik/performance.git $performance_directory git clone --branch master --quiet https://github.com/Lxiamail/BenchmarkDotNet.git $benchmark_directory docs_directory=$performance_directory/docs From d7f9b9edebd874a872be6c41cc84501e82bbfedd Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Thu, 29 Jul 2021 11:03:55 +0200 Subject: [PATCH 67/84] [mono] Fix invalid memory write Fixes https://github.com/dotnet/runtime/issues/56526 and probably also https://github.com/dotnet/runtime/issues/53546 Allocate enough memory when `SIZEOF_REGISTER == 4`, so that code like defs [ins->dreg + 1] = NULL; defs [ins->dreg + 2] = NULL; doesn't write after allocated range. --- src/mono/mono/mini/local-propagation.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mono/mono/mini/local-propagation.c b/src/mono/mono/mini/local-propagation.c index 3bd878e66b56a..6447e2c348f2d 100644 --- a/src/mono/mono/mini/local-propagation.c +++ b/src/mono/mono/mini/local-propagation.c @@ -504,8 +504,14 @@ mono_local_cprop (MonoCompile *cfg) int filter = FILTER_IL_SEQ_POINT; int initial_max_vregs = cfg->next_vreg; +#if SIZEOF_REGISTER == 4 + #define VREG_ADD_SIZE 2 +#else + #define VREG_ADD_SIZE 0 +#endif + max = cfg->next_vreg; - defs = (MonoInst **)mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * cfg->next_vreg); + defs = (MonoInst **)mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * (cfg->next_vreg + VREG_ADD_SIZE)); def_index = (gint32 *)mono_mempool_alloc (cfg->mempool, sizeof (guint32) * cfg->next_vreg); cfg->cbb = bb_opt = (MonoBasicBlock *)mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock)); From 4eb16f85ca09e1040015bc3c3c95b9d5c82c5024 Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Wed, 28 Jul 2021 21:03:17 -0400 Subject: [PATCH 68/84] [mono] Fix an uninitialized memory access in the ABCREM pass. Detected by valgrind. --- src/mono/mono/mini/abcremoval.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mono/mono/mini/abcremoval.c b/src/mono/mono/mini/abcremoval.c index 7c72112369982..44317cdac6c5c 100644 --- a/src/mono/mono/mini/abcremoval.c +++ b/src/mono/mono/mini/abcremoval.c @@ -453,7 +453,8 @@ get_relations_from_previous_bb (MonoVariableRelationsEvaluationArea *area, MonoB MonoValueRelation branch_relation; MonoValueRelation symmetric_relation; gboolean code_path; - + + memset (relations, 0, sizeof (MonoAdditionalVariableRelationsForBB)); INITIALIZE_VALUE_RELATION (&(relations->relation1.relation)); relations->relation1.relation.relation_is_static_definition = FALSE; relations->relation1.relation.next = NULL; From 87d470b739c3ca02b2e5029cc4fb4953c9eec2ba Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 29 Jul 2021 23:14:49 -0700 Subject: [PATCH 69/84] clean up PR --- eng/pipelines/coreclr/perf.yml | 587 +++++++++---------- eng/pipelines/coreclr/templates/perf-job.yml | 2 +- eng/testing/performance/performance-setup.sh | 13 +- 3 files changed, 281 insertions(+), 321 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 982982d3ada17..6fc0b85de73dd 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -74,7 +74,7 @@ jobs: archiveType: zip archiveExtension: .zip - #run mono wasm (default) microbenchmarks perf job + #run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? @@ -93,24 +93,6 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'javascriptcore' - #run mono wasm aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? - buildconfig: release - runtimeflavor: wasm - platforms: - - linux_x64 - jobparameters: - testgroup: perf - livelibrariesbuildconfig: release - runtimetype: wasm - codegentype: 'aot' - projectfile: microbenchmarks.proj - runkind: micro - runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptengine: 'javascriptcore' - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -120,9 +102,9 @@ jobs: buildConfig: release platforms: - Linux_x64 - #- windows_x64 - #- windows_x86 - #- Linux_musl_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 jobParameters: testGroup: perf @@ -147,164 +129,164 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz -# # build mono Android scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/common/global-build-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Android_arm64 -# jobParameters: -# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -# nameSuffix: AndroidMono -# isOfficialBuild: false -# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml -# extraStepsParameters: -# rootFolder: '$(Build.SourcesDirectory)/artifacts/' -# includeRootFolder: true -# displayName: Android Mono Artifacts -# artifactName: AndroidMonoarm64 -# archiveExtension: '.tar.gz' -# archiveType: tar -# tarCompression: gz -# -# # build mono iOS scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/common/global-build-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - iOS_arm64 -# jobParameters: -# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) -# nameSuffix: iOSMono -# isOfficialBuild: false -# extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml -# extraStepsParameters: -# rootFolder: '$(Build.SourcesDirectory)/artifacts/' -# includeRootFolder: true -# displayName: iOS Mono Artifacts -# artifactName: iOSMonoarm64 -# archiveExtension: '.tar.gz' -# archiveType: tar -# tarCompression: gz + # build mono Android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Android_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AndroidMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Android Mono Artifacts + artifactName: AndroidMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz + + # build mono iOS scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - iOS_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: iOSMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: iOS Mono Artifacts + artifactName: iOSMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - ## build mono - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/mono/templates/build-job.yml - # runtimeFlavor: mono - # buildConfig: release - # platforms: - # - Linux_x64 + # build mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/mono/templates/build-job.yml + runtimeFlavor: mono + buildConfig: release + platforms: + - Linux_x64 - ## run mono android scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Windows_x64 - # jobParameters: - # testGroup: perf - # runtimeType: AndroidMono - # projectFile: android_scenarios.proj - # runKind: android_scenarios - # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - # logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' -# # run mono iOS scenarios -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Windows_x64 -# jobParameters: -# testGroup: perf -# runtimeType: iOSMono -# projectFile: ios_scenarios.proj -# runKind: ios_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perfpixel4a' -# iosLlvmBuild: False -# -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Windows_x64 -# jobParameters: -# testGroup: perf -# runtimeType: iOSMono -# projectFile: ios_scenarios.proj -# runKind: ios_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perfpixel4a' -# iosLlvmBuild: True + # run mono iOS scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: iOSMono + projectFile: ios_scenarios.proj + runKind: ios_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' + iosLlvmBuild: False -# # run mono microbenchmarks perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: mono -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: mono -# projectFile: microbenchmarks.proj -# runKind: micro_mono -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: iOSMono + projectFile: ios_scenarios.proj + runKind: ios_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' + iosLlvmBuild: True - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -325,163 +307,142 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - # run mono wasm AOT microbenchmarks perf job + # run mono aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? buildConfig: release - runtimeFlavor: wasm + runtimeFlavor: aot platforms: - Linux_x64 jobParameters: testGroup: perf liveLibrariesBuildConfig: Release - runtimeType: wasm + runtimeType: mono codeGenType: 'AOT' projectFile: microbenchmarks.proj - runKind: micro + runKind: micro_mono runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' - javascriptEngine: 'v8' -# # run mono aot microbenchmarks perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? -# buildConfig: release -# runtimeFlavor: aot -# platforms: -# - Linux_x64 -# - Linux_arm64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: mono -# codeGenType: 'AOT' -# projectFile: microbenchmarks.proj -# runKind: micro_mono -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' - -# # run coreclr perftiger 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_x64 -# - windows_x64 -# - windows_x86 -# - Linux_musl_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' + # run coreclr perftiger 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_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -## run coreclr perftiger microbenchmarks pgo perf jobs -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -NoPgo +# run coreclr perftiger microbenchmarks pgo perf jobs + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -NoPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -DynamicPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -DynamicPgo -# # run coreclr crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -FullPgo -## 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 perfowl 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_x64 + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfowl' -# # run coreclr crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + # run coreclr crossgen perf job + - 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 + - windows_x86 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: crossgen_perf.proj + runKind: crossgen_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perftiger' -# # run mono wasm blazor perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# projectFile: blazor_perf.proj -# runKind: blazor_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# additionalSetupParameters: '--latestdotnet' -# logicalmachine: 'perftiger' + # run mono wasm blazor perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + projectFile: blazor_perf.proj + runKind: blazor_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + additionalSetupParameters: '--latestdotnet' + logicalmachine: 'perftiger' diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index 427efc1cdd9a3..ecfcbea9001be 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -57,7 +57,7 @@ jobs: - ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: - ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - ${{ if eq(parameters.runtimeType, 'wasm')}}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} + - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 349f46733c56a..16228eeed8008 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -266,7 +266,7 @@ if [[ "$run_from_perf_repo" = true ]]; then setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else echo "Not running from perf repo" - git clone --branch pr-alicias-branch --depth 1 https://github.com/radekdoulik/performance.git $performance_directory + git clone --branch alicial/wasmaotmicro --depth 1 https://github.com/dotnet/performance.git $performance_directory # uncomment to use BenchmarkDotNet sources instead of nuget packages # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory @@ -280,23 +280,22 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path + # wasm aot and interpreter need some source code from dotnet\runtime repo + rm -r $source_directory/__download__ + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests + if [[ "$wasmaot" == "true" ]]; then # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. pushd $source_directory/src/mono/wasm/ make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd - rm -r $source_directory/__download__ - # wasm aot needs some source code from dotnet\runtime repo - echo "copy source code from dotnet\runtime repo" - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests # copy wasm build drop to the location that aot build expects - echo "copy BrowserWasm/artifacts" rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" fi fi From 10cc12518857bc51ee705a4c75ac390ffa4bf115 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Thu, 29 Jul 2021 23:22:12 -0700 Subject: [PATCH 70/84] add missing param --- eng/pipelines/coreclr/templates/perf-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index ecfcbea9001be..b3f66a235ed92 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -59,7 +59,7 @@ jobs: - ${{ if eq(parameters.runtimeType, 'wasm')}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} + - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: - ${{ 'build_Android_arm64_release_AndroidMono' }} - ${{ if eq(parameters.runtimeType, 'iOSMono')}}: From 8be66e760b385ce427956b65fdd946f906c92106 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 11:19:32 -0700 Subject: [PATCH 71/84] fix perf.yml and make wasm interpreter to be consistent with wasm AOT --- eng/pipelines/coreclr/perf.yml | 587 ++++++++++--------- eng/testing/performance/performance-setup.sh | 19 +- 2 files changed, 331 insertions(+), 275 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 6fc0b85de73dd..67ab8b02e9d46 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -93,6 +93,25 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'javascriptcore' + #run mono wasm aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm + platforms: + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'aot' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' + - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'Schedule')) }}: # build coreclr and libraries @@ -102,9 +121,9 @@ jobs: buildConfig: release platforms: - Linux_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 + #- windows_x64 + #- windows_x86 + #- Linux_musl_x64 jobParameters: testGroup: perf @@ -129,166 +148,185 @@ jobs: archiveType: zip archiveExtension: .zip - # build mono for AOT + #run mono wasm aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm platforms: - - Linux_x64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AOT - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: AOT Mono Artifacts - artifactName: LinuxMonoAOTx64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'aot' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' - # build mono Android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Android_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: AndroidMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: Android Mono Artifacts - artifactName: AndroidMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono for AOT + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AOT + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: AOT Mono Artifacts + # artifactName: LinuxMonoAOTx64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz + + ## build mono Android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Android_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: AndroidMono + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: Android Mono Artifacts + # artifactName: AndroidMonoarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono iOS scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - iOS_arm64 - jobParameters: - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - nameSuffix: iOSMono - isOfficialBuild: false - extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - extraStepsParameters: - rootFolder: '$(Build.SourcesDirectory)/artifacts/' - includeRootFolder: true - displayName: iOS Mono Artifacts - artifactName: iOSMonoarm64 - archiveExtension: '.tar.gz' - archiveType: tar - tarCompression: gz + ## build mono iOS scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/common/global-build-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - iOS_arm64 + # jobParameters: + # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + # nameSuffix: iOSMono + # isOfficialBuild: false + # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + # extraStepsParameters: + # rootFolder: '$(Build.SourcesDirectory)/artifacts/' + # includeRootFolder: true + # displayName: iOS Mono Artifacts + # artifactName: iOSMonoarm64 + # archiveExtension: '.tar.gz' + # archiveType: tar + # tarCompression: gz - # build mono - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/mono/templates/build-job.yml - runtimeFlavor: mono - buildConfig: release - platforms: - - Linux_x64 + ## build mono + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/mono/templates/build-job.yml + # runtimeFlavor: mono + # buildConfig: release + # platforms: + # - Linux_x64 - # run mono android scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: AndroidMono - projectFile: android_scenarios.proj - runKind: android_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' + ## run mono android scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Windows_x64 + # jobParameters: + # testGroup: perf + # runtimeType: AndroidMono + # projectFile: android_scenarios.proj + # runKind: android_scenarios + # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + # logicalmachine: 'perfpixel4a' - # run mono iOS scenarios - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: iOSMono - projectFile: ios_scenarios.proj - runKind: ios_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' - iosLlvmBuild: False + ## run mono iOS scenarios + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Windows_x64 + # jobParameters: + # testGroup: perf + # runtimeType: iOSMono + # projectFile: ios_scenarios.proj + # runKind: ios_scenarios + # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + # logicalmachine: 'perfpixel4a' + # iosLlvmBuild: False - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Windows_x64 - jobParameters: - testGroup: perf - runtimeType: iOSMono - projectFile: ios_scenarios.proj - runKind: ios_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perfpixel4a' - iosLlvmBuild: True + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Windows_x64 + # jobParameters: + # testGroup: perf + # runtimeType: iOSMono + # projectFile: ios_scenarios.proj + # runKind: ios_scenarios + # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + # logicalmachine: 'perfpixel4a' + # iosLlvmBuild: True - # run mono microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono interpreter perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: mono - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'Interpreter' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono interpreter perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + # buildConfig: release + # runtimeFlavor: mono + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'Interpreter' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' - # run mono wasm microbenchmarks perf job + # run mono wasm interpreter (default) microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? @@ -307,6 +345,25 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' + #run mono wasm aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? + buildconfig: release + runtimeflavor: wasm + platforms: + - linux_x64 + jobparameters: + testgroup: perf + livelibrariesbuildconfig: release + runtimetype: wasm + codegentype: 'aot' + projectfile: microbenchmarks.proj + runkind: micro + runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + javascriptengine: 'javascriptcore' + # run mono aot microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml parameters: @@ -325,124 +382,124 @@ jobs: runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' - # run coreclr perftiger 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_x64 - - windows_x64 - - windows_x86 - - Linux_musl_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run coreclr perftiger 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_x64 + # - windows_x64 + # - windows_x86 + # - Linux_musl_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # projectFile: microbenchmarks.proj + # runKind: micro + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' -# run coreclr perftiger microbenchmarks pgo perf jobs - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -NoPgo +## run coreclr perftiger microbenchmarks pgo perf jobs +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -NoPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -DynamicPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -DynamicPgo - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: coreclr - platforms: - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - pgoRunType: -FullPgo +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: coreclr +# platforms: +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perftiger' +# pgoRunType: -FullPgo - # run coreclr perfowl 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_x64 - - windows_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: microbenchmarks.proj - runKind: micro - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perfowl' +# # run coreclr perfowl 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_x64 +# - windows_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: microbenchmarks.proj +# runKind: micro +# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml +# logicalmachine: 'perfowl' - # run coreclr crossgen perf job - - 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 - - windows_x86 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - projectFile: crossgen_perf.proj - runKind: crossgen_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - logicalmachine: 'perftiger' +# # run coreclr crossgen perf job +# - 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 +# - windows_x86 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# projectFile: crossgen_perf.proj +# runKind: crossgen_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# logicalmachine: 'perftiger' - # run mono wasm blazor perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - buildConfig: release - runtimeFlavor: wasm - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: wasm - projectFile: blazor_perf.proj - runKind: blazor_scenarios - runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - additionalSetupParameters: '--latestdotnet' - logicalmachine: 'perftiger' +# # run mono wasm blazor perf job +# - template: /eng/pipelines/common/platform-matrix.yml +# parameters: +# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml +# buildConfig: release +# runtimeFlavor: wasm +# platforms: +# - Linux_x64 +# jobParameters: +# testGroup: perf +# liveLibrariesBuildConfig: Release +# runtimeType: wasm +# projectFile: blazor_perf.proj +# runKind: blazor_scenarios +# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml +# additionalSetupParameters: '--latestdotnet' +# logicalmachine: 'perftiger' diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 16228eeed8008..95d3c427ee410 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -283,19 +283,18 @@ if [[ "$wasm_runtime_loc" != "" ]]; then # wasm aot and interpreter need some source code from dotnet\runtime repo rm -r $source_directory/__download__ rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests - + # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. + pushd $source_directory/src/mono/wasm/ + make provision-wasm + EMSDK_PATH = $source_directory/src/mono/wasm/emsdk + popd + # copy wasm build drop to the location that aot and interpreter build expects + rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts + rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts if [[ "$wasmaot" == "true" ]]; then - # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. - pushd $source_directory/src/mono/wasm/ - make provision-wasm - EMSDK_PATH = $source_directory/src/mono/wasm/emsdk - popd - # copy wasm build drop to the location that aot build expects - rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts - rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmMainJS \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtime-test.js --wasmEngine /home/helixbot/.jsvu/$javascript_engine --customRuntimePack \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" fi fi From 94456ffef7aa92c19c8575d39c303354d7e7447c Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 11:23:53 -0700 Subject: [PATCH 72/84] comment out more job for fast testing --- eng/pipelines/coreclr/perf.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 67ab8b02e9d46..d26104f8eff32 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -364,23 +364,23 @@ jobs: logicalmachine: 'perftiger' javascriptengine: 'javascriptcore' - # run mono aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - buildConfig: release - runtimeFlavor: aot - platforms: - - Linux_x64 - jobParameters: - testGroup: perf - liveLibrariesBuildConfig: Release - runtimeType: mono - codeGenType: 'AOT' - projectFile: microbenchmarks.proj - runKind: micro_mono - runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' + ## run mono aot microbenchmarks perf job + #- template: /eng/pipelines/common/platform-matrix.yml + # parameters: + # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + # buildConfig: release + # runtimeFlavor: aot + # platforms: + # - Linux_x64 + # jobParameters: + # testGroup: perf + # liveLibrariesBuildConfig: Release + # runtimeType: mono + # codeGenType: 'AOT' + # projectFile: microbenchmarks.proj + # runKind: micro_mono + # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + # logicalmachine: 'perftiger' ## run coreclr perftiger microbenchmarks perf job #- template: /eng/pipelines/common/platform-matrix.yml From 1f8fa2c716eeef07bc9f85f534c74551676dca02 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 11:26:53 -0700 Subject: [PATCH 73/84] remove extra job --- eng/pipelines/coreclr/perf.yml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index d26104f8eff32..4c9abac98d055 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -148,25 +148,6 @@ jobs: archiveType: zip archiveExtension: .zip - #run mono wasm aot microbenchmarks perf job - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobtemplate: /eng/pipelines/coreclr/templates/perf-job.yml # note: should we move this file out of coreclr tempelates because it contains mono jobs? - buildconfig: release - runtimeflavor: wasm - platforms: - - linux_x64 - jobparameters: - testgroup: perf - livelibrariesbuildconfig: release - runtimetype: wasm - codegentype: 'aot' - projectfile: microbenchmarks.proj - runkind: micro - runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - logicalmachine: 'perftiger' - javascriptengine: 'javascriptcore' - ## build mono for AOT #- template: /eng/pipelines/common/platform-matrix.yml # parameters: From 4fbf2d4aea209be9fdfa5093984618a3e70829e3 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 13:30:01 -0700 Subject: [PATCH 74/84] exclude copying __download__ dir instead of delete it. --- eng/testing/performance/performance-setup.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 95d3c427ee410..eb6e9615ea3a4 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -281,8 +281,7 @@ if [[ "$wasm_runtime_loc" != "" ]]; then wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path # wasm aot and interpreter need some source code from dotnet\runtime repo - rm -r $source_directory/__download__ - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests --exclude __download__ # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. pushd $source_directory/src/mono/wasm/ make provision-wasm From 651c41f990eeca98aad19417ec06a6b2651c97b4 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 15:50:53 -0700 Subject: [PATCH 75/84] add parameters.codeGenType --- eng/pipelines/coreclr/templates/perf-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index b3f66a235ed92..d783a9d99c913 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -57,7 +57,7 @@ jobs: - ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: - ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - ${{ if eq(parameters.runtimeType, 'wasm')}}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} + - ${{ format('build_{0}{1}_{2}_{3}_{4}_{5}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: From b370a95e56067d164a5f8cf18cc7ad0a4a3bc0cf Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Fri, 30 Jul 2021 16:45:08 -0700 Subject: [PATCH 76/84] fix aot javascriptengine --- eng/pipelines/coreclr/perf.yml | 2 +- eng/pipelines/coreclr/templates/perf-job.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 4c9abac98d055..de3a38627dc74 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -343,7 +343,7 @@ jobs: runkind: micro runjobtemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml logicalmachine: 'perftiger' - javascriptengine: 'javascriptcore' + javascriptEngine: 'v8' ## run mono aot microbenchmarks perf job #- template: /eng/pipelines/common/platform-matrix.yml diff --git a/eng/pipelines/coreclr/templates/perf-job.yml b/eng/pipelines/coreclr/templates/perf-job.yml index d783a9d99c913..b3f66a235ed92 100644 --- a/eng/pipelines/coreclr/templates/perf-job.yml +++ b/eng/pipelines/coreclr/templates/perf-job.yml @@ -57,7 +57,7 @@ jobs: - ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}: - ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - ${{ if eq(parameters.runtimeType, 'wasm')}}: - - ${{ format('build_{0}{1}_{2}_{3}_{4}_{5}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType, parameters.codeGenType) }} + - ${{ format('build_{0}{1}_{2}_{3}_{4}', 'Browser', '', 'wasm', parameters.buildConfig, parameters.runtimeType) }} - ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}: - ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }} - ${{ if eq(parameters.runtimeType, 'AndroidMono')}}: From 5594823e814c523930581eb5f242f1c9bcad2859 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Sun, 1 Aug 2021 14:47:53 -0700 Subject: [PATCH 77/84] correct livelibrariesbuildconfig from release to Release --- eng/pipelines/coreclr/perf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index de3a38627dc74..8d4238256a029 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -103,7 +103,7 @@ jobs: - linux_x64 jobparameters: testgroup: perf - livelibrariesbuildconfig: release + livelibrariesbuildconfig: Release runtimetype: wasm codegentype: 'aot' projectfile: microbenchmarks.proj @@ -336,7 +336,7 @@ jobs: - linux_x64 jobparameters: testgroup: perf - livelibrariesbuildconfig: release + livelibrariesbuildconfig: Release runtimetype: wasm codegentype: 'aot' projectfile: microbenchmarks.proj From a17fa34d9b3c581e695919df94bc94e181ad2cf1 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Sun, 1 Aug 2021 18:53:43 -0700 Subject: [PATCH 78/84] install emsdk before copy $source_directory --- eng/testing/performance/performance-setup.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index eb6e9615ea3a4..fa494199710dc 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -280,13 +280,13 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path - # wasm aot and interpreter need some source code from dotnet\runtime repo - rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests --exclude __download__ - # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. pushd $source_directory/src/mono/wasm/ make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd + # wasm aot and interpreter need some source code from dotnet\runtime repo + rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests --exclude __download__ + # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. # copy wasm build drop to the location that aot and interpreter build expects rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts From 249993d5be4dec562842cbb3a28224657ee686df Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 3 Aug 2021 21:57:40 -0700 Subject: [PATCH 79/84] add back all the temporarily commented out jobs in perf.yml --- eng/pipelines/coreclr/perf.yml | 568 ++++++++++++++++----------------- 1 file changed, 284 insertions(+), 284 deletions(-) diff --git a/eng/pipelines/coreclr/perf.yml b/eng/pipelines/coreclr/perf.yml index 8d4238256a029..5726e5ac7c0de 100644 --- a/eng/pipelines/coreclr/perf.yml +++ b/eng/pipelines/coreclr/perf.yml @@ -121,9 +121,9 @@ jobs: buildConfig: release platforms: - Linux_x64 - #- windows_x64 - #- windows_x86 - #- Linux_musl_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 jobParameters: testGroup: perf @@ -148,164 +148,164 @@ jobs: archiveType: zip archiveExtension: .zip - ## build mono for AOT - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AOT - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: AOT Mono Artifacts - # artifactName: LinuxMonoAOTx64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono for AOT + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AOT + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/common/upload-artifact-step.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: AOT Mono Artifacts + artifactName: LinuxMonoAOTx64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - ## build mono Android scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Android_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: AndroidMono - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: Android Mono Artifacts - # artifactName: AndroidMonoarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono Android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Android_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: AndroidMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: Android Mono Artifacts + artifactName: AndroidMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - ## build mono iOS scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/common/global-build-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - iOS_arm64 - # jobParameters: - # buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - # nameSuffix: iOSMono - # isOfficialBuild: false - # extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml - # extraStepsParameters: - # rootFolder: '$(Build.SourcesDirectory)/artifacts/' - # includeRootFolder: true - # displayName: iOS Mono Artifacts - # artifactName: iOSMonoarm64 - # archiveExtension: '.tar.gz' - # archiveType: tar - # tarCompression: gz + # build mono iOS scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - iOS_arm64 + jobParameters: + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + nameSuffix: iOSMono + isOfficialBuild: false + extraStepsTemplate: /eng/pipelines/coreclr/templates/build-perf-sample-apps.yml + extraStepsParameters: + rootFolder: '$(Build.SourcesDirectory)/artifacts/' + includeRootFolder: true + displayName: iOS Mono Artifacts + artifactName: iOSMonoarm64 + archiveExtension: '.tar.gz' + archiveType: tar + tarCompression: gz - ## build mono - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/mono/templates/build-job.yml - # runtimeFlavor: mono - # buildConfig: release - # platforms: - # - Linux_x64 + # build mono + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/mono/templates/build-job.yml + runtimeFlavor: mono + buildConfig: release + platforms: + - Linux_x64 - ## run mono android scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Windows_x64 - # jobParameters: - # testGroup: perf - # runtimeType: AndroidMono - # projectFile: android_scenarios.proj - # runKind: android_scenarios - # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - # logicalmachine: 'perfpixel4a' + # run mono android scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: AndroidMono + projectFile: android_scenarios.proj + runKind: android_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' - ## run mono iOS scenarios - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Windows_x64 - # jobParameters: - # testGroup: perf - # runtimeType: iOSMono - # projectFile: ios_scenarios.proj - # runKind: ios_scenarios - # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - # logicalmachine: 'perfpixel4a' - # iosLlvmBuild: False + # run mono iOS scenarios + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: iOSMono + projectFile: ios_scenarios.proj + runKind: ios_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' + iosLlvmBuild: False - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Windows_x64 - # jobParameters: - # testGroup: perf - # runtimeType: iOSMono - # projectFile: ios_scenarios.proj - # runKind: ios_scenarios - # runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml - # logicalmachine: 'perfpixel4a' - # iosLlvmBuild: True + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Windows_x64 + jobParameters: + testGroup: perf + runtimeType: iOSMono + projectFile: ios_scenarios.proj + runKind: ios_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perfpixel4a' + iosLlvmBuild: True - ## run mono microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run mono interpreter perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml - # buildConfig: release - # runtimeFlavor: mono - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'Interpreter' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono interpreter perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: mono + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' # run mono wasm interpreter (default) microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml @@ -345,142 +345,142 @@ jobs: logicalmachine: 'perftiger' javascriptEngine: 'v8' - ## run mono aot microbenchmarks perf job - #- template: /eng/pipelines/common/platform-matrix.yml - # parameters: - # jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? - # buildConfig: release - # runtimeFlavor: aot - # platforms: - # - Linux_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # runtimeType: mono - # codeGenType: 'AOT' - # projectFile: microbenchmarks.proj - # runKind: micro_mono - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run mono aot microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml # NOTE: should we move this file out of coreclr tempelates because it contains mono jobs? + buildConfig: release + runtimeFlavor: aot + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'AOT' + projectFile: microbenchmarks.proj + runKind: micro_mono + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' - ## run coreclr perftiger 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_x64 - # - windows_x64 - # - windows_x86 - # - Linux_musl_x64 - # jobParameters: - # testGroup: perf - # liveLibrariesBuildConfig: Release - # projectFile: microbenchmarks.proj - # runKind: micro - # runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml - # logicalmachine: 'perftiger' + # run coreclr perftiger 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_x64 + - windows_x64 + - windows_x86 + - Linux_musl_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' -## run coreclr perftiger microbenchmarks pgo perf jobs -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -NoPgo +# run coreclr perftiger microbenchmarks pgo perf jobs + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -NoPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -DynamicPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -DynamicPgo -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: coreclr -# platforms: -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perftiger' -# pgoRunType: -FullPgo + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: coreclr + platforms: + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perftiger' + pgoRunType: -FullPgo -# # run coreclr perfowl 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_x64 -# - windows_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: microbenchmarks.proj -# runKind: micro -# runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml -# logicalmachine: 'perfowl' + # run coreclr perfowl 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_x64 + - windows_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: microbenchmarks.proj + runKind: micro + runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml + logicalmachine: 'perfowl' -# # run coreclr crossgen perf job -# - 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 -# - windows_x86 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# projectFile: crossgen_perf.proj -# runKind: crossgen_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# logicalmachine: 'perftiger' + # run coreclr crossgen perf job + - 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 + - windows_x86 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + projectFile: crossgen_perf.proj + runKind: crossgen_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + logicalmachine: 'perftiger' -# # run mono wasm blazor perf job -# - template: /eng/pipelines/common/platform-matrix.yml -# parameters: -# jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml -# buildConfig: release -# runtimeFlavor: wasm -# platforms: -# - Linux_x64 -# jobParameters: -# testGroup: perf -# liveLibrariesBuildConfig: Release -# runtimeType: wasm -# projectFile: blazor_perf.proj -# runKind: blazor_scenarios -# runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml -# additionalSetupParameters: '--latestdotnet' -# logicalmachine: 'perftiger' + # run mono wasm blazor perf job + - template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml + buildConfig: release + runtimeFlavor: wasm + platforms: + - Linux_x64 + jobParameters: + testGroup: perf + liveLibrariesBuildConfig: Release + runtimeType: wasm + projectFile: blazor_perf.proj + runKind: blazor_scenarios + runJobTemplate: /eng/pipelines/coreclr/templates/run-scenarios-job.yml + additionalSetupParameters: '--latestdotnet' + logicalmachine: 'perftiger' From a0b7893c857419577995747ef92aae64e9e6ec42 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 3 Aug 2021 22:19:57 -0700 Subject: [PATCH 80/84] clean up work around code --- eng/testing/performance/performance-setup.sh | 8 +++----- src/mono/mono/mini/abcremoval.c | 1 - src/mono/mono/mini/local-propagation.c | 8 +------- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index fa494199710dc..c2fae2f8d8bb7 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -270,8 +270,6 @@ else # uncomment to use BenchmarkDotNet sources instead of nuget packages # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory - ls $payload_directory - docs_directory=$performance_directory/docs mv $docs_directory $workitem_directory fi @@ -280,20 +278,20 @@ if [[ "$wasm_runtime_loc" != "" ]]; then using_wasm=true wasm_dotnet_path=$payload_directory/dotnet-wasm mv $wasm_runtime_loc $wasm_dotnet_path + # install emsdk, $source_directory/src/mono/wasm/ has the nuget.config with require feed. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. pushd $source_directory/src/mono/wasm/ make provision-wasm EMSDK_PATH = $source_directory/src/mono/wasm/emsdk popd # wasm aot and interpreter need some source code from dotnet\runtime repo rsync -aq --progress $source_directory/* $wasm_dotnet_path --exclude Payload --exclude docs --exclude src/coreclr --exclude src/tests --exclude artifacts/obj --exclude artifacts/log --exclude artifacts/tests --exclude __download__ - # install EMSDK if $EMSDK_PATH is not Set. EMSDK may be available in the payload in a different directory, should visit this install to avoid deplicated payload. # copy wasm build drop to the location that aot and interpreter build expects rsync -a --progress $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* $wasm_dotnet_path/artifacts rm -r $wasm_dotnet_path/artifacts/BrowserWasm/artifacts if [[ "$wasmaot" == "true" ]]; then - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --aotcompilermode wasm --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --aotcompilermode wasm --buildTimeout 3600" else - extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm --buildTimeout 3600 --keepfiles" + extra_benchmark_dotnet_arguments="$extra_benchmark_dotnet_arguments --wasmEngine /home/helixbot/.jsvu/$javascript_engine --runtimeSrcDir \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm" fi fi diff --git a/src/mono/mono/mini/abcremoval.c b/src/mono/mono/mini/abcremoval.c index 44317cdac6c5c..8b0e4aa646a51 100644 --- a/src/mono/mono/mini/abcremoval.c +++ b/src/mono/mono/mini/abcremoval.c @@ -454,7 +454,6 @@ get_relations_from_previous_bb (MonoVariableRelationsEvaluationArea *area, MonoB MonoValueRelation symmetric_relation; gboolean code_path; - memset (relations, 0, sizeof (MonoAdditionalVariableRelationsForBB)); INITIALIZE_VALUE_RELATION (&(relations->relation1.relation)); relations->relation1.relation.relation_is_static_definition = FALSE; relations->relation1.relation.next = NULL; diff --git a/src/mono/mono/mini/local-propagation.c b/src/mono/mono/mini/local-propagation.c index 6447e2c348f2d..3bd878e66b56a 100644 --- a/src/mono/mono/mini/local-propagation.c +++ b/src/mono/mono/mini/local-propagation.c @@ -504,14 +504,8 @@ mono_local_cprop (MonoCompile *cfg) int filter = FILTER_IL_SEQ_POINT; int initial_max_vregs = cfg->next_vreg; -#if SIZEOF_REGISTER == 4 - #define VREG_ADD_SIZE 2 -#else - #define VREG_ADD_SIZE 0 -#endif - max = cfg->next_vreg; - defs = (MonoInst **)mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * (cfg->next_vreg + VREG_ADD_SIZE)); + defs = (MonoInst **)mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * cfg->next_vreg); def_index = (gint32 *)mono_mempool_alloc (cfg->mempool, sizeof (guint32) * cfg->next_vreg); cfg->cbb = bb_opt = (MonoBasicBlock *)mono_mempool_alloc0 ((cfg)->mempool, sizeof (MonoBasicBlock)); From dd43fcaca690364bddfd27da8c90859c6fb900e0 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Tue, 3 Aug 2021 22:28:12 -0700 Subject: [PATCH 81/84] minor clean up --- eng/testing/performance/performance-setup.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index c2fae2f8d8bb7..5e25796b3d08c 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -259,13 +259,11 @@ common_setup_arguments="--channel main --queue $queue --build-number $build_numb setup_arguments="--repository https://github.com/$repository --branch $branch --get-perf-hash --commit-sha $commit_sha $common_setup_arguments" if [[ "$run_from_perf_repo" = true ]]; then - echo "Running from perf repo" payload_directory= workitem_directory=$source_directory performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - echo "Not running from perf repo" git clone --branch alicial/wasmaotmicro --depth 1 https://github.com/dotnet/performance.git $performance_directory # uncomment to use BenchmarkDotNet sources instead of nuget packages # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory From 285607f3303842d4e3daa0ef96a0cd4f0c67daa1 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 4 Aug 2021 11:38:15 -0700 Subject: [PATCH 82/84] remove performance submodule --- eng/testing/performance/performance | 1 - 1 file changed, 1 deletion(-) delete mode 160000 eng/testing/performance/performance diff --git a/eng/testing/performance/performance b/eng/testing/performance/performance deleted file mode 160000 index 522aa7d909f6d..0000000000000 --- a/eng/testing/performance/performance +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 522aa7d909f6d505a07d7a3b294434ec2b1afe19 From e787e3674620ea33df2cf1388fd7d1f480c32385 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 4 Aug 2021 19:47:46 -0700 Subject: [PATCH 83/84] switch back to use performance repo main branch --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index 5e25796b3d08c..b18057eb50784 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -264,7 +264,7 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch alicial/wasmaotmicro --depth 1 https://github.com/dotnet/performance.git $performance_directory + git clone --branch main --depth 1 https://github.com/dotnet/performance.git $performance_directory # uncomment to use BenchmarkDotNet sources instead of nuget packages # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory From 06a8d232680fadee8b403fd237e53dbeb6c7f650 Mon Sep 17 00:00:00 2001 From: Alicia Li Date: Wed, 4 Aug 2021 19:57:13 -0700 Subject: [PATCH 84/84] add --quiet to git clone --- eng/testing/performance/performance-setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/performance/performance-setup.sh b/eng/testing/performance/performance-setup.sh index b18057eb50784..c99ad1f48f3fa 100755 --- a/eng/testing/performance/performance-setup.sh +++ b/eng/testing/performance/performance-setup.sh @@ -264,7 +264,7 @@ if [[ "$run_from_perf_repo" = true ]]; then performance_directory=$workitem_directory setup_arguments="--perf-hash $commit_sha $common_setup_arguments" else - git clone --branch main --depth 1 https://github.com/dotnet/performance.git $performance_directory + git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $performance_directory # uncomment to use BenchmarkDotNet sources instead of nuget packages # git clone https://github.com/dotnet/BenchmarkDotNet.git $benchmark_directory