diff --git a/ci/azure/azure-clang-10-ubuntu-mpich.yml b/ci/azure/azure-clang-10-ubuntu-mpich.yml index 90f36ecdee..64721b4d3f 100644 --- a/ci/azure/azure-clang-10-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-10-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-11-ubuntu-mpich.yml b/ci/azure/azure-clang-11-ubuntu-mpich.yml index 7f7e949017..62584c467e 100644 --- a/ci/azure/azure-clang-11-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-11-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-12-ubuntu-mpich.yml b/ci/azure/azure-clang-12-ubuntu-mpich.yml index c49dc12ae6..bd9319307d 100644 --- a/ci/azure/azure-clang-12-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-12-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-13-ubuntu-mpich.yml b/ci/azure/azure-clang-13-ubuntu-mpich.yml index 998a1c8d17..e8b44c88bf 100644 --- a/ci/azure/azure-clang-13-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-13-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-14-ubuntu-mpich.yml b/ci/azure/azure-clang-14-ubuntu-mpich.yml index 99bcf4dfb0..8ea7f897aa 100644 --- a/ci/azure/azure-clang-14-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-14-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 1 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-16-ubuntu-mpich.yml b/ci/azure/azure-clang-16-ubuntu-mpich.yml index 9fb0c8a723..fad45fdb8e 100644 --- a/ci/azure/azure-clang-16-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-16-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 1 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-17-ubuntu-mpich-perf.yml b/ci/azure/azure-clang-17-ubuntu-mpich-perf.yml new file mode 100644 index 0000000000..a9621b7bf2 --- /dev/null +++ b/ci/azure/azure-clang-17-ubuntu-mpich-perf.yml @@ -0,0 +1,217 @@ +############################################################################### +############## Warning this is a generated file---do not modify ############### +############################################################################### + +name: PR tests (clang-17, ubuntu, mpich, perf) + +trigger: + branches: + include: + - develop + - main + +pr: + drafts: false + autoCancel: true + branches: + include: + - '*' + + +resources: +- repo: self + +variables: + tag: '$(Build.BuildId)' + REPO: lifflander1/vt + ARCH: amd64 + UBUNTU: 22.04 + COMPILER_TYPE: clang + COMPILER: clang-17 + HOST_COMPILER: clang-17 + BUILD_TYPE: release + ULIMIT_CORE: 0 + VT_CODE_COVERAGE: 0 + VT_LB: 1 + VT_TRACE: 0 + VT_TRACE_RT: 0 + VT_TRACE_ONLY: 1 + VT_MIMALLOC: 0 + VT_DOCS: 0 + VT_ASAN: 0 + VT_UBSAN: 0 + VT_WERROR: 1 + VT_POOL: 1 + VT_EXTENDED_TESTS: 1 + VT_TESTS_NUM_NODES: 2 + VT_EXTERNAL_FMT: 0 + VT_UNITY_BUILD: 1 + VT_PRODUCTION_BUILD: 0 + VT_FCONTEXT: 0 + VT_ZOLTAN: 0 + VT_CI_BUILD: 1 + VT_DIAGNOSTICS: 1 + VT_NO_COLOR: 1 + VT_BUILD_SHARED_LIBS: 0 + VT_INCLUSION: TPL + VT_DEBUG_VERBOSE: 0 + VT_KOKKOS_ENABLED: 0 + VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 1 + CMAKE_CXX_STANDARD: 17 + VT_CI_TEST_LB_SCHEMA: 0 + RUN_FULL_CI: true + CACHE: "$(Agent.TempDirectory)/cache/" + cache_name: ubuntu-clang-17-cache + volume_name: ubuntu-cpp + build_root: "$(CACHE)$(ARCH)-ubuntu-$(UBUNTU)-$(HOST_COMPILER)-$(COMPILER)-cache/" + TS: 0 + TS_YEAR: 0 + TS_MONTH: 0 + TS_DAY: 0 + + + +stages: +- stage: Build + displayName: Build image + jobs: + - job: Build + displayName: Build + pool: + vmImage: 'ubuntu-22.04' + timeoutInMinutes: 180 + steps: + - checkout: self + fetchDepth: 0 + - task: Bash@3 + displayName: Build timestamp for caching + continueOnError: true + condition: eq(variables['RUN_FULL_CI'], 'true') + inputs: + targetType: 'inline' + script: | + echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS]$val" + echo 'string(TIMESTAMP current_date "%Y" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_YEAR]$val" + echo 'string(TIMESTAMP current_date "%m" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_MONTH]$val" + echo 'string(TIMESTAMP current_date "%d" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_DAY]$val" + - task: Bash@3 + displayName: Output timestamp for caching + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetType: 'inline' + script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' + - task: Cache@2 + displayName: Update cache + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + securityNamespace: cache + key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) + path: '$(build_root)$(volume_name)/ccache' + restoreKeys: | + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) + $(Agent.OS) | "$(cache_name)" + - task: Bash@3 + displayName: Check for changes in containers + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') + inputs: + targetType: 'inline' + script: | + val=$(./scripts/check_containers.sh) + echo "##vso[task.setvariable variable=compose_command]$val" + - task: DockerCompose@1 + displayName: Pull container + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean --privileged' + - task: DockerCompose@1 + displayName: Build container + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: 'run --privileged ubuntu-cpp-clean' + env: + CODECOV_TOKEN: $(codecov_token) + - task: Bash@3 + displayName: Put compilation's and tests' logs in PR comment + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest'))) + inputs: + targetType: 'inline' + script: | + ./scripts/report_logs_in_comment.sh \ + "$(build_root)$(volume_name)/vt/compilation_errors_warnings.out" \ + "$(build_root)$(volume_name)/vt/cmake-output.log" \ + "$(Build.BuildNumber)" \ + "$(System.PullRequest.PullRequestNumber)" \ + "$(Build.Repository.Name)" \ + "$GITHUB_PAT" \ + "$(Build.BuildId)" \ + "$(System.JobId)" \ + "$(Agent.JobStatus)" + env: + GITHUB_PAT: $(github_pat) + - task: DockerCompose@1 + displayName: Push container to registry + continueOnError: true + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerRegistryEndpoint: 'dockerRegistryConnection1' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: 'push ubuntu-cpp-clean' + - task: Bash@3 + displayName: Create artifacts + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetType: 'inline' + script: | + zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)$(volume_name)/vt/Testing/Temporary/LastTest.log + zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)$(volume_name)/vt/cmake-output.log + - task: PublishPipelineArtifact@1 + displayName: Upload CMake test output artifact + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' + artifact: 'CMakeLastTestLog' + publishLocation: 'pipeline' + - task: PublishPipelineArtifact@1 + displayName: Upload CMake full output artifact + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' + artifact: 'CMakeOutputLog' + publishLocation: 'pipeline' + - task: Bash@3 + displayName: Finish pipeline + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') + inputs: + targetType: 'inline' + script: | + echo Done diff --git a/ci/azure/azure-clang-9-ubuntu-mpich.yml b/ci/azure/azure-clang-9-ubuntu-mpich.yml index 2bda7143f7..e43203a0c2 100644 --- a/ci/azure/azure-clang-9-ubuntu-mpich.yml +++ b/ci/azure/azure-clang-9-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-clang-alpine-mpich.yml b/ci/azure/azure-clang-alpine-mpich.yml index 5e1d4fd27d..2bdabc4fce 100644 --- a/ci/azure/azure-clang-alpine-mpich.yml +++ b/ci/azure/azure-clang-alpine-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-10-ubuntu-openmpi-spack.yml b/ci/azure/azure-gcc-10-ubuntu-openmpi-spack.yml index 41da998d91..033ffbf78f 100644 --- a/ci/azure/azure-gcc-10-ubuntu-openmpi-spack.yml +++ b/ci/azure/azure-gcc-10-ubuntu-openmpi-spack.yml @@ -50,6 +50,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: false diff --git a/ci/azure/azure-gcc-10-ubuntu-openmpi.yml b/ci/azure/azure-gcc-10-ubuntu-openmpi.yml index 255681d57c..eeb5c34260 100644 --- a/ci/azure/azure-gcc-10-ubuntu-openmpi.yml +++ b/ci/azure/azure-gcc-10-ubuntu-openmpi.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-11-ubuntu-mpich.yml b/ci/azure/azure-gcc-11-ubuntu-mpich.yml index d84579d971..826ab8e147 100644 --- a/ci/azure/azure-gcc-11-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-11-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-12-ubuntu-mpich.yml b/ci/azure/azure-gcc-12-ubuntu-mpich.yml index 3909b9a04b..47b5a1667e 100644 --- a/ci/azure/azure-gcc-12-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-12-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 1 VT_KOKKOS_ENABLED: 1 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-12-ubuntu-vttv.yml b/ci/azure/azure-gcc-12-ubuntu-vttv.yml index fc797c8a73..7ad6fa5714 100644 --- a/ci/azure/azure-gcc-12-ubuntu-vttv.yml +++ b/ci/azure/azure-gcc-12-ubuntu-vttv.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 1 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-13-ubuntu-mpich.yml b/ci/azure/azure-gcc-13-ubuntu-mpich.yml index dbd42a39be..9d7423d693 100644 --- a/ci/azure/azure-gcc-13-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-13-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-gcc-14-ubuntu-perf.yml b/ci/azure/azure-gcc-14-ubuntu-perf.yml new file mode 100644 index 0000000000..18313269f6 --- /dev/null +++ b/ci/azure/azure-gcc-14-ubuntu-perf.yml @@ -0,0 +1,217 @@ +############################################################################### +############## Warning this is a generated file---do not modify ############### +############################################################################### + +name: PR tests (gcc-14, ubuntu, perf) + +trigger: + branches: + include: + - develop + - main + +pr: + drafts: false + autoCancel: true + branches: + include: + - '*' + + +resources: +- repo: self + +variables: + tag: '$(Build.BuildId)' + REPO: lifflander1/vt + ARCH: amd64 + UBUNTU: 24.04 + COMPILER_TYPE: gnu + COMPILER: gcc-14 + HOST_COMPILER: gcc-14 + BUILD_TYPE: release + ULIMIT_CORE: 0 + VT_CODE_COVERAGE: 0 + VT_LB: 1 + VT_TRACE: 0 + VT_TRACE_RT: 0 + VT_TRACE_ONLY: 1 + VT_MIMALLOC: 0 + VT_DOCS: 0 + VT_ASAN: 0 + VT_UBSAN: 0 + VT_WERROR: 1 + VT_POOL: 1 + VT_EXTENDED_TESTS: 1 + VT_TESTS_NUM_NODES: 2 + VT_EXTERNAL_FMT: 0 + VT_UNITY_BUILD: 1 + VT_PRODUCTION_BUILD: 0 + VT_FCONTEXT: 0 + VT_ZOLTAN: 0 + VT_CI_BUILD: 1 + VT_DIAGNOSTICS: 1 + VT_NO_COLOR: 1 + VT_BUILD_SHARED_LIBS: 0 + VT_INCLUSION: TPL + VT_DEBUG_VERBOSE: 0 + VT_KOKKOS_ENABLED: 0 + VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 1 + CMAKE_CXX_STANDARD: 17 + VT_CI_TEST_LB_SCHEMA: 0 + RUN_FULL_CI: true + CACHE: "$(Agent.TempDirectory)/cache/" + cache_name: ubuntu-gcc-14-cache + volume_name: ubuntu-cpp + build_root: "$(CACHE)$(ARCH)-ubuntu-$(UBUNTU)-$(HOST_COMPILER)-$(COMPILER)-cache/" + TS: 0 + TS_YEAR: 0 + TS_MONTH: 0 + TS_DAY: 0 + + + +stages: +- stage: Build + displayName: Build image + jobs: + - job: Build + displayName: Build + pool: + vmImage: 'ubuntu-22.04' + timeoutInMinutes: 180 + steps: + - checkout: self + fetchDepth: 0 + - task: Bash@3 + displayName: Build timestamp for caching + continueOnError: true + condition: eq(variables['RUN_FULL_CI'], 'true') + inputs: + targetType: 'inline' + script: | + echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS]$val" + echo 'string(TIMESTAMP current_date "%Y" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_YEAR]$val" + echo 'string(TIMESTAMP current_date "%m" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_MONTH]$val" + echo 'string(TIMESTAMP current_date "%d" UTC)' > script + echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script + val=$(cmake -P script) + echo "##vso[task.setvariable variable=TS_DAY]$val" + - task: Bash@3 + displayName: Output timestamp for caching + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetType: 'inline' + script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' + - task: Cache@2 + displayName: Update cache + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + securityNamespace: cache + key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) + path: '$(build_root)$(volume_name)/ccache' + restoreKeys: | + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) + $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) + $(Agent.OS) | "$(cache_name)" + - task: Bash@3 + displayName: Check for changes in containers + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') + inputs: + targetType: 'inline' + script: | + val=$(./scripts/check_containers.sh) + echo "##vso[task.setvariable variable=compose_command]$val" + - task: DockerCompose@1 + displayName: Pull container + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean --privileged' + - task: DockerCompose@1 + displayName: Build container + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: 'run --privileged ubuntu-cpp-clean' + env: + CODECOV_TOKEN: $(codecov_token) + - task: Bash@3 + displayName: Put compilation's and tests' logs in PR comment + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest'))) + inputs: + targetType: 'inline' + script: | + ./scripts/report_logs_in_comment.sh \ + "$(build_root)$(volume_name)/vt/compilation_errors_warnings.out" \ + "$(build_root)$(volume_name)/vt/cmake-output.log" \ + "$(Build.BuildNumber)" \ + "$(System.PullRequest.PullRequestNumber)" \ + "$(Build.Repository.Name)" \ + "$GITHUB_PAT" \ + "$(Build.BuildId)" \ + "$(System.JobId)" \ + "$(Agent.JobStatus)" + env: + GITHUB_PAT: $(github_pat) + - task: DockerCompose@1 + displayName: Push container to registry + continueOnError: true + condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) + inputs: + projectName: darma-tasking-vt + containerregistrytype: 'Container Registry' + dockerRegistryEndpoint: 'dockerRegistryConnection1' + dockerComposeFile: '**/docker-compose.yml' + action: 'Run a Docker Compose command' + dockerComposeCommand: 'push ubuntu-cpp-clean' + - task: Bash@3 + displayName: Create artifacts + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetType: 'inline' + script: | + zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)$(volume_name)/vt/Testing/Temporary/LastTest.log + zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)$(volume_name)/vt/cmake-output.log + - task: PublishPipelineArtifact@1 + displayName: Upload CMake test output artifact + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' + artifact: 'CMakeLastTestLog' + publishLocation: 'pipeline' + - task: PublishPipelineArtifact@1 + displayName: Upload CMake full output artifact + continueOnError: true + condition: and(eq(variables['RUN_FULL_CI'], 'true'), in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues')) + inputs: + targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' + artifact: 'CMakeOutputLog' + publishLocation: 'pipeline' + - task: Bash@3 + displayName: Finish pipeline + condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') + inputs: + targetType: 'inline' + script: | + echo Done diff --git a/ci/azure/azure-gcc-9-ubuntu-mpich.yml b/ci/azure/azure-gcc-9-ubuntu-mpich.yml index 9552abaa2b..53ce46e7d9 100644 --- a/ci/azure/azure-gcc-9-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-9-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-intel-oneapi-icpc-ubuntu-mpich.yml b/ci/azure/azure-intel-oneapi-icpc-ubuntu-mpich.yml index 20c6394c36..dcb74cf323 100644 --- a/ci/azure/azure-intel-oneapi-icpc-ubuntu-mpich.yml +++ b/ci/azure/azure-intel-oneapi-icpc-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-intel-oneapi-icpx-ubuntu-mpich.yml b/ci/azure/azure-intel-oneapi-icpx-ubuntu-mpich.yml index f5301e1df8..5995d17712 100644 --- a/ci/azure/azure-intel-oneapi-icpx-ubuntu-mpich.yml +++ b/ci/azure/azure-intel-oneapi-icpx-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 1 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-nvidia-11-2-ubuntu-mpich.yml b/ci/azure/azure-nvidia-11-2-ubuntu-mpich.yml index da23bddc82..ddc0cdd411 100644 --- a/ci/azure/azure-nvidia-11-2-ubuntu-mpich.yml +++ b/ci/azure/azure-nvidia-11-2-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 0 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/azure/azure-nvidia-12-ubuntu-mpich.yml b/ci/azure/azure-nvidia-12-ubuntu-mpich.yml index 3c2ce1ba58..b0daea478d 100644 --- a/ci/azure/azure-nvidia-12-ubuntu-mpich.yml +++ b/ci/azure/azure-nvidia-12-ubuntu-mpich.yml @@ -57,6 +57,7 @@ variables: VT_DEBUG_VERBOSE: 1 VT_KOKKOS_ENABLED: 0 VT_TV_ENABLED: 0 + VT_PERF_ENABLED: 0 CMAKE_CXX_STANDARD: 17 VT_CI_TEST_LB_SCHEMA: 0 RUN_FULL_CI: true diff --git a/ci/docker/ubuntu-clang-cpp.dockerfile b/ci/docker/ubuntu-clang-cpp.dockerfile index cd77b905fe..d6eb39f07f 100644 --- a/ci/docker/ubuntu-clang-cpp.dockerfile +++ b/ci/docker/ubuntu-clang-cpp.dockerfile @@ -18,6 +18,7 @@ RUN apt-get update -y -q && \ ${ubsan_enabled:+llvm-$(echo ${compiler} | cut -d- -f2)} \ brotli \ ca-certificates \ + linux-tools-generic \ ccache \ curl \ git \ diff --git a/ci/docker/ubuntu-gnu-cpp.dockerfile b/ci/docker/ubuntu-gnu-cpp.dockerfile index 5469cd6098..150e291218 100644 --- a/ci/docker/ubuntu-gnu-cpp.dockerfile +++ b/ci/docker/ubuntu-gnu-cpp.dockerfile @@ -20,6 +20,7 @@ RUN apt-get update -y -q && \ ${zoltan_enabled:+gfortran-$(echo ${compiler} | cut -d- -f2)} \ brotli \ ca-certificates \ + linux-tools-generic \ ccache \ curl \ git \ diff --git a/docker-compose.yml b/docker-compose.yml index f2e4f50c8a..660fbc796b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -103,6 +103,7 @@ x-vtopts: &vtopts VT_EXTENDED_TESTS_ENABLED: ${VT_EXTENDED_TESTS:-1} VT_CODE_COVERAGE: ${VT_CODE_COVERAGE:-0} VT_KOKKOS_ENABLED: ${VT_KOKKOS_ENABLED:-0} + VT_PERF_ENABLED: ${VT_PERF_ENABLED:-0} https_proxy: ${PROXY-} http_proxy: ${PROXY-} LSAN_OPTIONS: ${LSAN_OPTIONS-} diff --git a/scripts/workflow-azure-template.yml b/scripts/workflow-azure-template.yml index a54ba86de5..ce6b1104e8 100644 --- a/scripts/workflow-azure-template.yml +++ b/scripts/workflow-azure-template.yml @@ -45,6 +45,7 @@ variables: VT_DEBUG_VERBOSE: [% vt_debug_verbose %] VT_KOKKOS_ENABLED: [% vt_kokkos_enabled %] VT_TV_ENABLED: [% vt_tv_enabled %] + VT_PERF_ENABLED: [% vt_perf_enabled %] CMAKE_CXX_STANDARD: [% cmake_cxx_standard %] VT_CI_TEST_LB_SCHEMA: [% vt_ci_test_lb_schema %] RUN_FULL_CI: [% run_full_ci %] @@ -129,7 +130,7 @@ stages: containerregistrytype: 'Container Registry' dockerComposeFile: '**/docker-compose.yml' action: 'Run a Docker Compose command' - dockerComposeCommand: '$(compose_command) [% docker_target %]' + dockerComposeCommand: '$(compose_command) [% docker_target %][% IF privileged %] --privileged[% END %]' - task: DockerCompose@1 displayName: Build container inputs: @@ -137,7 +138,7 @@ stages: containerregistrytype: 'Container Registry' dockerComposeFile: '**/docker-compose.yml' action: 'Run a Docker Compose command' - dockerComposeCommand: 'run [% docker_target %]' + dockerComposeCommand: 'run [% IF privileged %]--privileged [% END %][% docker_target %]' env: CODECOV_TOKEN: $(codecov_token) - task: Bash@3 diff --git a/scripts/workflows-azure.ini b/scripts/workflows-azure.ini index 382448cc39..aa9cf507f1 100644 --- a/scripts/workflows-azure.ini +++ b/scripts/workflows-azure.ini @@ -47,6 +47,8 @@ vt_debug_verbose = 0 vt_kokkos_enabled = 0 run_full_ci = true vt_tv_enabled = 0 +privileged = 0 +vt_perf_enabled = 0 [PR-tests-intel-oneAPI] test_configuration = "intel icpx, ubuntu, mpich, verbose" @@ -241,3 +243,21 @@ distro = 22.04 output_name = ci/azure/azure-gcc-12-ubuntu-vttv.yml vt_tv_enabled = 1 vt_trace_only = 0 + +[PR-tests-gcc-14-perf] +test_configuration = "gcc-14, ubuntu, perf" +compiler_type = gnu +compiler = gcc-14 +distro = 24.04 +output_name = ci/azure/azure-gcc-14-ubuntu-perf.yml +vt_perf_enabled = 1 +privileged = 1 + +[PR-tests-clang-17-perf] +test_configuration = "clang-17, ubuntu, mpich, perf" +compiler_type = clang +compiler = clang-17 +distro = 22.04 +output_name = ci/azure/azure-clang-17-ubuntu-mpich-perf.yml +vt_perf_enabled = 1 +privileged = 1