diff --git a/eng/pipelines/runtime-slow-perf-jobs.yml b/eng/pipelines/runtime-slow-perf-jobs.yml index d7f9ca6109b..ec92635d7ae 100644 --- a/eng/pipelines/runtime-slow-perf-jobs.yml +++ b/eng/pipelines/runtime-slow-perf-jobs.yml @@ -31,6 +31,26 @@ jobs: ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} + # run arm64 interpreter jobs for mono on perfcobalt + - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} + parameters: + jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }} + buildConfig: release + runtimeFlavor: mono + platforms: + - linux_arm64 + jobParameters: + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'Interpreter' + runKind: micro_mono + logicalMachine: 'perfcobalt' + timeoutInMinutes: 720 + runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }} + performanceRepoAlias: ${{ parameters.performanceRepoAlias }} + ${{ each parameter in parameters.jobParameters }}: + ${{ parameter.key }}: ${{ parameter.value }} + # run arm64 jit jobs for mono - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} parameters: @@ -50,6 +70,25 @@ jobs: ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} + # run arm64 jit jobs for mono on perfcobalt + - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} + parameters: + jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }} + buildConfig: release + runtimeFlavor: mono + platforms: + - linux_arm64 + jobParameters: + liveLibrariesBuildConfig: Release + runtimeType: mono + runKind: micro_mono + logicalMachine: 'perfcobalt' + timeoutInMinutes: 720 + runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }} + performanceRepoAlias: ${{ parameters.performanceRepoAlias }} + ${{ each parameter in parameters.jobParameters }}: + ${{ parameter.key }}: ${{ parameter.value }} + - ${{ if eq(parameters.runPrivateJobs, true) }}: - template: /eng/pipelines/performance/templates/perf-arm64-build-jobs.yml@${{ parameters.runtimeRepoAlias }} parameters: @@ -76,6 +115,26 @@ jobs: ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} + # run mono aot microbenchmarks perf job on perfcobalt + - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} + parameters: + jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }} + buildConfig: release + runtimeFlavor: aot + platforms: + - linux_arm64 + jobParameters: + liveLibrariesBuildConfig: Release + runtimeType: mono + codeGenType: 'AOT' + runKind: micro_mono + logicalMachine: 'perfcobalt' + timeoutInMinutes: 780 + runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }} + performanceRepoAlias: ${{ parameters.performanceRepoAlias }} + ${{ each parameter in parameters.jobParameters }}: + ${{ parameter.key }}: ${{ parameter.value }} + # run coreclr Linux arm64 ampere microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} parameters: @@ -94,6 +153,24 @@ jobs: ${{ each parameter in parameters.jobParameters }}: ${{ parameter.key }}: ${{ parameter.value }} + # run coreclr Linux arm64 cobalt microbenchmarks perf job + - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} + parameters: + jobTemplate: /eng/pipelines/templates/runtime-perf-job.yml@${{ parameters.performanceRepoAlias }} + buildConfig: release + runtimeFlavor: coreclr + platforms: + - linux_arm64 + jobParameters: + liveLibrariesBuildConfig: Release + runKind: micro + logicalMachine: 'perfcobalt' + timeoutInMinutes: 780 + runtimeRepoAlias: ${{ parameters.runtimeRepoAlias }} + performanceRepoAlias: ${{ parameters.performanceRepoAlias }} + ${{ each parameter in parameters.jobParameters }}: + ${{ parameter.key }}: ${{ parameter.value }} + # run coreclr Windows arm64 ampere microbenchmarks perf job - template: /eng/pipelines/common/platform-matrix.yml@${{ parameters.runtimeRepoAlias }} parameters: diff --git a/eng/pipelines/sdk-perf-jobs.yml b/eng/pipelines/sdk-perf-jobs.yml index fee950398de..7b84a4b47e8 100644 --- a/eng/pipelines/sdk-perf-jobs.yml +++ b/eng/pipelines/sdk-perf-jobs.yml @@ -338,6 +338,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: scenarios @@ -649,6 +650,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: fsharpmicro @@ -672,6 +674,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: bepuphysics @@ -695,6 +698,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: imagesharp @@ -718,6 +722,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: akadeindexedset @@ -741,6 +746,7 @@ jobs: - win-arm64 - win-arm64-ampere - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: mlnet @@ -770,6 +776,7 @@ jobs: - win-arm64 - win-arm64-ampere - ubuntu-arm64-ampere + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: roslyn @@ -820,6 +827,7 @@ jobs: - ubuntu-x64-viper - win-arm64 - ubuntu-arm64 + - azurelinux3-arm64-cobalt isPublic: false jobParameters: runKind: powershell diff --git a/eng/pipelines/templates/build-machine-matrix.yml b/eng/pipelines/templates/build-machine-matrix.yml index 74022592a5e..ad8b2030e2d 100644 --- a/eng/pipelines/templates/build-machine-matrix.yml +++ b/eng/pipelines/templates/build-machine-matrix.yml @@ -93,6 +93,19 @@ jobs: queue: Ubuntu.2204.Arm64.Perf ${{ insert }}: ${{ parameters.jobParameters }} +- ${{ if and(containsValue(parameters.buildMachines, 'azurelinux3-arm64-cobalt'), not(eq(parameters.isPublic, true))) }}: # Azure Linux 3 ARM64 Cobalt only used in private builds currently + - template: ${{ parameters.jobTemplate }} + parameters: + osGroup: azurelinux + osVersion: 3 + archType: arm64 + pool: + vmImage: ubuntu-latest + container: ubuntu_x64_build_container + machinePool: Cobalt + queue: azurelinux.3.cobalt.arm64.perf + ${{ insert }}: ${{ parameters.jobParameters }} + - ${{ if and(containsValue(parameters.buildMachines, 'win-x64-android-arm64-pixel'), not(eq(parameters.isPublic, true))) }}: # Windows ARM64 Pixel only used in private builds currently - template: ${{ parameters.jobTemplate }} parameters: diff --git a/eng/pipelines/templates/run-performance-job.yml b/eng/pipelines/templates/run-performance-job.yml index 0e445481a06..43204328cb0 100644 --- a/eng/pipelines/templates/run-performance-job.yml +++ b/eng/pipelines/templates/run-performance-job.yml @@ -251,7 +251,7 @@ jobs: -TokensFilePath '$(System.DefaultWorkingDirectory)/eng/BinlogSecretsRedactionFile.txt' continueOnError: true condition: always() - - ${{ if eq(parameters.osGroup, 'ubuntu') }}: + - ${{ if or(eq(parameters.osGroup, 'ubuntu'), eq(parameters.osGroup, 'azurelinux')) }}: - task: ShellScript@2 displayName: Redact Logs inputs: diff --git a/scripts/run_performance_job.py b/scripts/run_performance_job.py index e8b955bcac4..5a0213c14d8 100644 --- a/scripts/run_performance_job.py +++ b/scripts/run_performance_job.py @@ -315,6 +315,7 @@ def logical_machine_to_queue(logical_machine: str, internal: bool, os_group: str else: queue_map = { "perfampere": "Ubuntu.2204.Arm64.Perf", + "perfcobalt": "azurelinux.3.cobalt.arm64.perf", "perfiphone12mini": "OSX.13.Amd64.Iphone.Perf", "perftiger_crossgen": "Ubuntu.1804.Amd64.Tiger.Perf", "perfviper": "Ubuntu.2204.Amd64.Viper.Perf",