From 3a0807dd1df6d6dab5888894cdaeb549002fc220 Mon Sep 17 00:00:00 2001 From: amd-hsivasun Date: Tue, 10 Feb 2026 19:40:57 +0000 Subject: [PATCH] [Azure External CI] Disable Azure CI on ROCm --- .azuredevops/README.md | 62 -- .azuredevops/ci-builds/aomp-staging.yml | 42 -- .azuredevops/ci-builds/mathlibs-trigger.yml | 33 -- .azuredevops/ci-builds/mathlibs.yml | 38 -- .azuredevops/components/AMDMIGraphX.yml | 248 -------- .azuredevops/components/HIP.yml | 135 ----- .azuredevops/components/HIPIFY.yml | 155 ----- .azuredevops/components/MIOpen.yml | 290 --------- .azuredevops/components/MIVisionX.yml | 203 ------- .azuredevops/components/ROCR-Runtime.yml | 221 ------- .../components/ROCT-Thunk-Interface.yml | 32 - .azuredevops/components/ROCdbgapi.yml | 79 --- .azuredevops/components/ROCgdb.yml | 215 ------- .../components/ROCmValidationSuite.yml | 172 ------ .azuredevops/components/Tensile.yml | 221 ------- .azuredevops/components/TransferBench.yml | 142 ----- .azuredevops/components/amdsmi.yml | 138 ----- .azuredevops/components/aomp-extras.yml | 63 -- .azuredevops/components/aomp.yml | 280 --------- .azuredevops/components/aqlprofile.yml | 174 ------ .azuredevops/components/composable_kernel.yml | 166 ------ .azuredevops/components/copyHIP.yml | 44 -- .azuredevops/components/half.yml | 72 --- .azuredevops/components/hip-tests.yml | 192 ------ .azuredevops/components/hipBLAS-common.yml | 135 ----- .azuredevops/components/hipBLAS.yml | 232 -------- .azuredevops/components/hipBLASLt.yml | 312 ---------- .azuredevops/components/hipCUB.yml | 193 ------ .azuredevops/components/hipFFT.yml | 187 ------ .azuredevops/components/hipRAND.yml | 219 ------- .azuredevops/components/hipSOLVER.yml | 198 ------- .azuredevops/components/hipSPARSE.yml | 227 -------- .azuredevops/components/hipSPARSELt.yml | 266 --------- .azuredevops/components/hipTensor.yml | 167 ------ .azuredevops/components/hipfort.yml | 166 ------ .azuredevops/components/llvm-project.yml | 200 ------- .azuredevops/components/origami.yml | 309 ---------- .azuredevops/components/rccl.yml | 242 -------- .azuredevops/components/rdc.yml | 235 -------- .azuredevops/components/rocAL.yml | 267 --------- .azuredevops/components/rocALUTION.yml | 159 ----- .azuredevops/components/rocBLAS.yml | 287 --------- .azuredevops/components/rocDecode.yml | 218 ------- .azuredevops/components/rocFFT.yml | 209 ------- .azuredevops/components/rocJPEG.yml | 183 ------ .azuredevops/components/rocMLIR.yml | 155 ----- .azuredevops/components/rocPRIM.yml | 231 -------- .azuredevops/components/rocPyDecode.yml | 264 --------- .azuredevops/components/rocRAND.yml | 223 ------- .azuredevops/components/rocSOLVER.yml | 268 --------- .azuredevops/components/rocSPARSE.yml | 243 -------- .azuredevops/components/rocThrust.yml | 195 ------- .azuredevops/components/rocWMMA.yml | 183 ------ .azuredevops/components/rocm-cmake.yml | 97 --- .azuredevops/components/rocm-core.yml | 103 ---- .azuredevops/components/rocm-examples.yml | 256 -------- .azuredevops/components/rocm-libraries.yml | 193 ------ .../components/rocm_bandwidth_test.yml | 134 ----- .azuredevops/components/rocm_smi_lib.yml | 145 ----- .azuredevops/components/rocminfo.yml | 175 ------ .../components/rocprofiler-compute.yml | 238 -------- .../components/rocprofiler-register.yml | 104 ---- .azuredevops/components/rocprofiler-sdk.yml | 231 -------- .../components/rocprofiler-systems.yml | 271 --------- .azuredevops/components/rocprofiler.yml | 233 -------- .azuredevops/components/rocr_debug_agent.yml | 135 ----- .azuredevops/components/roctracer.yml | 205 ------- .azuredevops/components/rpp.yml | 200 ------- .azuredevops/dependencies/boost.yml | 64 -- .azuredevops/dependencies/catch2.yml | 63 -- .azuredevops/dependencies/cli11.yml | 63 -- .azuredevops/dependencies/fmtlib.yml | 67 --- .azuredevops/dependencies/grpc.yml | 49 -- .azuredevops/dependencies/gtest.yml | 64 -- .azuredevops/dependencies/half560.yml | 37 -- .azuredevops/dependencies/lapack.yml | 63 -- .azuredevops/dependencies/libdivide.yml | 64 -- .azuredevops/dependencies/spdlog.yml | 71 --- .azuredevops/dependencies/yamlcpp.yml | 66 --- .azuredevops/nightly/pytorch.yml | 551 ------------------ .azuredevops/nightly/rocm-nightly.yml | 239 -------- .../download-manifest-artifacts.py | 68 --- .../requirements.txt | 1 - .azuredevops/tag-builds/AMDMIGraphX.yml | 29 - .azuredevops/tag-builds/HIP.yml | 39 -- .azuredevops/tag-builds/HIPIFY.yml | 29 - .azuredevops/tag-builds/MIOpen.yml | 29 - .azuredevops/tag-builds/MIVisionX.yml | 29 - .azuredevops/tag-builds/ROCR-Runtime.yml | 29 - .../tag-builds/ROCT-Thunk-Interface.yml | 29 - .azuredevops/tag-builds/ROCdbgapi.yml | 29 - .azuredevops/tag-builds/ROCgdb.yml | 29 - .../tag-builds/ROCmValidationSuite.yml | 29 - .azuredevops/tag-builds/Tensile.yml | 29 - .azuredevops/tag-builds/TransferBench.yml | 29 - .azuredevops/tag-builds/amdsmi.yml | 29 - .azuredevops/tag-builds/aomp-extras.yml | 25 - .azuredevops/tag-builds/aomp.yml | 49 -- .azuredevops/tag-builds/boost.yml | 23 - .azuredevops/tag-builds/catch2.yml | 23 - .azuredevops/tag-builds/cli11.yml | 23 - .azuredevops/tag-builds/clr.yml | 49 -- .azuredevops/tag-builds/composable_kernel.yml | 29 - .azuredevops/tag-builds/fmtlib.yml | 23 - .azuredevops/tag-builds/grpc.yml | 23 - .azuredevops/tag-builds/gtest.yml | 23 - .azuredevops/tag-builds/half.yml | 29 - .azuredevops/tag-builds/half560.yml | 29 - .azuredevops/tag-builds/hip-tests.yml | 29 - .azuredevops/tag-builds/hipBLAS-common.yml | 29 - .azuredevops/tag-builds/hipBLAS.yml | 29 - .azuredevops/tag-builds/hipBLASLt.yml | 29 - .azuredevops/tag-builds/hipCUB.yml | 29 - .azuredevops/tag-builds/hipFFT.yml | 29 - .azuredevops/tag-builds/hipRAND.yml | 29 - .azuredevops/tag-builds/hipSOLVER.yml | 29 - .azuredevops/tag-builds/hipSPARSE.yml | 29 - .azuredevops/tag-builds/hipSPARSELt.yml | 29 - .azuredevops/tag-builds/hipTensor.yml | 29 - .azuredevops/tag-builds/hipfort.yml | 29 - .azuredevops/tag-builds/lapack.yml | 23 - .azuredevops/tag-builds/libdivide.yml | 23 - .azuredevops/tag-builds/llvm-project.yml | 29 - .azuredevops/tag-builds/omnitrace.yml | 29 - .azuredevops/tag-builds/rccl.yml | 29 - .azuredevops/tag-builds/rdc.yml | 29 - .azuredevops/tag-builds/rocAL.yml | 29 - .azuredevops/tag-builds/rocALUTION.yml | 29 - .azuredevops/tag-builds/rocBLAS.yml | 29 - .azuredevops/tag-builds/rocDecode.yml | 29 - .azuredevops/tag-builds/rocFFT.yml | 29 - .azuredevops/tag-builds/rocJPEG.yml | 29 - .azuredevops/tag-builds/rocMLIR.yml | 29 - .azuredevops/tag-builds/rocPRIM.yml | 29 - .azuredevops/tag-builds/rocPyDecode.yml | 29 - .azuredevops/tag-builds/rocRAND.yml | 29 - .azuredevops/tag-builds/rocSOLVER.yml | 29 - .azuredevops/tag-builds/rocSPARSE.yml | 29 - .azuredevops/tag-builds/rocThrust.yml | 29 - .azuredevops/tag-builds/rocWMMA.yml | 29 - .azuredevops/tag-builds/rocm-cmake.yml | 29 - .azuredevops/tag-builds/rocm-core.yml | 29 - .azuredevops/tag-builds/rocm-examples.yml | 29 - .../tag-builds/rocm_bandwidth_test.yml | 29 - .azuredevops/tag-builds/rocm_smi_lib.yml | 29 - .azuredevops/tag-builds/rocminfo.yml | 29 - .../tag-builds/rocprofiler-compute.yml | 29 - .../tag-builds/rocprofiler-register.yml | 29 - .azuredevops/tag-builds/rocprofiler-sdk.yml | 29 - .../tag-builds/rocprofiler-systems.yml | 29 - .azuredevops/tag-builds/rocprofiler.yml | 29 - .azuredevops/tag-builds/rocr_debug_agent.yml | 29 - .azuredevops/tag-builds/roctracer.yml | 29 - .azuredevops/tag-builds/rpp.yml | 29 - .azuredevops/tag-builds/spdlog.yml | 23 - .azuredevops/tag-builds/yaml-cpp.yml | 24 - .../templates/steps/artifact-download.yml | 60 -- .../templates/steps/artifact-links.yml | 32 - .../steps/artifact-prepare-package.yml | 25 - .../templates/steps/artifact-upload.yml | 51 -- .../templates/steps/build-autotools.yml | 45 -- .azuredevops/templates/steps/build-cmake.yml | 120 ---- .azuredevops/templates/steps/build-script.yml | 22 - .azuredevops/templates/steps/ccache.yml | 14 - .azuredevops/templates/steps/checkout.yml | 30 - .../templates/steps/dependencies-aocl.yml | 35 -- .../templates/steps/dependencies-apt.yml | 35 -- .../steps/dependencies-aqlprofile.yml | 32 - .../steps/dependencies-cmake-custom.yml | 28 - .../templates/steps/dependencies-dnf.yml | 166 ------ .../templates/steps/dependencies-other.yml | 33 -- .../templates/steps/dependencies-rocm.yml | 400 ------------- .../templates/steps/dependencies-vendor.yml | 58 -- .../steps/docker-container-commit.yml | 82 --- .../templates/steps/docker-container.yml | 354 ----------- .../templates/steps/gh-actions-post.yml | 34 -- .../templates/steps/gpu-diagnostics.yml | 54 -- .../steps/local-artifact-download.yml | 60 -- .azuredevops/templates/steps/manifest.yml | 185 ------ .../templates/steps/miopen-get-ck-build.yml | 105 ---- .azuredevops/templates/steps/preamble.yml | 66 --- .azuredevops/templates/steps/test.yml | 65 --- .azuredevops/variables-global.yml | 47 -- 183 files changed, 18382 deletions(-) delete mode 100644 .azuredevops/README.md delete mode 100644 .azuredevops/ci-builds/aomp-staging.yml delete mode 100644 .azuredevops/ci-builds/mathlibs-trigger.yml delete mode 100644 .azuredevops/ci-builds/mathlibs.yml delete mode 100644 .azuredevops/components/AMDMIGraphX.yml delete mode 100644 .azuredevops/components/HIP.yml delete mode 100644 .azuredevops/components/HIPIFY.yml delete mode 100644 .azuredevops/components/MIOpen.yml delete mode 100644 .azuredevops/components/MIVisionX.yml delete mode 100644 .azuredevops/components/ROCR-Runtime.yml delete mode 100644 .azuredevops/components/ROCT-Thunk-Interface.yml delete mode 100644 .azuredevops/components/ROCdbgapi.yml delete mode 100644 .azuredevops/components/ROCgdb.yml delete mode 100644 .azuredevops/components/ROCmValidationSuite.yml delete mode 100644 .azuredevops/components/Tensile.yml delete mode 100644 .azuredevops/components/TransferBench.yml delete mode 100644 .azuredevops/components/amdsmi.yml delete mode 100644 .azuredevops/components/aomp-extras.yml delete mode 100644 .azuredevops/components/aomp.yml delete mode 100644 .azuredevops/components/aqlprofile.yml delete mode 100644 .azuredevops/components/composable_kernel.yml delete mode 100644 .azuredevops/components/copyHIP.yml delete mode 100644 .azuredevops/components/half.yml delete mode 100644 .azuredevops/components/hip-tests.yml delete mode 100644 .azuredevops/components/hipBLAS-common.yml delete mode 100644 .azuredevops/components/hipBLAS.yml delete mode 100644 .azuredevops/components/hipBLASLt.yml delete mode 100644 .azuredevops/components/hipCUB.yml delete mode 100644 .azuredevops/components/hipFFT.yml delete mode 100644 .azuredevops/components/hipRAND.yml delete mode 100644 .azuredevops/components/hipSOLVER.yml delete mode 100644 .azuredevops/components/hipSPARSE.yml delete mode 100644 .azuredevops/components/hipSPARSELt.yml delete mode 100644 .azuredevops/components/hipTensor.yml delete mode 100644 .azuredevops/components/hipfort.yml delete mode 100644 .azuredevops/components/llvm-project.yml delete mode 100644 .azuredevops/components/origami.yml delete mode 100644 .azuredevops/components/rccl.yml delete mode 100644 .azuredevops/components/rdc.yml delete mode 100644 .azuredevops/components/rocAL.yml delete mode 100644 .azuredevops/components/rocALUTION.yml delete mode 100644 .azuredevops/components/rocBLAS.yml delete mode 100644 .azuredevops/components/rocDecode.yml delete mode 100644 .azuredevops/components/rocFFT.yml delete mode 100644 .azuredevops/components/rocJPEG.yml delete mode 100644 .azuredevops/components/rocMLIR.yml delete mode 100644 .azuredevops/components/rocPRIM.yml delete mode 100644 .azuredevops/components/rocPyDecode.yml delete mode 100644 .azuredevops/components/rocRAND.yml delete mode 100644 .azuredevops/components/rocSOLVER.yml delete mode 100644 .azuredevops/components/rocSPARSE.yml delete mode 100644 .azuredevops/components/rocThrust.yml delete mode 100644 .azuredevops/components/rocWMMA.yml delete mode 100644 .azuredevops/components/rocm-cmake.yml delete mode 100644 .azuredevops/components/rocm-core.yml delete mode 100644 .azuredevops/components/rocm-examples.yml delete mode 100644 .azuredevops/components/rocm-libraries.yml delete mode 100644 .azuredevops/components/rocm_bandwidth_test.yml delete mode 100644 .azuredevops/components/rocm_smi_lib.yml delete mode 100644 .azuredevops/components/rocminfo.yml delete mode 100644 .azuredevops/components/rocprofiler-compute.yml delete mode 100644 .azuredevops/components/rocprofiler-register.yml delete mode 100644 .azuredevops/components/rocprofiler-sdk.yml delete mode 100644 .azuredevops/components/rocprofiler-systems.yml delete mode 100644 .azuredevops/components/rocprofiler.yml delete mode 100644 .azuredevops/components/rocr_debug_agent.yml delete mode 100644 .azuredevops/components/roctracer.yml delete mode 100644 .azuredevops/components/rpp.yml delete mode 100644 .azuredevops/dependencies/boost.yml delete mode 100644 .azuredevops/dependencies/catch2.yml delete mode 100644 .azuredevops/dependencies/cli11.yml delete mode 100644 .azuredevops/dependencies/fmtlib.yml delete mode 100644 .azuredevops/dependencies/grpc.yml delete mode 100644 .azuredevops/dependencies/gtest.yml delete mode 100644 .azuredevops/dependencies/half560.yml delete mode 100644 .azuredevops/dependencies/lapack.yml delete mode 100644 .azuredevops/dependencies/libdivide.yml delete mode 100644 .azuredevops/dependencies/spdlog.yml delete mode 100644 .azuredevops/dependencies/yamlcpp.yml delete mode 100644 .azuredevops/nightly/pytorch.yml delete mode 100644 .azuredevops/nightly/rocm-nightly.yml delete mode 100644 .azuredevops/scripts/download-manifest-artifacts/download-manifest-artifacts.py delete mode 100644 .azuredevops/scripts/download-manifest-artifacts/requirements.txt delete mode 100644 .azuredevops/tag-builds/AMDMIGraphX.yml delete mode 100644 .azuredevops/tag-builds/HIP.yml delete mode 100644 .azuredevops/tag-builds/HIPIFY.yml delete mode 100644 .azuredevops/tag-builds/MIOpen.yml delete mode 100644 .azuredevops/tag-builds/MIVisionX.yml delete mode 100644 .azuredevops/tag-builds/ROCR-Runtime.yml delete mode 100644 .azuredevops/tag-builds/ROCT-Thunk-Interface.yml delete mode 100644 .azuredevops/tag-builds/ROCdbgapi.yml delete mode 100644 .azuredevops/tag-builds/ROCgdb.yml delete mode 100644 .azuredevops/tag-builds/ROCmValidationSuite.yml delete mode 100644 .azuredevops/tag-builds/Tensile.yml delete mode 100644 .azuredevops/tag-builds/TransferBench.yml delete mode 100644 .azuredevops/tag-builds/amdsmi.yml delete mode 100644 .azuredevops/tag-builds/aomp-extras.yml delete mode 100644 .azuredevops/tag-builds/aomp.yml delete mode 100644 .azuredevops/tag-builds/boost.yml delete mode 100644 .azuredevops/tag-builds/catch2.yml delete mode 100644 .azuredevops/tag-builds/cli11.yml delete mode 100644 .azuredevops/tag-builds/clr.yml delete mode 100644 .azuredevops/tag-builds/composable_kernel.yml delete mode 100644 .azuredevops/tag-builds/fmtlib.yml delete mode 100644 .azuredevops/tag-builds/grpc.yml delete mode 100644 .azuredevops/tag-builds/gtest.yml delete mode 100644 .azuredevops/tag-builds/half.yml delete mode 100644 .azuredevops/tag-builds/half560.yml delete mode 100644 .azuredevops/tag-builds/hip-tests.yml delete mode 100644 .azuredevops/tag-builds/hipBLAS-common.yml delete mode 100644 .azuredevops/tag-builds/hipBLAS.yml delete mode 100644 .azuredevops/tag-builds/hipBLASLt.yml delete mode 100644 .azuredevops/tag-builds/hipCUB.yml delete mode 100644 .azuredevops/tag-builds/hipFFT.yml delete mode 100644 .azuredevops/tag-builds/hipRAND.yml delete mode 100644 .azuredevops/tag-builds/hipSOLVER.yml delete mode 100644 .azuredevops/tag-builds/hipSPARSE.yml delete mode 100644 .azuredevops/tag-builds/hipSPARSELt.yml delete mode 100644 .azuredevops/tag-builds/hipTensor.yml delete mode 100644 .azuredevops/tag-builds/hipfort.yml delete mode 100644 .azuredevops/tag-builds/lapack.yml delete mode 100644 .azuredevops/tag-builds/libdivide.yml delete mode 100644 .azuredevops/tag-builds/llvm-project.yml delete mode 100644 .azuredevops/tag-builds/omnitrace.yml delete mode 100644 .azuredevops/tag-builds/rccl.yml delete mode 100644 .azuredevops/tag-builds/rdc.yml delete mode 100644 .azuredevops/tag-builds/rocAL.yml delete mode 100644 .azuredevops/tag-builds/rocALUTION.yml delete mode 100644 .azuredevops/tag-builds/rocBLAS.yml delete mode 100644 .azuredevops/tag-builds/rocDecode.yml delete mode 100644 .azuredevops/tag-builds/rocFFT.yml delete mode 100644 .azuredevops/tag-builds/rocJPEG.yml delete mode 100644 .azuredevops/tag-builds/rocMLIR.yml delete mode 100644 .azuredevops/tag-builds/rocPRIM.yml delete mode 100644 .azuredevops/tag-builds/rocPyDecode.yml delete mode 100644 .azuredevops/tag-builds/rocRAND.yml delete mode 100644 .azuredevops/tag-builds/rocSOLVER.yml delete mode 100644 .azuredevops/tag-builds/rocSPARSE.yml delete mode 100644 .azuredevops/tag-builds/rocThrust.yml delete mode 100644 .azuredevops/tag-builds/rocWMMA.yml delete mode 100644 .azuredevops/tag-builds/rocm-cmake.yml delete mode 100644 .azuredevops/tag-builds/rocm-core.yml delete mode 100644 .azuredevops/tag-builds/rocm-examples.yml delete mode 100644 .azuredevops/tag-builds/rocm_bandwidth_test.yml delete mode 100644 .azuredevops/tag-builds/rocm_smi_lib.yml delete mode 100644 .azuredevops/tag-builds/rocminfo.yml delete mode 100644 .azuredevops/tag-builds/rocprofiler-compute.yml delete mode 100644 .azuredevops/tag-builds/rocprofiler-register.yml delete mode 100644 .azuredevops/tag-builds/rocprofiler-sdk.yml delete mode 100644 .azuredevops/tag-builds/rocprofiler-systems.yml delete mode 100644 .azuredevops/tag-builds/rocprofiler.yml delete mode 100644 .azuredevops/tag-builds/rocr_debug_agent.yml delete mode 100644 .azuredevops/tag-builds/roctracer.yml delete mode 100644 .azuredevops/tag-builds/rpp.yml delete mode 100644 .azuredevops/tag-builds/spdlog.yml delete mode 100644 .azuredevops/tag-builds/yaml-cpp.yml delete mode 100644 .azuredevops/templates/steps/artifact-download.yml delete mode 100644 .azuredevops/templates/steps/artifact-links.yml delete mode 100644 .azuredevops/templates/steps/artifact-prepare-package.yml delete mode 100644 .azuredevops/templates/steps/artifact-upload.yml delete mode 100644 .azuredevops/templates/steps/build-autotools.yml delete mode 100644 .azuredevops/templates/steps/build-cmake.yml delete mode 100644 .azuredevops/templates/steps/build-script.yml delete mode 100644 .azuredevops/templates/steps/ccache.yml delete mode 100644 .azuredevops/templates/steps/checkout.yml delete mode 100644 .azuredevops/templates/steps/dependencies-aocl.yml delete mode 100644 .azuredevops/templates/steps/dependencies-apt.yml delete mode 100644 .azuredevops/templates/steps/dependencies-aqlprofile.yml delete mode 100644 .azuredevops/templates/steps/dependencies-cmake-custom.yml delete mode 100644 .azuredevops/templates/steps/dependencies-dnf.yml delete mode 100644 .azuredevops/templates/steps/dependencies-other.yml delete mode 100644 .azuredevops/templates/steps/dependencies-rocm.yml delete mode 100644 .azuredevops/templates/steps/dependencies-vendor.yml delete mode 100644 .azuredevops/templates/steps/docker-container-commit.yml delete mode 100644 .azuredevops/templates/steps/docker-container.yml delete mode 100644 .azuredevops/templates/steps/gh-actions-post.yml delete mode 100644 .azuredevops/templates/steps/gpu-diagnostics.yml delete mode 100644 .azuredevops/templates/steps/local-artifact-download.yml delete mode 100644 .azuredevops/templates/steps/manifest.yml delete mode 100644 .azuredevops/templates/steps/miopen-get-ck-build.yml delete mode 100644 .azuredevops/templates/steps/preamble.yml delete mode 100644 .azuredevops/templates/steps/test.yml delete mode 100644 .azuredevops/variables-global.yml diff --git a/.azuredevops/README.md b/.azuredevops/README.md deleted file mode 100644 index 7f105aa02..000000000 --- a/.azuredevops/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# ROCm-CI Azure DevOps Pipelines - -ROCm-CI Azure DevOps Pipelines contains markup language files that orchestrate build and test pipelines for ROCm components using [Azure DevOps](https://dev.azure.com/ROCm-CI/ROCm-CI/_build). - -## Project Organization - -- `/.azuredevops/variables-global.yml` - set of global variables accessible across any and all pipelines - - protected keywords such as tokens and passwords are kept as secrets within the Azure DevOps project -- `/.azuredevops/components` - the sequence of templated steps for the job that checks out source, builds, packages, and runs tests for a ROCm repo -- `/.azuredevops/scheduled` - the sequence of templated steps for jobs that are schedule-based and not tied to a specific ROCm repo -- `/.azuredevops/tag-builds` - yml files to orchestrate manual builds based on specific tags (e.g., releases) without needing the corresponding yaml file in the component's repo -- `/.azuredevops/templates` - reusable yml files representing the templated steps that form the sequences in the above directories - -### Per ROCm Repo - -- `/.azuredevops/rocm-ci.yml` - contains the CI and PR trigger definitions associated with that repo, pointing to the corresponding yml file in the components folder in this central repository - -## Key Azure Reference Links - -- [Pipeline Basics](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/key-pipelines-concepts?view=azure-devops) -- [Templates](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops&pivots=templates-includes) -- [Use Predefined Variables](https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml) -- [YAML schema](https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/?view=azure-pipelines&viewFallbackFrom=azure-devops) -- [Azure Pipelines Task Index](https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/?view=azure-pipelines) - -## VMSS Setup - -The Azure VMSS used for build jobs have docker installed during provisioning through the Azure Portal's settings. -Select the VMSS, then go to Settings, Operating system. -In the Custom Data section, select to Modify Custom Data. Enter the code block below and Apply. - -```bash -#cloud-config - -bootcmd: - - mkdir -p /etc/systemd/system/walinuxagent.service.d - - echo "[Unit]\nAfter=cloud-final.service" > /etc/systemd/system/walinuxagent.service.d/override.conf - - sed "s/After=multi-user.target//g" /lib/systemd/system/cloud-final.service > /etc/systemd/system/cloud-final.service - - systemctl daemon-reload - -apt: - sources: - docker.list: - source: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable - keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 - -packages: - - docker-ce - - docker-ce-cli - -groups: - - docker - -runcmd: - - usermod -aG docker $USER - - systemctl restart docker - - systemctl enable docker -``` - -## Disclaimer - -The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions, and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard versionchanges, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. Any computer system has risks of security vulnerabilities that cannot be completely prevented or mitigated.AMD assumes no obligation to update or otherwise correct or revise this information. However, AMD reserves the right to revise this information and to make changes from time to time to the content hereof without obligation of AMD to notify any person of such revisions or changes.THIS INFORMATION IS PROVIDED ‘AS IS.” AMD MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE CONTENTS HEREOF AND ASSUMES NO RESPONSIBILITY FOR ANY INACCURACIES, ERRORS, OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. AMD SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT WILL AMD BE LIABLE TO ANY PERSON FOR ANY RELIANCE, DIRECT, INDIRECT, SPECIAL, OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF AMD IS EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD Arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. diff --git a/.azuredevops/ci-builds/aomp-staging.yml b/.azuredevops/ci-builds/aomp-staging.yml deleted file mode 100644 index 63414db12..000000000 --- a/.azuredevops/ci-builds/aomp-staging.yml +++ /dev/null @@ -1,42 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -resources: - repositories: - - repository: aomp_repo - type: github - endpoint: ROCm - name: ROCm/aomp - ref: aomp-dev - - repository: aomp-extras_repo - type: github - endpoint: ROCm - name: ROCm/aomp-extras - ref: aomp-dev - - repository: flang_repo - type: github - endpoint: ROCm - name: ROCm/flang - ref: aomp-dev - - repository: llvm-project_repo - type: github - endpoint: ROCm - name: ROCm/llvm-project - ref: amd-staging - pipelines: - - pipeline: rocr-runtime_pipeline - source: \ROCR-Runtime - trigger: - branches: - include: - - amd-staging -# this job will only be triggered after successful build sequence of llvm-project and ROCR-Runtime - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml - parameters: - checkoutRepo: aomp_repo diff --git a/.azuredevops/ci-builds/mathlibs-trigger.yml b/.azuredevops/ci-builds/mathlibs-trigger.yml deleted file mode 100644 index 7bdb4dead..000000000 --- a/.azuredevops/ci-builds/mathlibs-trigger.yml +++ /dev/null @@ -1,33 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml@pipelines_repo - -parameters: -- name: pipelinesRepoRef - type: string - default: refs/heads/develop -- name: librariesRepoRef - type: string - default: refs/heads/develop - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - ref: ${{ parameters.pipelinesRepoRef }} - - repository: libraries_repo - type: github - endpoint: ROCm - name: ROCm/rocm-libraries - ref: ${{ parameters.librariesRepoRef }} - -trigger: none -pr: none - -jobs: - - template: /.azuredevops/ci-builds/mathlibs.yml@pipelines_repo - parameters: - checkoutRepo: libraries_repo - buildDependsOn: false diff --git a/.azuredevops/ci-builds/mathlibs.yml b/.azuredevops/ci-builds/mathlibs.yml deleted file mode 100644 index 6e75345f6..000000000 --- a/.azuredevops/ci-builds/mathlibs.yml +++ /dev/null @@ -1,38 +0,0 @@ -# entrypoint for kicking off a unified build of the mathlibs -# this template is designed to be called by another pipeline (llvm, clr, etc.) -# `buildDependsOn` will need to be set when calling this template -# passes a `unifiedBuild` param to downstream pipelines, which will prevent duplicate jobs -# logic needs to be added in individual mathlib pipelines for handling `unifiedBuild` - -parameters: -- name: checkoutRepo - type: string - default: monorepo -- name: buildDependsOn - type: object - default: false -- name: downstreamComponentMatrix - type: object - default: - - rocRAND: - name: rocRAND - sparseCheckoutDir: projects/rocrand - - rocPRIM: - name: rocPRIM - sparseCheckoutDir: projects/rocprim - - hipBLAS-common: - name: hipBLAS-common - sparseCheckoutDir: projects/hipblas-common - # - composable_kernel: - # name: composable_kernel - # sparseCheckoutDir: projects/composablekernel - -jobs: -- ${{ each component in parameters.downstreamComponentMatrix }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ parameters.buildDependsOn }} - triggerDownstreamJobs: true - unifiedBuild: true diff --git a/.azuredevops/components/AMDMIGraphX.yml b/.azuredevops/components/AMDMIGraphX.yml deleted file mode 100644 index 7e6460468..000000000 --- a/.azuredevops/components/AMDMIGraphX.yml +++ /dev/null @@ -1,248 +0,0 @@ -parameters: -- name: componentName - type: string - default: AMDMIGraphX -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -# - name: sparseCheckoutDir -# type: string -# default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - libdnnl-dev - - libdrm-dev - - libmsgpack-dev - - libnuma-dev - - libprotobuf-dev - - libsqlite3-dev - - libtbb-dev - - ninja-build - - nlohmann-json3-dev - - protobuf-compiler - - python3-pip - - python3-pybind11 - - python3-venv -- name: pipModules - type: object - default: - - https://github.com/RadeonOpenCompute/rbuild/archive/master.tar.gz - - "onnx>=1.14.1" - - "numpy>=1.21.6" - - "typing>=3.7.4" - - "pytest>=6.0.1" - - "packaging>=23.0" - - "protobuf>=3.20.2" -- name: rocmDependencies - type: object - default: - - aomp - - aomp-extras - - clr - - composable_kernel - - hipBLAS - - hipBLAS-common - - hipBLASLt - - llvm-project - - MIOpen - - rocm-cmake - - ROCR-Runtime - - rocBLAS - - rocminfo - - rocMLIR - - rocprofiler-register - - roctracer -- name: rocmTestDependencies - type: object - default: - - aomp - - aomp-extras - - clr - - composable_kernel - - hipBLAS - - hipBLAS-common - - hipBLASLt - - llvm-project - - MIOpen - - rocm-cmake - - ROCR-Runtime - - rocBLAS - - rocminfo - - rocMLIR - - rocprofiler-register - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - parameters: - cmakeVersion: '3.28.6' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - # half version should be fixed to 5.6.0 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - buildType: specific - definitionId: ${{ variables.HALF560_PIPELINE_ID }} - buildId: ${{ variables.HALF560_BUILD_ID }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -DAMDGPU_TARGETS=${{ job.target }} - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm - -DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include - -DBUILD_TESTING=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: MIGRAPHX_TRACE_BENCHMARKING - value: 1 - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - parameters: - cmakeVersion: '3.28.6' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - # half version should be fixed to 5.6.0 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - buildType: specific - definitionId: ${{ variables.HALF560_PIPELINE_ID }} - buildId: ${{ variables.HALF560_BUILD_ID }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: CMake@1 - displayName: MIGraphXTest CMake Flags - inputs: - cmakeArgs: >- - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -DAMDGPU_TARGETS=${{ job.target }} - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm - -DHALF_INCLUDE_DIR=$(Agent.BuildDirectory)/rocm/include - -DBUILD_TESTING=ON - -DMIGRAPHX_ENABLE_C_API_TEST=ON - .. - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testExecutable: make - testParameters: -j$(nproc) check - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - extraEnvVars: - - MIGRAPHX_TRACE_BENCHMARKING:::1 diff --git a/.azuredevops/components/HIP.yml b/.azuredevops/components/HIP.yml deleted file mode 100644 index dd54ecd2c..000000000 --- a/.azuredevops/components/HIP.yml +++ /dev/null @@ -1,135 +0,0 @@ -parameters: -- name: componentName - type: string - default: hip_clr_combined -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libnuma-dev - - libsimde-dev - - mesa-common-dev - - ninja-build - - ocl-icd-libopencl1 - - ocl-icd-opencl-dev - - opencl-headers - - zlib1g-dev -- name: pipModules - type: object - default: - - CppHeaderParser -- name: rocmDependenciesAMD - type: object - default: - - llvm-project - - ROCR-Runtime - - rocprofiler-register -- name: rocmDependenciesNvidia - type: object - default: - - llvm-project - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, platform: amd } - - { os: ubuntu2204, packageManager: apt, platform: nvidia } - - { os: almalinux8, packageManager: dnf, platform: amd } - - { os: almalinux8, packageManager: dnf, platform: nvidia } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_${{ job.os }}_${{ job.platform }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - # full checkout of rocm-systems superrepo, we need clr, hip, and hipother - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - # sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - ${{ if eq(job.platform, 'amd') }}: - dependencyList: ${{ parameters.rocmDependenciesAMD }} - ${{ elseif eq(job.platform, 'nvidia') }}: - dependencyList: ${{ parameters.rocmDependenciesNvidia }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: clr - cmakeBuildDir: $(Agent.BuildDirectory)/s/projects/clr/build - cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/clr - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DHIPCC_BIN_DIR=$(Agent.BuildDirectory)/rocm/bin - -DHIP_COMMON_DIR=$(Agent.BuildDirectory)/s/projects/hip - -DHIPNV_DIR=$(Agent.BuildDirectory)/s/projects/hipother/hipnv - -DHIP_PLATFORM=${{ job.platform }} - -DCLR_BUILD_HIP=ON - -DCLR_BUILD_OCL=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - artifactName: ${{ job.platform }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - artifactName: ${{ job.platform }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml diff --git a/.azuredevops/components/HIPIFY.yml b/.azuredevops/components/HIPIFY.yml deleted file mode 100644 index 55c8565b5..000000000 --- a/.azuredevops/components/HIPIFY.yml +++ /dev/null @@ -1,155 +0,0 @@ -parameters: -- name: componentName - type: string - default: HIPIFY -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cuda-toolkit-12-9 - - libcudnn9-dev-cuda-12 - - libnuma-dev - - mesa-common-dev - - ninja-build - - python-is-python3 - - python3-dev - - python3-pip -- name: pipModules - type: object - default: - - lit -- name: rocmDependencies - type: object - default: - - llvm-project - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - name: rocm-ci_medium_build_pool_2404 - ${{ else }}: - name: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - task: Bash@3 - displayName: 'Register CUDA packages' - inputs: - targetType: inline - ${{ if eq(job.os, 'ubuntu2204') }}: - script: | - wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb - sudo dpkg -i cuda-keyring_1.1-1_all.deb - sudo rm -f cuda-keyring_1.1-1_all.deb - sudo apt update - ${{ if eq(job.os, 'almalinux8') }}: - script: | - sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - task: Bash@3 - displayName: Add lit to PATH - inputs: - targetType: inline - script: | - site_packages=$(python3 -m site --user-base)/bin - sudo ln -sf $site_packages/bin/lit $(Pipeline.Workspace)/llvm-lit - echo "##vso[task.prependpath]$site_packages" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - # cutensor is not available from apt or dnf - - task: Bash@3 - displayName: 'Download and install cutensor' - inputs: - targetType: inline - script: | - wget -q --show-progress https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/libcutensor-linux-x86_64-2.2.0.0-archive.tar.xz - tar -xvJf libcutensor-linux-x86_64-*.tar.xz - mkdir -p $(Pipeline.Workspace)/cutensor - cp -r libcutensor-linux-x86_64-*/* $(Pipeline.Workspace)/cutensor/ - - task: Bash@3 - displayName: 'List downloaded CUDA files' - inputs: - targetType: inline - script: ls -la1R /usr/local/cuda-12.9 - # script: cp $(Pipeline.Workspace)/llvm-project/llvm/build/bin/FileCheck $(Pipeline.Workspace)/llvm/bin - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;/usr/local/cuda/targets/x86_64-linux/lib - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DHIPIFY_CLANG_TESTS=ON - -DCMAKE_BUILD_TYPE=Release - -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-12.9 - -DCUDA_DNN_ROOT_DIR=/usr/local/cuda-12.9 - -DCUDA_CUB_ROOT_DIR=/usr/local/cuda-12.9/targets/x86_64-linux/include/cub - -DCUDA_TENSOR_ROOT_DIR=$(Pipeline.Workspace)/cutensor/ - multithreadFlag: -- -j32 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - # parameters: - # componentName: HIPIFY - # testDir: $(Build.SourcesDirectory)/build - # testExecutable: make - # testParameters: -j 32 test-hipify - # testPublishResults: false - # os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: combined - registerCUDAPackages: true - extraCopyDirectories: - - llvm-project diff --git a/.azuredevops/components/MIOpen.yml b/.azuredevops/components/MIOpen.yml deleted file mode 100644 index 140c8a200..000000000 --- a/.azuredevops/components/MIOpen.yml +++ /dev/null @@ -1,290 +0,0 @@ -parameters: -- name: componentName - type: string - default: MIOpen -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - jq - - libdrm-dev - - libmsgpack-dev - - libsqlite3-dev - - libstdc++-12-dev - - ninja-build - - python3-pip - - python3-venv - - software-properties-common - - zip -- name: pipModules - type: object - default: - - cget -- name: rocmDependencies - type: object - default: - - half - - rocRAND - - rocBLAS - - hipBLAS - - hipBLASLt - - hipBLAS-common - - rocm-cmake - - llvm-project - - ROCR-Runtime - - rocprofiler-register - - clr - - rocminfo - - roctracer -- name: rocmTestDependencies - type: object - default: - - clr - - half - - hipBLAS - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocBLAS - - rocm-cmake - - rocminfo - - ROCR-Runtime - - rocprofiler-register - - rocRAND - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a -- name: downstreamComponentMatrix - type: object - default: - - MIVisionX: - name: MIVisionX - checkoutRepo: mivisionx_repo - sparseCheckoutDir: '' - skipUnifiedBuild: 'false' - buildDependsOn: - - MIOpen_build - - AMDMIGraphX: - name: AMDMIGraphX - checkoutRepo: amdmigraphx_repo - sparseCheckoutDir: '' - skipUnifiedBuild: 'false' - buildDependsOn: - - MIOpen_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Build and install other dependencies - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory)/s - script: | - sed -i '/composable_kernel/d' requirements.txt - mkdir -p $(Agent.BuildDirectory)/miopen-deps - export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps --generator Ninja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DMIOPEN_BACKEND=HIP - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/miopen-deps - -DGPU_TARGETS=${{ job.target }} - -DMIOPEN_ENABLE_AI_KERNEL_TUNING=OFF - -DMIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK=OFF - -DCMAKE_BUILD_TYPE=Release - -DBUILD_TESTING=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - extraCopyDirectories: - - miopen-deps - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - timeoutInMinutes: 180 - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/miopen-get-ck-build.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Build and install other dependencies - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory)/s - script: | - sed -i '/composable_kernel/d' requirements.txt - mkdir -p $(Agent.BuildDirectory)/miopen-deps - export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - cmake -P install_deps.cmake --prefix $(Agent.BuildDirectory)/miopen-deps - - task: CMake@1 - displayName: 'MIOpen Test CMake Flags' - inputs: - cmakeArgs: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/s/bin;$(Agent.BuildDirectory)/miopen-deps - -DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocm - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DMIOPEN_BACKEND=HIP - -DMIOPEN_TEST_FLAGS=" --disable-verification-cache" - -DCMAKE_BUILD_TYPE=release - -DBUILD_DEV=OFF - -DMIOPEN_USE_MLIR=ON - -DMIOPEN_GPU_SYNC=OFF - $(Agent.BuildDirectory)/s - - task: Bash@3 - displayName: 'MIOpen Test Build' - inputs: - targetType: inline - workingDirectory: build - script: | - cmake --build . --target tests -- -j$(nproc) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "test_rnn_seq_api|GPU_Conv2dTuningAsm_FP32|GPU_Conv2dTuningAsmBwdWrw_FP32"' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - extraCopyDirectories: - - miopen-deps - -# - ${{ if parameters.triggerDownstreamJobs }}: -# - ${{ each component in parameters.downstreamComponentMatrix }}: -# - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: -# - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo -# parameters: -# checkoutRepo: ${{ component.checkoutRepo }} -# # sparseCheckoutDir: ${{ component.sparseCheckoutDir }} -# buildDependsOn: ${{ component.buildDependsOn }} -# downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} -# triggerDownstreamJobs: true -# unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/MIVisionX.yml b/.azuredevops/components/MIVisionX.yml deleted file mode 100644 index 1923640ab..000000000 --- a/.azuredevops/components/MIVisionX.yml +++ /dev/null @@ -1,203 +0,0 @@ -parameters: -- name: componentName - type: string - default: MIVisionX -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -# - name: sparseCheckoutDir -# type: string -# default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - wget - - unzip - - libstdc++-12-dev - - pkg-config - - ffmpeg - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - libswscale-dev - - libgmp-dev - - libomp-dev - - libopencv-dev - - protobuf-compiler - - libprotoc-dev - - python3-pip -- name: pipModules - type: object - default: - - future==1.0.0 - - pytz==2022.1 - - numpy==1.23 - - google==3.0.0 - - protobuf==3.12.4 - - onnx==1.12.0 - - nnef==1.0.7 -- name: rocmDependencies - type: object - default: - - clr - - half - - llvm-project - - rocDecode - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rpp -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - half - - llvm-project - - ROCR-Runtime - - roctracer - - rpp - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_DEP_ROCMCORE=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: LD_LIBRARY_PATH - value: $(Agent.BuildDirectory)/rocm/lib:$(Agent.BuildDirectory)/rocm/include/mivisionx/VX - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Build MIVisionX tests - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - mkdir mivisionx-tests - cd mivisionx-tests - cmake $(Agent.BuildDirectory)/rocm/share/mivisionx/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: 'mivisionx-tests' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - optSymLink: true diff --git a/.azuredevops/components/ROCR-Runtime.yml b/.azuredevops/components/ROCR-Runtime.yml deleted file mode 100644 index 5d2999167..000000000 --- a/.azuredevops/components/ROCR-Runtime.yml +++ /dev/null @@ -1,221 +0,0 @@ -parameters: -- name: componentName - type: string - default: ROCR-Runtime -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - g++ - - libdrm-dev - - libelf-dev - - libnuma-dev - - libsimde-dev - - ninja-build - - pkg-config -- name: rocmDependencies - type: object - default: - - llvm-project - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - amdsmi - - llvm-project - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ROCR_Runtime_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DBUILD_SHARED_LIBS=ON - -DCMAKE_BUILD_TYPE=Release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ROCR_Runtime_test_${{ job.os }}_${{ job.target }} - dependsOn: ROCR_Runtime_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - parameters: - runRocminfo: false - - task: Bash@3 - displayName: Build kfdtest - inputs: - targetType: 'inline' - workingDirectory: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest - script: | - if [ -e /opt/rh/gcc-toolset-14/enable ]; then - source /opt/rh/gcc-toolset-14/enable - fi - mkdir build && cd build - cmake -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm .. - make - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: kfdtest - testExecutable: BIN_DIR=$(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh - testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes' - testDir: $(Agent.BuildDirectory)/s/libhsakmt/tests/kfdtest/scripts - os: ${{ job.os }} - - task: Bash@3 - displayName: Build rocrtst - inputs: - targetType: 'inline' - workingDirectory: $(Agent.BuildDirectory)/s/rocrtst/suites/test_common - script: | - echo $(Agent.BuildDirectory)/s/rocrtst/thirdparty/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf - sudo cat /etc/ld.so.conf.d/rocm-ci.conf - sudo ldconfig -v - ldconfig -p - if [ -e /opt/rh/gcc-toolset-14/enable ]; then - source /opt/rh/gcc-toolset-14/enable - fi - BASE_CLANG_DIR=$(Agent.BuildDirectory)/rocm/llvm/lib/clang - export NEWEST_CLANG_VER=$(ls -1 $BASE_CLANG_DIR | sort -V | tail -n 1) - mkdir build && cd build - cmake .. \ - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm \ - -DTARGET_DEVICES=${{ job.target }} \ - -DROCM_DIR=$(Agent.BuildDirectory)/rocm \ - -DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm/bin \ - -DOPENCL_INC_DIR=$BASE_CLANG_DIR/$NEWEST_CLANG_VER/include - make - make rocrtst_kernels - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocrtst - testExecutable: ./rocrtst64 - testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes' - testDir: $(Agent.BuildDirectory)/s//rocrtst/suites/test_common/build/${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - # docker image will be missing libhwloc5 diff --git a/.azuredevops/components/ROCT-Thunk-Interface.yml b/.azuredevops/components/ROCT-Thunk-Interface.yml deleted file mode 100644 index 3d8cae54c..000000000 --- a/.azuredevops/components/ROCT-Thunk-Interface.yml +++ /dev/null @@ -1,32 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: aptPackages - type: object - default: - - libnuma-dev - - libdrm-dev - -jobs: -- job: ROCT_Thunk_Interface - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.LOW_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml diff --git a/.azuredevops/components/ROCdbgapi.yml b/.azuredevops/components/ROCdbgapi.yml deleted file mode 100644 index a29f6deea..000000000 --- a/.azuredevops/components/ROCdbgapi.yml +++ /dev/null @@ -1,79 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ROCdbgapi_build_${{ job.os }} - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/components/ROCgdb.yml b/.azuredevops/components/ROCgdb.yml deleted file mode 100644 index 0bc050343..000000000 --- a/.azuredevops/components/ROCgdb.yml +++ /dev/null @@ -1,215 +0,0 @@ -parameters: -- name: componentName - type: string - default: ROCgdb -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -# reference: https://github.com/ROCm/ROCgdb/blob/amd-staging/README-ROCM.md -- name: aptPackages - type: object - default: - - bison - - cmake - - dejagnu - - flex - - libbabeltrace-dev - - libexpat-dev - - libgmp-dev - - liblzma-dev - - libmpfr-dev - - ncurses-dev - - pkg-config - - python3-dev - - python3-pip - - texinfo - - zlib1g-dev -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - ROCdbgapi - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: PKG_CONFIG_PATH - value: $(Agent.BuildDirectory)/rocm/share/pkgconfig - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - name: rocm-ci_medium_build_pool_2404 - ${{ else }}: - name: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml - parameters: - os: ${{ job.os }} - configureFlags: >- - --program-prefix=roc - --enable-64-bit-bfd - --enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa" - --disable-ld - --disable-gas - --disable-gdbserver - --disable-sim - --enable-tui - --disable-gdbtk - --disable-shared - --disable-gprofng - --with-expat - --with-system-zlib - --without-guile - --with-babeltrace - --with-lzma - --with-python=python3 - --with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm - LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib" - makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: PKG_CONFIG_PATH - value: $(Agent.BuildDirectory)/rocm/share/pkgconfig - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-autotools.yml - parameters: - os: ${{ job.os }} - configureFlags: >- - --program-prefix=roc - --enable-64-bit-bfd - --enable-targets="x86_64-linux-gnu,amdgcn-amd-amdhsa" - --disable-ld - --disable-gas - --disable-gdbserver - --disable-sim - --enable-tui - --disable-gdbtk - --disable-shared - --disable-gprofng - --with-expat - --with-system-zlib - --without-guile - --with-babeltrace - --with-lzma - --with-python=python3 - --with-rocm-dbgapi=$(Agent.BuildDirectory)/rocm - LDFLAGS="-Wl,--enable-new-dtags,-rpath=$(Agent.BuildDirectory)/rocm/lib" - makeCallPrefix: LD_RUN_PATH='${ORIGIN}/../lib' - - task: Bash@3 - displayName: Setup test environment - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - echo "##vso[task.prependpath]/opt/rocm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: check-gdb - continueOnError: true - inputs: - targetType: inline - script: | - ${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - make check-gdb TESTS=gdb.rocm/simple.exp - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: print gdb log - inputs: - targetType: inline - script: find -name gdb.log -exec cat {} \; - workingDirectory: $(Build.SourcesDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: combined - gpuTarget: ${{ job.target }} - extraEnvVars: - - PKG_CONFIG_PATH:::/home/user/workspace/rocm/share/pkgconfig diff --git a/.azuredevops/components/ROCmValidationSuite.yml b/.azuredevops/components/ROCmValidationSuite.yml deleted file mode 100644 index 3e93f7e1c..000000000 --- a/.azuredevops/components/ROCmValidationSuite.yml +++ /dev/null @@ -1,172 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - libdrm-dev - - libyaml-cpp-dev - - libpci-dev - - libpci3 - - libgst-dev - - libgtest-dev - - git - - python3-pip -- name: rocmDependencies - type: object - default: - - amdsmi - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - hipRAND - - llvm-project - - rocBLAS - - rocm-cmake - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocRAND -- name: rocmTestDependencies - type: object - default: - - amdsmi - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - hipRAND - - llvm-project - - rocBLAS - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocRAND - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - confDir: MI300X - - gfx90a: - target: gfx90a - confDir: MI210 - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ROCmValidationSuite_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - - name: HIP_INC_DIR - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/llvm/include - -DCPACK_PACKAGING_INSTALL_PREFIX=$(Build.BinariesDirectory) - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - # extraEnvVars: - # - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - # - ROCM_PATH:::/home/user/workspace/rocm - # - HIP_INC_DIR:::/home/user/workspace/rocm - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ROCmValidationSuite_test_${{ job.target }} - dependsOn: ROCmValidationSuite_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ROCmValidationSuite - testExecutable: $(Agent.BuildDirectory)/rocm/bin/rvs -c $(Agent.BuildDirectory)/rocm/share/rocm-validation-suite/conf/${{ job.confDir }}/gst_single.conf - testParameters: '' - testDir: $(Agent.BuildDirectory) - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/Tensile.yml b/.azuredevops/components/Tensile.yml deleted file mode 100644 index 3b31727ce..000000000 --- a/.azuredevops/components/Tensile.yml +++ /dev/null @@ -1,221 +0,0 @@ -parameters: -- name: componentName - type: string - default: Tensile -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libboost-filesystem-dev - - libboost-program-options-dev - - libmsgpack-dev -- name: pipModules - type: object - default: - - tox - - pytest -- name: rocmDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rocm-cmake - - rocm-core - - rocminfo - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: ${{ parameters.buildDependsOn[job.target] }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - task: Bash@3 - displayName: Create wheel file - inputs: - targetType: inline - script: python3 setup.py bdist_wheel - workingDirectory: $(Agent.BuildDirectory)/s - - task: Bash@3 - displayName: Rename wheel file with job OS - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory)/s - script: | - wheelFile=$(find "$(Agent.BuildDirectory)/s/dist" -type f -name "*.whl" | head -n 1) - newWheelFile="$(basename "$wheelFile" .whl)-${{ job.os }}.whl" - mv "$wheelFile" "$(dirname "$wheelFile")/$newWheelFile" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: $(Agent.BuildDirectory)/s/dist - contentsString: '*.whl' - targetDir: $(Build.ArtifactStagingDirectory) - clean: false - - task: PublishPipelineArtifact@1 - displayName: 'wheel file Publish' - retryCountOnTaskFailure: 3 - inputs: - targetPath: $(Build.ArtifactStagingDirectory) - - task: Bash@3 - displayName: Save pipeline artifact file names - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1) - if [ -n "$whlFile" ]; then - echo $(basename "$whlFile") >> pipelineArtifacts.txt - fi - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: Tensile_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 180 - dependsOn: Tensile_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: DownloadPipelineArtifact@2 - displayName: 'Download Pipeline Wheel Files' - retryCountOnTaskFailure: 3 - inputs: - itemPattern: '**/*${{ job.os }}*.whl' - targetPath: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - task: Bash@3 - displayName: pip install - inputs: - targetType: inline - script: find -name *.whl -exec pip install {} \; - workingDirectory: $(Agent.BuildDirectory) - - task: Bash@3 - displayName: Setup test environment - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.prependpath]$USER_BASE/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: tox test - inputs: - targetType: inline - script: tox run -v -e ci -- -m pre_checkin - workingDirectory: $(Agent.BuildDirectory)/s - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - pythonEnvVars: true - extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin - # docker image will not have python site-packages in path, but the env vars will make it easier diff --git a/.azuredevops/components/TransferBench.yml b/.azuredevops/components/TransferBench.yml deleted file mode 100644 index 62947223e..000000000 --- a/.azuredevops/components/TransferBench.yml +++ /dev/null @@ -1,142 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libnuma-dev - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: TransferBench_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: TransferBench_test_${{ job.target }} - dependsOn: TransferBench_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: TransferBench All-to-all - testDir: '$(Agent.BuildDirectory)' - testExecutable: './rocm/bin/TransferBench' - testParameters: 'a2a' - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: TransferBench Peer-to-peer - testDir: '$(Agent.BuildDirectory)' - testExecutable: './rocm/bin/TransferBench' - testParameters: 'p2p' - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/amdsmi.yml b/.azuredevops/components/amdsmi.yml deleted file mode 100644 index b00d32460..000000000 --- a/.azuredevops/components/amdsmi.yml +++ /dev/null @@ -1,138 +0,0 @@ -parameters: -- name: componentName - type: string - default: amdsmi -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdrm-dev - - ninja-build - - pkg-config - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DBUILD_TESTS=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - componentName: ${{ parameters.componentName }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - parameters: - runRocminfo: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)' - testExecutable: 'sudo ./rocm/share/amd_smi/tests/amdsmitst' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/aomp-extras.yml b/.azuredevops/components/aomp-extras.yml deleted file mode 100644 index 16be8e4e4..000000000 --- a/.azuredevops/components/aomp-extras.yml +++ /dev/null @@ -1,63 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - python3-pip - - ninja-build - - pkg-config - - git -- name: rocmDependencies - type: object - default: - - llvm-project - -jobs: -- job: aomp_extras - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: aomp-extras - extraBuildFlags: >- - -DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm - -DCMAKE_BUILD_TYPE=Release - -DAOMP_STANDALONE_BUILD=0 - -DAOMP_VERSION_STRING=$(LATEST_RELEASE_TAG) - -GNinja - installDir: $(Build.BinariesDirectory)/llvm - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/components/aomp.yml b/.azuredevops/components/aomp.yml deleted file mode 100644 index 91c114543..000000000 --- a/.azuredevops/components/aomp.yml +++ /dev/null @@ -1,280 +0,0 @@ -parameters: -- name: componentName - type: string - default: aomp -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -# reference: -# https://github.com/ROCm/aomp/blob/aomp-dev/docs/SOURCEINSTALL_PREREQUISITE.md -- name: aptPackages - type: object - default: - - bison - - ccache - - cmake - - flex - - gawk - - git - - mesa-common-dev - - ninja-build - - libbabeltrace-dev - - libbison-dev - - libdrm-amdgpu1 - - libdrm-dev - - libdw-dev - - libffi-dev - - libgmp-dev - - liblzma-dev - - libmpfr-dev - - libncurses5-dev - - libnuma-dev - - libopenmpi-dev - - libpci-dev - - libssl-dev - - libstdc++-12-dev - - libsystemd-dev - - libtool - - libudev-dev - - parallel - - pkg-config - - python3-dev - - python3-pip - - python3-setuptools - - texinfo -- name: rocmDependencies - type: object - default: - - llvm-project - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocm-core - - rocminfo - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - name: rocm-ci_medium_build_pool_2404 - ${{ else }}: - name: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - # checkout the repos tied to openmp-extras, plus llvm-project - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: aomp-extras_repo - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: flang_repo - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: llvm-project_repo - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - componentName: extras - cmakeBuildDir: '$(Build.SourcesDirectory)/aomp-extras/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/aomp-extras' - installDir: '$(Build.BinariesDirectory)/llvm' - extraBuildFlags: >- - -DLLVM_DIR=$(Agent.BuildDirectory)/rocm/llvm - -DCMAKE_BUILD_TYPE=Release - -DAOMP_STANDALONE_BUILD=0 - -DAOMP_VERSION_STRING=9.99.99 - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - componentName: openmp - cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/openmp/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/openmp' - installDir: '$(Build.BinariesDirectory)/llvm' - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)" - -DCMAKE_BUILD_TYPE=Release - -DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DOPENMP_ENABLE_LIBOMPTARGET=1 - -DLIBOMP_COPY_EXPORTS=OFF - -DLIBOMP_OMPD_SUPPORT=ON - -DCMAKE_SKIP_INSTALL_RPATH=TRUE - -DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include - -DLIBOMP_FORTRAN_MODULES_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang - -DLIBOMP_MODULES_INSTALL_PATH=$(Build.BinariesDirectory)/llvm/include/flang/ - multithreadFlag: -- -j32 - - task: Bash@3 - displayName: 'ROCm symbolic link' - inputs: - targetType: inline - script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - componentName: offload - cmakeBuildDir: '$(Build.SourcesDirectory)/llvm-project/offload/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/llvm-project/offload' - installDir: '$(Build.BinariesDirectory)/llvm' - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)" - -DCMAKE_BUILD_TYPE=Release - -DOPENMP_TEST_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DOPENMP_TEST_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_SKIP_INSTALL_RPATH=TRUE - -DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include - -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include - -DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib" - -DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/llvm/lib" - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - - task: Bash@3 - displayName: ROCm symbolic link - inputs: - targetType: inline - script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: aomp-extras_repo - # these copy steps are from the aomp prototype script for test prep - - task: CopyFiles@2 - displayName: 'Copy AOMP contents' - inputs: - CleanTargetFolder: false - SourceFolder: $(Build.SourcesDirectory)/aomp - Contents: | - ** - !**/.git/** - !**/.github/** - !**/.gitignore - TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests - retryCount: 3 - - task: CopyFiles@2 - displayName: 'Copy FileCheck' - inputs: - CleanTargetFolder: false - SourceFolder: $(Agent.BuildDirectory)/rocm/llvm/bin - Contents: FileCheck - TargetFolder: $(Agent.BuildDirectory)/rocm/share/openmp-extras/tests/bin - retryCount: 3 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: Test AOMP - continueOnError: true - inputs: - targetType: inline - script: ./run_rocm_test.sh - workingDirectory: $(Build.SourcesDirectory)/aomp/bin - env: - AOMP: $(Agent.BuildDirectory)/rocm/llvm - AOMP_REPOS_TEST: $(Build.SourcesDirectory)/aomp-test - AOMP_TEST_DIR: $(Build.SourcesDirectory)/aomp-test - SKIP_TEST_PACKAGE: 1 - MAINLINE_BUILD: 1 - SUITE_LIST: smoke - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - optSymLink: true diff --git a/.azuredevops/components/aqlprofile.yml b/.azuredevops/components/aqlprofile.yml deleted file mode 100644 index 3ca6ae3c1..000000000 --- a/.azuredevops/components/aqlprofile.yml +++ /dev/null @@ -1,174 +0,0 @@ -parameters: -- name: componentName - type: string - default: aqlprofile -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/aqlprofile/cmake_modules - -DAQLPROFILE_BUILD_TESTS=ON - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: $(Agent.BuildDirectory)/rocm/share/hsa-amd-aqlprofile/ - testExecutable: ./run_tests.sh - testParameters: '' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/composable_kernel.yml b/.azuredevops/components/composable_kernel.yml deleted file mode 100644 index 5cd2c678f..000000000 --- a/.azuredevops/components/composable_kernel.yml +++ /dev/null @@ -1,166 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - git - - python3-pip - - libdrm-dev - - ccache -- name: rocmDependencies - type: object - default: - - rocm-cmake - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: composable_kernel_build_${{ job.target }} - timeoutInMinutes: 240 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: DAY_STRING - value: $[format('{0:ddMMyyyy}', pipeline.startTime)] - pool: ${{ variables.ULTRA_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - script: | - mkdir -p $(CCACHE_DIR) - echo "##vso[task.prependpath]/usr/lib/ccache" - displayName: Update path for ccache - - task: Cache@2 - displayName: Ccache caching - inputs: - key: composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - path: $(CCACHE_DIR) - restoreKeys: | - composable_kernel | $(Agent.OS) | ${{ job.target }} | $(DAY_STRING) - composable_kernel | $(Agent.OS) | ${{ job.target }} - composable_kernel | $(Agent.OS) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_HIP_FLAGS="-Wno-missing-include-dirs" - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCK_BUILD_JIT_LIB=ON - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - # if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: composable_kernel_test_${{ job.target }} - timeoutInMinutes: 180 - dependsOn: composable_kernel_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: TEST_LOG_FILE - value: $(Pipeline.Workspace)/ckTestLog.log - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: Iterate through test scripts - inputs: - targetType: inline - script: | - for file in ./test_*; do - ./$file | tee -a $(TEST_LOG_FILE) - done - workingDirectory: $(Agent.BuildDirectory)/rocm/bin - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/copyHIP.yml b/.azuredevops/components/copyHIP.yml deleted file mode 100644 index fd2e8e5f1..000000000 --- a/.azuredevops/components/copyHIP.yml +++ /dev/null @@ -1,44 +0,0 @@ -parameters: -- name: jobMatrix - type: object - default: - copyJobs: - - { os: ubuntu2204, backend: amd } - - { os: almalinux8, backend: amd } - - { os: ubuntu2204, backend: nvidia } - - { os: almalinux8, backend: nvidia } - -# hip and clr are tightly-coupled -# run this same template for both repos -# any changes for clr should just trigger HIP pipeline -jobs: -- ${{ each job in parameters.jobMatrix.copyJobs }}: - - job: hip_clr_combined_${{ job.os }}_${{ job.backend }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - # checkout nothing, just copy artifacts from triggering HIP job - # and then publish for this clr job or for this hipother job to maintain latest - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml - parameters: - componentName: HIP - pipelineId: $(HIP_PIPELINE_ID) - fileFilter: ${{ job.os }}*${{ job.backend }} - - task: Bash@3 - displayName: Copy HIP artifacts - inputs: - targetType: inline - script: cp -a $(Agent.BuildDirectory)/rocm/* $(Build.BinariesDirectory)/ - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - inputs: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml diff --git a/.azuredevops/components/half.yml b/.azuredevops/components/half.yml deleted file mode 100644 index 94219ed7a..000000000 --- a/.azuredevops/components/half.yml +++ /dev/null @@ -1,72 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - python3-pip - - cmake - - ninja-build -- name: rocmDependencies - type: object - default: - - rocm-cmake - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - -jobs: -- job: half - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DBUILD_FILE_REORG_BACKWARD_COMPATIBILITY=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - # only run test03 because test11 has too many test cases, taking way too long - - task: Bash@3 - displayName: test03 - inputs: - targetType: inline - script: | - make clean - make test03 - ./bin/test - workingDirectory: $(Build.SourcesDirectory)/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # environment: combined diff --git a/.azuredevops/components/hip-tests.yml b/.azuredevops/components/hip-tests.yml deleted file mode 100644 index 388ac4170..000000000 --- a/.azuredevops/components/hip-tests.yml +++ /dev/null @@ -1,192 +0,0 @@ -parameters: -- name: componentName - type: string - default: hip-tests -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - git - - libnuma-dev - - mesa-common-dev - - ocl-icd-libopencl1 - - ocl-icd-opencl-dev - - opencl-headers - - libglu1-mesa-dev - - freeglut3-dev - - libboost-all-dev - - python3-pip -- name: rocmDependencies - type: object - default: - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -# HIP with AMD backend -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: hip_tests_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - # compile hip-tests - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - cmakeSourceDir: '../catch' - customBuildTarget: build_tests - extraBuildFlags: >- - -DHIP_PLATFORM=amd - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DHIP_PATH=$(Agent.BuildDirectory)/rocm - -DOFFLOAD_ARCH_STR="--offload-arch=${{ job.target }}" - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: hip_tests_test_${{ job.target }} - timeoutInMinutes: 240 - dependsOn: hip_tests_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Symlink rocm_agent_enumerator - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo mkdir -p /opt/rocm/bin - sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: $(Agent.BuildDirectory)/rocm/share/hip - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - optSymLink: true diff --git a/.azuredevops/components/hipBLAS-common.yml b/.azuredevops/components/hipBLAS-common.yml deleted file mode 100644 index c22899d88..000000000 --- a/.azuredevops/components/hipBLAS-common.yml +++ /dev/null @@ -1,135 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipBLAS-common -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - wget -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } -- name: downstreamComponentMatrix - type: object - default: - - hipBLASLt: - name: hipBLASLt - sparseCheckoutDir: projects/hipblaslt - skipUnifiedBuild: 'false' - buildDependsOn: - - hipBLAS_common_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: hipBLAS_common_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - componentName: ${{ parameters.componentName }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # extraEnvVars: - # - ROCM_PATH:::/home/user/workspace/rocm - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/hipBLAS.yml b/.azuredevops/components/hipBLAS.yml deleted file mode 100644 index 031300b4d..000000000 --- a/.azuredevops/components/hipBLAS.yml +++ /dev/null @@ -1,232 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipBLAS -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - gfortran - - googletest - - git - - libgtest-dev - - wget - - python3-pip -- name: pipModules - type: object - default: - - pyyaml -- name: rocmDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - llvm-project - - rocm-cmake - - ROCR-Runtime - - rocminfo - - rocprofiler-register - - rocBLAS - - rocSPARSE - - rocSOLVER -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocm-cmake - - ROCR-Runtime - - rocminfo - - rocprofiler-register - - rocBLAS - - rocSPARSE - - rocSOLVER - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a -# MIOpen depends on both rocRAND and hipBLAS -# for a unified build, hipBLAS will be the one to call MIOpen -- name: downstreamComponentMatrix - type: object - default: - - MIOpen: - name: MIOpen - sparseCheckoutDir: projects/miopen - skipUnifiedBuild: 'false' - buildDependsOn: - - hipBLAS_build - unifiedBuild: - downstreamAggregateNames: hipBLAS+rocRAND - buildDependsOn: - - hipBLAS_build - - rocRAND_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DHIP_PLATFORM=amd - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DBUILD_CLIENTS_SAMPLES=OFF - -DCPACK_SET_DESTDIR=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - installAOCL: true - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testExecutable: $(Agent.BuildDirectory)/rocm/bin/hipblas-test - testParameters: '--yaml hipblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes' - testDir: '$(Agent.BuildDirectory)/rocm/bin' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} - ${{ if parameters.unifiedBuild }}: - buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }} - ${{ else }}: - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} diff --git a/.azuredevops/components/hipBLASLt.yml b/.azuredevops/components/hipBLASLt.yml deleted file mode 100644 index 0eea974d5..000000000 --- a/.azuredevops/components/hipBLASLt.yml +++ /dev/null @@ -1,312 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipBLASLt -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - ccache - - gfortran - - git - - libboost-filesystem-dev - - libboost-program-options-dev - - libdrm-dev - - liblapack-dev - - libmsgpack-dev - - libnuma-dev - - libopenblas-dev - - ninja-build - - python3-pip - - python3-venv -- name: pipModules - type: object - default: - - joblib - - "packaging>=22.0" - - pyyaml - - msgpack - - simplejson - - ujson - - orjson - - yappi - - --upgrade -- name: rocmDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - llvm-project - - rocminfo - - rocm-cmake - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - - roctracer -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - llvm-project - - rocm-cmake - - rocminfo - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 } - - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx90a } - - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1100 } - #- { pool: rocm-ci_medium_build_pool, os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { pool: rocm-ci_ultra_build_pool, os: almalinux8, packageManager: dnf, target: gfx942 } - - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx90a } - - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1201 } - - { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1100 } - #- { pool: rocm-ci_medium_build_pool, os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - rocBLAS: - name: rocBLAS - sparseCheckoutDir: projects/rocblas - skipUnifiedBuild: 'false' - buildDependsOn: - - hipBLASLt_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 300 - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - - name: TENSILE_ROCM_ASSEMBLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - - name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - - name: DAY_STRING - value: $[format('{0:ddMMyyyy}', pipeline.startTime)] - pool: ${{ job.pool }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: | - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - task: Bash@3 - displayName: Build and install LAPACK - inputs: - targetType: inline - script: | - mkdir -p $(Agent.BuildDirectory)/temp-deps - cd $(Agent.BuildDirectory)/temp-deps - # position-independent LAPACK is required for almalinux8 builds - cmake -DBUILD_GTEST=OFF -DBUILD_LAPACK=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON $(Agent.BuildDirectory)/sparse/projects/hipblaslt/deps - make -j - sudo make install - - script: | - mkdir -p $(CCACHE_DIR) - echo "##vso[task.prependpath]/usr/lib/ccache" - displayName: Update path for ccache - - task: Cache@2 - displayName: Ccache caching - inputs: - key: hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - path: $(CCACHE_DIR) - restoreKeys: | - hipBLASLt | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) - hipBLASLt | ${{ job.os }} | ${{ job.target }} - hipBLASLt | ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt - cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/hipblaslt/build - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DAMDGPU_TARGETS=${{ job.target }} - -DGPU_TARGETS=${{ job.target }} - -DBUILD_CLIENTS_TESTS=ON - -DHIPBLASLT_ENABLE_ROCROLLER=ON - -DHIPBLASLT_ENABLE_FETCH=ON - -DHIPBLASLT_ENABLE_BLIS=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin - installLatestCMake: true - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - - TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/amdclang - - TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler - - ROCM_PATH:::/home/user/workspace/rocm - extraCopyDirectories: - - deps - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 300 - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './hipblaslt-test' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/hipCUB.yml b/.azuredevops/components/hipCUB.yml deleted file mode 100644 index be9d3f5bf..000000000 --- a/.azuredevops/components/hipCUB.yml +++ /dev/null @@ -1,193 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipCUB -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocPRIM - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" - -DBUILD_BENCHMARK=ON - -DBUILD_TEST=ON - -DAMDGPU_TARGETS=${{ job.target }} - -GNinja - extraCxxFlags: -Wno-deprecated-declarations - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/hipcub' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/hipFFT.yml b/.azuredevops/components/hipFFT.yml deleted file mode 100644 index 1618ca657..000000000 --- a/.azuredevops/components/hipFFT.yml +++ /dev/null @@ -1,187 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipFFT -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - libboost-program-options-dev - - libgtest-dev - - libfftw3-dev - - python3-pip -# rocm dependencies should match dependencies-rocm.yml -- name: rocmDependencies - type: object - default: - - aomp - - rocRAND - - hipRAND - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - - rocFFT - - aomp -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipRAND - - llvm-project - - rocFFT - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocRAND - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DAMDGPU_TARGETS=${{ job.target }} - -DUSE_HIP_CLANG=ON - -DHIP_COMPILER=clang - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DBUILD_CLIENTS_SAMPLES=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './hipfft-test' - testParameters: '--test_prob 0.002 --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/hipRAND.yml b/.azuredevops/components/hipRAND.yml deleted file mode 100644 index 0071e146d..000000000 --- a/.azuredevops/components/hipRAND.yml +++ /dev/null @@ -1,219 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipRAND -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocRAND - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - rocRAND - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - rocFFT: - name: rocFFT - sparseCheckoutDir: projects/rocfft - skipUnifiedBuild: 'false' - buildDependsOn: - - hipRAND_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DBUILD_TEST=ON - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" - -DCMAKE_BUILD_TYPE=Release - -DAMDGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/hipRAND' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/hipSOLVER.yml b/.azuredevops/components/hipSOLVER.yml deleted file mode 100644 index b66a91246..000000000 --- a/.azuredevops/components/hipSOLVER.yml +++ /dev/null @@ -1,198 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipSOLVER -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - libsuitesparse-dev - - gfortran - - git - - googletest - - libgtest-dev - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - hipSPARSE - - llvm-project - - rocBLAS - - rocm-cmake - - rocminfo - - ROCR-Runtime - - rocSPARSE - - rocSOLVER -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - hipBLAS-common - - hipBLASLt - - hipSPARSE - - rocBLAS - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocSOLVER - - rocSPARSE - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - # build external gtest and lapack - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: external - cmakeBuildDir: '$(Agent.BuildDirectory)/s/deps/build' - cmakeSourceDir: '$(Agent.BuildDirectory)/s/deps' - installDir: '$(Pipeline.Workspace)/deps-install' - extraBuildFlags: >- - -DBUILD_BOOST=OFF - -DBUILD_GTEST=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DBUILD_CLIENTS_TESTS=ON - -DUSE_CUDA=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - # extraCopyDirectories: - # - deps-install - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './hipsolver-test' - testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/hipSPARSE.yml b/.azuredevops/components/hipSPARSE.yml deleted file mode 100644 index 207be852d..000000000 --- a/.azuredevops/components/hipSPARSE.yml +++ /dev/null @@ -1,227 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipSPARSE -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - gfortran - - git - - libboost-program-options-dev - - libfftw3-dev - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocSPARSE -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - llvm-project - - hipBLAS-common - - hipBLASLt - - rocBLAS - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocSPARSE - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - hipSPARSELt: - name: hipSPARSELt - sparseCheckoutDir: projects/hipsparselt - skipUnifiedBuild: 'false' - buildDependsOn: - - hipSPARSE_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang - -DCMAKE_Fortran_COMPILER=gfortran - -DCMAKE_BUILD_TYPE=Release - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_SAMPLES=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - publish: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: $(Agent.BuildDirectory)/s/build/clients - contentsString: matrices/** - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - artifactName: testMatrices - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # environment: test - # gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './hipsparse-test' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - - - ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/hipSPARSELt.yml b/.azuredevops/components/hipSPARSELt.yml deleted file mode 100644 index 5619dd109..000000000 --- a/.azuredevops/components/hipSPARSELt.yml +++ /dev/null @@ -1,266 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipSPARSELt -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - ninja-build - - python3-venv - - libmsgpack-dev - - git - - python3-pip - - gfortran - - libgfortran5 - - libopenblas-dev - - liblapack-dev -- name: pipModules - type: object - default: - - joblib - - msgpack -- name: rocmDependencies - type: object - default: - - aomp - - clr - - hipSPARSE - - llvm-project - - rocBLAS - - rocm-cmake - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer - - rocSPARSE -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - llvm-project - - hipBLAS-common - - hipBLASLt - - rocm-cmake - - rocBLAS - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer - - rocSPARSE - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - - name: TENSILE_ROCM_ASSEMBLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang - - name: CMAKE_CXX_COMPILER - value: $(Agent.BuildDirectory)/rocm/llvm/bin/hipcc - - name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler - - name: PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin:$(Agent.BuildDirectory)/rocm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - # ignore sparse checkout for monorepo case, we want access to hipblaslt directory - # sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - # NOTE: content between `---` is for transition support between old/new build systems - # and should be removed once transition is complete. - # ----------------------------- - # Build and install gtest and lapack - # $(Pipeline.Workspace)/deps is a temporary folder for the build process - # $(Pipeline.Workspace)/s/deps is part of the hipSPARSELt repo - - script: mkdir -p $(Pipeline.Workspace)/deps - displayName: Create temp folder for external dependencies - # hipSPARSELt already has a CMake script for external deps, so we can just run that - # https://github.com/ROCm/hipSPARSELt/blob/develop/deps/CMakeLists.txt - - ${{ if ne(parameters.sparseCheckoutDir, '') }}: - script: cmake $(Pipeline.Workspace)/s/projects/hipsparselt/deps - ${{ else }}: - script: cmake $(Pipeline.Workspace)/s/deps - displayName: Configure hipSPARSELt external dependencies - workingDirectory: $(Pipeline.Workspace)/deps - - script: make - displayName: Build hipSPARSELt external dependencies - workingDirectory: $(Pipeline.Workspace)/deps - - script: sudo make install - displayName: Install hipSPARSELt external dependencies - workingDirectory: $(Pipeline.Workspace)/deps - # ----------------------------- - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - # NOTE: the following options are old build only - # and can be removed after full transition to new build - # -DAMDGPU_TARGETS=${{ job.target }} - # -DCMAKE_Fortran_COMPILER=f95 - # -DTensile_LOGIC= - # -DTensile_CPU_THREADS= - # -DTensile_LIBRARY_FORMAT=msgpack - # -DROCM_PATH=$(Agent.BuildDirectory)/rocm - # -DBUILD_CLIENTS_TESTS=ON - # -DBUILD_USE_LOCAL_TENSILE=OFF - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm" - -DGPU_TARGETS=${{ job.target }} - -DAMDGPU_TARGETS=${{ job.target }} - -DCMAKE_Fortran_COMPILER=f95 - -DTensile_LOGIC= - -DTensile_CPU_THREADS= - -DTensile_LIBRARY_FORMAT=msgpack - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_USE_LOCAL_TENSILE=OFF - -DHIPSPARSELT_ENABLE_FETCH=ON - -GNinja - ${{ if ne(parameters.sparseCheckoutDir, '') }}: - cmakeSourceDir: $(Build.SourcesDirectory)/projects/hipsparselt - cmakeBuildDir: $(Build.SourcesDirectory)/projects/hipsparselt - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - extraCopyDirectories: - - deps - extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - - TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang - - CMAKE_CXX_COMPILER:::/home/user/workspace/rocm/llvm/bin/hipcc - - TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler - installLatestCMake: true - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './hipsparselt-test' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes --gtest_filter=*pre_checkin*' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/hipTensor.yml b/.azuredevops/components/hipTensor.yml deleted file mode 100644 index 5e9bfb891..000000000 --- a/.azuredevops/components/hipTensor.yml +++ /dev/null @@ -1,167 +0,0 @@ -parameters: -- name: componentName - type: string - default: hipTensor -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - python3-pip - - git -- name: rocmDependencies - type: object - default: - - rocm-cmake - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - - composable_kernel -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.target }} - timeoutInMinutes: 120 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DHIPTENSOR_BUILD_TESTS=ON - -DAMDGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.target }} - timeoutInMinutes: 90 - dependsOn: ${{ parameters.componentName }}_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor' - testParameters: '-E ".*-extended" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/hipfort.yml b/.azuredevops/components/hipfort.yml deleted file mode 100644 index 9c4b7a4fa..000000000 --- a/.azuredevops/components/hipfort.yml +++ /dev/null @@ -1,166 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - gfortran - - git - - cmake - - python3-pip - - python3-dev - - ninja-build -- name: rocmDependencies - type: object - default: - - aomp - - llvm-project - - clr - - hipBLAS - - hipBLAS-common - - hipBLASLt - - hipFFT - - hipRAND - - hipSOLVER - - hipSPARSE - - rocBLAS - - rocFFT - - rocm-cmake - - rocminfo - - rocprofiler - - rocprofiler-register - - rocRAND - - ROCR-Runtime - - rocSOLVER - - rocSPARSE - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: hipfort_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/llvm - -DHIPFORT_INSTALL_DIR=$(Build.BinariesDirectory) - -DHIPFORT_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/flang - -DCMAKE_Fortran_FLAGS="-Mfree -fPIC" - -DCMAKE_Fortran_FLAGS_DEBUG="" - -DHIPFORT_COMPILER_FLAGS="-cpp" - -DHIPFORT_AR=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ar - -DHIPFORT_RANLIB=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-ranlib - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_TESTING=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - installLatestCMake: true - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: hipfort_test_${{ job.target }} - dependsOn: hipfort_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - task: Bash@3 - displayName: 'ROCm symbolic link' - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - workingDirectory: $(Build.SourcesDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: 'Test hipfort' - inputs: - targetType: inline - script: PATH=$(Agent.BuildDirectory)/rocm/bin:$PATH make run_all - workingDirectory: $(Build.SourcesDirectory)/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - optSymLink: true diff --git a/.azuredevops/components/llvm-project.yml b/.azuredevops/components/llvm-project.yml deleted file mode 100644 index aa7db4cbd..000000000 --- a/.azuredevops/components/llvm-project.yml +++ /dev/null @@ -1,200 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libnuma-dev - - ninja-build - - pkg-config - - python-is-python3 - - python3-pip - - zlib1g-dev -- name: rocmDependencies - type: object - default: - - rocm-cmake - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - # - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: llvm_project_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - name: 'rocm-ci_high_build_pool_2404' #temporarily using 'high' pool while 'ultra' is down - ${{ else }}: - name: 'rocm-ci_ultra_build_pool' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_DEVICE_LIB_PATH - value: '$(Build.BinariesDirectory)/amdgcn/bitcode' - - name: HIP_PATH - value: '$(Agent.BuildDirectory)/rocm' - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: rocm-llvm - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)" - -DCMAKE_BUILD_TYPE=Release - -DLLVM_ENABLE_PROJECTS=clang;lld;clang-tools-extra;mlir;flang - -DLLVM_ENABLE_RUNTIMES=compiler-rt;libunwind;libcxx;libcxxabi - -DCLANG_ENABLE_AMDCLANG=ON - -DLLVM_TARGETS_TO_BUILD=AMDGPU;X86 - -DLIBCXX_ENABLE_SHARED=OFF - -DLIBCXX_ENABLE_STATIC=ON - -DLIBCXX_INSTALL_LIBRARY=OFF - -DLIBCXX_INSTALL_HEADERS=OFF - -DLIBCXXABI_ENABLE_SHARED=OFF - -DLIBCXXABI_ENABLE_STATIC=ON - -DLIBCXXABI_INSTALL_STATIC_LIBRARY=OFF - -DLLVM_BUILD_DOCS=OFF - -DLLVM_ENABLE_SPHINX=OFF - -DLLVM_ENABLE_ASSERTIONS=OFF - -DLLVM_ENABLE_Z3_SOLVER=OFF - -DLLVM_ENABLE_ZLIB=ON - -DCLANG_DEFAULT_LINKER=lld - -DCLANG_DEFAULT_RTLIB=compiler-rt - -DCLANG_DEFAULT_UNWINDLIB=libgcc - -DSANITIZER_AMDGPU=OFF - -DPACKAGE_VENDOR=AMD - -DCLANG_LINK_FLANG_LEGACY=ON - -DCMAKE_CXX_STANDARD=17 - -DROCM_LLVM_BACKWARD_COMPAT_LINK=$(Build.BinariesDirectory)/llvm - -DROCM_LLVM_BACKWARD_COMPAT_LINK_TARGET=./lib/llvm - -GNinja - cmakeBuildDir: '$(Build.SourcesDirectory)/llvm/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/llvm' - installDir: '$(Build.BinariesDirectory)/llvm' - # use llvm-lit to run unit tests for llvm, clang, and lld - - task: Bash@3 - displayName: 'Copy llvm-lit to install directory' - inputs: - targetType: inline - script: | - cp $(Build.SourcesDirectory)/llvm/build/bin/llvm-lit $(Build.BinariesDirectory)/llvm/bin/ - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: check-llvm - testDir: 'llvm/build' - testExecutable: './bin/llvm-lit' - testParameters: '-q --xunit-xml-output=llvm_test_output.xml --filter-out="live-debug-values-spill-tracking" ./test' - testOutputFile: llvm_test_output.xml - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: check-clang - testDir: 'llvm/build' - testExecutable: './bin/llvm-lit' - testParameters: '-q --xunit-xml-output=clang_test_output.xml ./tools/clang/test' - testOutputFile: clang_test_output.xml - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: check-lld - testDir: 'llvm/build' - testExecutable: './bin/llvm-lit' - testParameters: '-q --xunit-xml-output=lld_test_output.xml ./tools/lld/test' - testOutputFile: lld_test_output.xml - os: ${{ job.os }} - - task: CopyFiles@2 - displayName: Copy FileCheck for Publishing - inputs: - CleanTargetFolder: false - SourceFolder: llvm/build/bin - Contents: FileCheck - TargetFolder: $(Build.BinariesDirectory)/llvm/bin - retryCount: 3 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: device-libs - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build" - -DCMAKE_BUILD_TYPE=Release - cmakeBuildDir: '$(Build.SourcesDirectory)/amd/device-libs/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/amd/device-libs' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: comgr - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build" - -DCOMGR_DISABLE_SPIRV=1 - -DCMAKE_BUILD_TYPE=Release - cmakeBuildDir: '$(Build.SourcesDirectory)/amd/comgr/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/amd/comgr' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: comgr - testParameters: '--output-on-failure --force-new-ctest-process --output-junit comgr_test_output.xml' - testDir: 'amd/comgr/build' - testOutputFile: comgr_test_output.xml - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: hipcc - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DHIPCC_BACKWARD_COMPATIBILITY=OFF - cmakeBuildDir: '$(Build.SourcesDirectory)/amd/hipcc/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/amd/hipcc' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: combined - extraEnvVars: - - HIP_DEVICE_LIB_PATH:::/home/user/workspace/bin/amdgcn/bitcode - - HIP_PATH:::/home/user/workspace/rocm diff --git a/.azuredevops/components/origami.yml b/.azuredevops/components/origami.yml deleted file mode 100644 index 7e5d4178b..000000000 --- a/.azuredevops/components/origami.yml +++ /dev/null @@ -1,309 +0,0 @@ -parameters: -- name: componentName - type: string - default: origami -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - wget - - python3 - - python3-dev - - python3-pip - - python3-venv - - libgtest-dev - - libboost-filesystem-dev - - libboost-program-options-dev -- name: pipModules - type: object - default: - - nanobind>=2.0.0 - - numpy - - pytest - - pytest-cov - - torch -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - # - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - # - { os: ubuntu2204, packageManager: apt, target: gfx1151 } - # - { os: ubuntu2204, packageManager: apt, target: gfx1201 } -- name: downstreamComponentMatrix - type: object - default: - - hipBLASLt: - name: hipBLASLt - sparseCheckoutDir: projects/hipblaslt - skipUnifiedBuild: 'false' - buildDependsOn: - - origami_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: origami_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - ${{ if ne(job.os, 'almalinux8') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - catch2 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DORIGAMI_BUILD_SHARED_LIBS=ON - -DORIGAMI_ENABLE_PYTHON=ON - -DORIGAMI_BUILD_TESTING=ON - -DORIGAMI_ENABLE_FETCH=ON - -GNinja - - ${{ if ne(job.os, 'almalinux8') }}: - - task: PublishPipelineArtifact@1 - displayName: 'Publish Build Directory Artifact' - inputs: - targetPath: '$(Agent.BuildDirectory)/s/build' - artifact: '${{ parameters.componentName }}_${{ job.os }}_build_dir' - publishLocation: 'pipeline' - - task: PublishPipelineArtifact@1 - displayName: 'Publish Python Source Artifact' - inputs: - targetPath: '$(Agent.BuildDirectory)/s/python' - artifact: '${{ parameters.componentName }}_${{ job.os }}_python_src' - publishLocation: 'pipeline' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - componentName: ${{ parameters.componentName }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: origami_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: origami_build_${{ job.os }} - condition: - and(succeeded(), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - ${{ if ne(job.os, 'almalinux8') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - catch2 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: CMake@1 - displayName: 'Origami Test CMake Configuration' - inputs: - cmakeArgs: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DORIGAMI_BUILD_SHARED_LIBS=ON - -DORIGAMI_ENABLE_PYTHON=ON - -DORIGAMI_BUILD_TESTING=ON - -GNinja - $(Agent.BuildDirectory)/s - - task: Bash@3 - displayName: 'Build Origami Tests and Python Bindings' - inputs: - targetType: inline - workingDirectory: build - script: | - cmake --build . --target origami-tests _pyorigami -- -j$(nproc) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - # Run tests using CTest (discovers and runs both C++ and Python tests) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: 'build' - testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml' - # Test pip install workflow - # - task: Bash@3 - # displayName: 'Test Pip Install' - # inputs: - # targetType: inline - # script: | - # set -e - - # echo "===================================================================" - # echo "Testing pip install workflow (pip install -e .)" - # echo "===================================================================" - - # # Set environment variables for pip install CMake build - # export ROCM_PATH=$(Agent.BuildDirectory)/rocm - # export CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm:$(Agent.BuildDirectory)/vendor - # export CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - - # echo "ROCM_PATH: $ROCM_PATH" - # echo "CMAKE_PREFIX_PATH: $CMAKE_PREFIX_PATH" - # echo "CMAKE_CXX_COMPILER: $CMAKE_CXX_COMPILER" - # echo "" - - # # Install from source directory - # cd "$(Agent.BuildDirectory)/s/python" - # pip install -e . - - # # Verify import works - # echo "" - # echo "Verifying origami can be imported..." - # python3 -c "import origami; print('✓ Successfully imported origami')" - - # # Run pytest on installed package - # echo "" - # echo "Running pytest tests..." - # python3 -m pytest tests/ -v -m "not slow" --tb=short - - # echo "" - # echo "===================================================================" - # echo "Pip install test completed successfully" - # echo "===================================================================" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rccl.yml b/.azuredevops/components/rccl.yml deleted file mode 100644 index b8bfd8c4a..000000000 --- a/.azuredevops/components/rccl.yml +++ /dev/null @@ -1,242 +0,0 @@ -parameters: -- name: componentName - type: string - default: rccl -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: systemsRepo - type: string - default: systems_repo -- name: systemsSparseCheckoutDir - type: string - default: 'projects/rocprofiler-sdk' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - libboost-program-options-dev - - libdrm-dev - - libfftw3-dev - - libnuma-dev - - libstdc++-12-dev - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - aomp - - aomp-extras - - clr - - HIPIFY - - llvm-project - - rocm-cmake - - rocm-core - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer -- name: rocmTestDependencies - type: object - default: - - aomp - - aomp-extras - - clr - - HIPIFY - - llvm-project - - rocm-cmake - - rocm-core - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - rocprofiler-sdk: - name: rocprofiler-sdk - sparseCheckoutDir: '' - skipUnifiedBuild: 'false' - buildDependsOn: - - rccl_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - submoduleBehaviour: recursive - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/hipcc - -DCMAKE_BUILD_TYPE=Release - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DBUILD_TESTS=ON - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake;$(Agent.BuildDirectory)/rocm/libexec/hipify - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - installLatestCMake: true - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rccl-UnitTests' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.systemsRepo }} - sparseCheckoutDir: ${{ parameters.systemsSparseCheckoutDir }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} - ${{ if parameters.unifiedBuild }}: - buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }} - ${{ else }}: - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} diff --git a/.azuredevops/components/rdc.yml b/.azuredevops/components/rdc.yml deleted file mode 100644 index c68f9fdc7..000000000 --- a/.azuredevops/components/rdc.yml +++ /dev/null @@ -1,235 +0,0 @@ -parameters: -- name: componentName - type: string - default: rdc -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - python3-pip - - cmake - - ninja-build - - git - - libcap-dev - - protobuf-compiler - - build-essential - - autoconf - - libtool - - pkg-config - - libdrm-dev - - libnuma-dev - - libyaml-cpp-dev -- name: rocmDependencies - type: object - default: - - amdsmi - - clr - - hipBLAS-common - - hipBLASLt - - hipRAND - - llvm-project - - rocBLAS - - rocm-cmake - - rocm-core - - rocminfo - - rocm_smi_lib - - ROCmValidationSuite - - rocprofiler - - rocprofiler-register - - rocprofiler-sdk - - rocRAND - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - amdsmi - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocm_smi_lib - - ROCmValidationSuite - - rocprofiler - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - parameters: - cmakeVersion: '3.25.0' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - # Build grpc - - task: Bash@3 - displayName: 'git clone grpc' - inputs: - targetType: inline - script: git clone -b v1.67.1 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build - cmakeSourceDir: $(Build.SourcesDirectory)/grpc - installDir: $(Build.SourcesDirectory)/bin - extraBuildFlags: >- - -DgRPC_INSTALL=ON - -DgRPC_BUILD_TESTS=OFF - -DBUILD_SHARED_LIBS=ON - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_BUILD_TYPE=Release - -DAMDGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DGRPC_ROOT="$(Build.SourcesDirectory)/bin" - -DBUILD_RVS=ON - -DBUILD_PROFILER=ON - -DBUILD_TESTS=ON - -DAMDGPU_TARGETS=${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - - name: ROCM_DIR - value: $(Agent.BuildDirectory)/rocm - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Setup test environment - inputs: - targetType: inline - script: | - sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rdcd /usr/sbin/rdcd - echo $(Agent.BuildDirectory)/rocm/lib/rdc/grpc/lib | sudo tee /etc/ld.so.conf.d/grpc.conf - sudo ldconfig -v - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - task: Bash@3 - displayName: Test rdc - inputs: - targetType: inline - script: >- - $(Agent.BuildDirectory)/rocm/share/rdc/rdctst_tests/rdctst - --batch_mode - --start_rdcd - --unauth_comm - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - extraPaths: /home/user/workspace/rocm/bin diff --git a/.azuredevops/components/rocAL.yml b/.azuredevops/components/rocAL.yml deleted file mode 100644 index 2dcc83979..000000000 --- a/.azuredevops/components/rocAL.yml +++ /dev/null @@ -1,267 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - python3-pip - - python3-protobuf - - cmake - - ninja-build - - libprotobuf-dev - - libprotoc-dev - - protobuf-compiler - - liblmdb-dev - - pkg-config - - ffmpeg - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - libdlpack-dev - - libsndfile1-dev - - libswscale-dev - - libturbojpeg-dev - - libjpeg-turbo-official=3.0.2-20240124 - - libopencv-dev - - --allow-downgrades # for libjpeg-turbo -- name: pipModules - type: object - default: - - numpy - - opencv-python - - torch - - pillow -- name: rocmDependencies - type: object - default: - - aomp - - clr - - half - - llvm-project - - MIVisionX - - rocDecode - - rocm-cmake - - ROCR-Runtime - - rpp -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - half - - llvm-project - - MIVisionX - - rocDecode - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rpp - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocAL_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - task: Bash@3 - displayName: 'Register libjpeg-turbo packages' - inputs: - targetType: inline - script: | - sudo mkdir --parents --mode=0755 /etc/apt/keyrings - wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null - echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list - sudo apt update - apt-cache show libjpeg-turbo-official | grep Version - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - task: Bash@3 - displayName: 'Clone PyBind11' - inputs: - targetType: inline - script: git clone --depth 1 -b v2.11.1 https://github.com/pybind/pybind11 - workingDirectory: '$(Build.SourcesDirectory)' - - task: Bash@3 - displayName: 'Clone RapidJSON' - inputs: - targetType: inline - script: git clone --depth 1 https://github.com/Tencent/rapidjson.git - workingDirectory: '$(Build.SourcesDirectory)' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: PyBind11 - cmakeBuildDir: '$(Build.SourcesDirectory)/pybind11/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/pybind11' - customInstallPath: false - installEnabled: false - extraBuildFlags: >- - -DDOWNLOAD_CATCH=ON - -DDOWNLOAD_EIGEN=ON - -GNinja - - task: Bash@3 - displayName: 'Install PyBind11' - inputs: - targetType: inline - script: sudo cmake --build . --target install - workingDirectory: '$(Build.SourcesDirectory)/pybind11/build' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: RapidJSON - cmakeBuildDir: '$(Build.SourcesDirectory)/rapidjson/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/rapidjson' - customInstallPath: false - installEnabled: false - extraBuildFlags: >- - -GNinja - - task: Bash@3 - displayName: 'Install RapidJSON' - inputs: - targetType: inline - script: sudo cmake --build . --target install - workingDirectory: '$(Build.SourcesDirectory)/rapidjson/build' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;/opt/libjpeg-turbo - -DCMAKE_INSTALL_PREFIX_PYTHON=$Python3_STDARCH - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # registerJPEGPackages: true - # gpuTarget: ${{ job.target }} - # extraCopyDirectories: - # - /opt/libjpeg-turbo - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocAL_test_${{ job.target }} - dependsOn: rocAL_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - - name: CMAKE_INCLUDE_PATH - value: $(Agent.BuildDirectory)/rocm/include/rocal - pool: - name: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - task: Bash@3 - displayName: 'Register libjpeg-turbo packages' - inputs: - targetType: inline - script: | - sudo mkdir --parents --mode=0755 /etc/apt/keyrings - wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null - echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list - sudo apt update - apt-cache show libjpeg-turbo-official | grep Version - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - task: Bash@3 - displayName: Link libjpeg-turbo - inputs: - targetType: inline - script: | - echo /opt/libjpeg-turbo/lib64 | sudo tee /etc/ld.so.conf.d/libjpeg-turbo.conf - sudo ldconfig -v - - task: Bash@3 - displayName: Build rocAL tests - inputs: - targetType: inline - script: | - mkdir rocAL-tests - cd rocAL-tests - cmake $(Agent.BuildDirectory)/rocm/share/rocal/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocAL - testDir: rocAL-tests - - task: Bash@3 - displayName: Clean up libjpeg-turbo - condition: always() - inputs: - targetType: inline - script: | - sudo rm /etc/ld.so.conf.d/libjpeg-turbo.conf - sudo ldconfig -v - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - registerJPEGPackages: true - environment: test - gpuTarget: ${{ job.target }} - extraCopyDirectories: - - /opt/libjpeg-turbo - # docker image will be missing the ldconfig to libjpeg-turbo diff --git a/.azuredevops/components/rocALUTION.yml b/.azuredevops/components/rocALUTION.yml deleted file mode 100644 index 5e3d734a7..000000000 --- a/.azuredevops/components/rocALUTION.yml +++ /dev/null @@ -1,159 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libboost-program-options-dev - - libgtest-dev - - libfftw3-dev - - git - - mpich - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rocBLAS - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - - rocRAND - - rocSPARSE -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocBLAS - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - - rocRAND - - rocSPARSE - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocALUTION_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/share/rocm/cmake/ - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DBUILD_CLIENTS_SAMPLES=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - # extraEnvVars: - # - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocALUTION_test_${{ job.target }} - dependsOn: rocALUTION_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocALUTION - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rocalution-test' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocBLAS.yml b/.azuredevops/components/rocBLAS.yml deleted file mode 100644 index 603cbe65b..000000000 --- a/.azuredevops/components/rocBLAS.yml +++ /dev/null @@ -1,287 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocBLAS -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - gfortran - - libdrm-dev - - libmsgpack-dev - - libopenblas-dev - - ninja-build - - python3-pip - - python3-venv - - wget -- name: pipModules - type: object - default: - - joblib - - pyyaml -- name: rocmDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocm-cmake - - rocm-core - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - rocm_smi_lib - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - #- { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - rocSPARSE: - name: rocSPARSE - sparseCheckoutDir: projects/rocsparse - skipUnifiedBuild: 'false' - buildDependsOn: - - rocBLAS_build - # rocSOLVER depends on both rocBLAS and rocPRIM - # for a unified build, rocBLAS will be the one to call rocSOLVER -# - rocSOLVER: -# name: rocSOLVER -# sparseCheckoutDir: projects/rocsolver -# skipUnifiedBuild: 'false' -# buildDependsOn: -# - rocBLAS_build -# unifiedBuild: -# downstreamAggregateNames: rocBLAS+rocPRIM -# buildDependsOn: -# - rocBLAS_build -# - rocPRIM_build - # temporary rocblas->hipblas downstream path while the SOLVERs are disabled - - hipBLAS: - name: hipBLAS - sparseCheckoutDir: projects/hipblas - skipUnifiedBuild: 'false' - buildDependsOn: - - rocBLAS_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - - name: TENSILE_ROCM_ASSEMBLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang - - name: TENSILE_ROCM_OFFLOAD_BUNDLER_PATH - value: $(Agent.BuildDirectory)/rocm/llvm/bin/clang-offload-bundler - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aocl.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeSourceDir: $(Agent.BuildDirectory)/sparse/projects/rocblas - cmakeBuildDir: $(Agent.BuildDirectory)/sparse/projects/rocblas/build - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm/llvm;$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang - -DGPU_TARGETS=${{ job.target }} - -DBUILD_CLIENTS_TESTS=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - installAOCL: true - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - - TENSILE_ROCM_ASSEMBLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang - - TENSILE_ROCM_OFFLOAD_BUNDLER_PATH:::/home/user/workspace/rocm/llvm/bin/clang-offload-bundler - - ROCM_PATH:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rocblas-test' - testParameters: '--yaml rocblas_smoke.yaml --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} - ${{ if parameters.unifiedBuild }}: - buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }} - ${{ else }}: - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} diff --git a/.azuredevops/components/rocDecode.yml b/.azuredevops/components/rocDecode.yml deleted file mode 100644 index 3b4bc6a71..000000000 --- a/.azuredevops/components/rocDecode.yml +++ /dev/null @@ -1,218 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocDecode -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: rocPyDecodeRepo - type: string - default: rocpydecode_repo -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ffmpeg - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - libdrm-dev - - libstdc++-12-dev - - libva-amdgpu-dev - - mesa-amdgpu-va-drivers - - ninja-build - - pkg-config - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocm-core - - rocminfo - - rocprofiler-register - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - rocPyDecode: - name: rocPyDecode - sparseCheckoutDir: '' - skipUnifiedBuild: 'false' - buildDependsOn: - - rocDecode_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # registerROCmPackages: true - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - name: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - task: Bash@3 - displayName: Build rocDecode tests - inputs: - targetType: inline - script: | - ${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - mkdir rocDecode-tests - cd rocDecode-tests - cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocDecode - testDir: 'rocDecode-tests' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - registerROCmPackages: true - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.rocPyDecodeRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rocFFT.yml b/.azuredevops/components/rocFFT.yml deleted file mode 100644 index 380c49ee2..000000000 --- a/.azuredevops/components/rocFFT.yml +++ /dev/null @@ -1,209 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocFFT -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - libboost-program-options-dev - - libdrm-dev - - libgtest-dev - - libfftw3-dev - - python3-pip -# rocm dependencies should match dependencies-rocm.yml -- name: rocmDependencies - type: object - default: - - aomp - - clr - - hipRAND - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocRAND -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipRAND - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - rocRAND - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a -- name: downstreamComponentMatrix - type: object - default: - - hipFFT: - name: hipFFT - sparseCheckoutDir: projects/hipfft - skipUnifiedBuild: 'false' - buildDependsOn: - - rocFFT_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_ubuntu2204_${{ job.target }} # todo: un-hardcode OS - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DAMDGPU_TARGETS=${{ job.target }} - -DUSE_HIP_CLANG=ON - -DHIP_COMPILER=clang - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DBUILD_CLIENTS_SAMPLES=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_ubuntu2204_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_ubuntu2204_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rocfft-test' - testParameters: '--test_prob 0.004 --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rocJPEG.yml b/.azuredevops/components/rocJPEG.yml deleted file mode 100644 index 1b794d715..000000000 --- a/.azuredevops/components/rocJPEG.yml +++ /dev/null @@ -1,183 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocJPEG -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdrm-dev - - libstdc++-12-dev - - libva-amdgpu-dev - - mesa-amdgpu-va-drivers - - ninja-build - - pkg-config - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocm-core - - rocprofiler-register - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - name: rocm-ci_medium_build_pool_2404 - ${{ else }}: - name: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm" - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - # registerROCmPackages: true - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - name: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - task: Bash@3 - displayName: Build rocJPEG tests - inputs: - targetType: inline - script: | - ${{ iif(eq(job.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - mkdir rocJPEG-tests - cd rocJPEG-tests - cmake $(Agent.BuildDirectory)/rocm/share/rocjpeg/test - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocJPEG - testDir: 'rocJPEG-tests' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - registerROCmPackages: true diff --git a/.azuredevops/components/rocMLIR.yml b/.azuredevops/components/rocMLIR.yml deleted file mode 100644 index 17055b87a..000000000 --- a/.azuredevops/components/rocMLIR.yml +++ /dev/null @@ -1,155 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - libdrm-dev - - libstdc++-12-dev - - ninja-build - - python3-pip -- name: pipModules - type: object - default: - - hip-python --extra-index-url https://test.pypi.org/simple - - ml_dtypes - - numpy - - tomli - - scipy - - pybind11 -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- job: rocMLIR_build - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DBUILD_FAT_LIBROCKCOMPILER=1 - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - # compiling and running test on the test system together - - job: rocMLIR_test_${{ job.target }} - dependsOn: rocMLIR_build - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - - task: Bash@3 - displayName: Symlink rocm_agent_enumerator - inputs: - targetType: inline - script: | - # Assuming that /opt is no longer persistent across runs, test environments are fully ephemeral - sudo mkdir -p /opt/rocm/bin - sudo ln -s $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator /opt/rocm/bin/rocm_agent_enumerator - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - installEnabled: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/lib - -DCMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/lib - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DAMDGPU_TARGETS=${{ job.target }} - -DROCM_TEST_CHIPSET=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocMLIR - testDir: $(Build.SourcesDirectory)/build - testExecutable: ninja - testParameters: check-rocmlir - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocPRIM.yml b/.azuredevops/components/rocPRIM.yml deleted file mode 100644 index 5f3d7d400..000000000 --- a/.azuredevops/components/rocPRIM.yml +++ /dev/null @@ -1,231 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocPRIM -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 1, shardCount: 3 } - - { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 2, shardCount: 3 } - - { os: ubuntu2204, packageManager: apt, target: gfx942, shard: 3, shardCount: 3 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 1, shardCount: 3 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 2, shardCount: 3 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a, shard: 3, shardCount: 3 } -- name: downstreamComponentMatrix - type: object - default: - - rocThrust: - name: rocThrust - sparseCheckoutDir: projects/rocthrust - skipUnifiedBuild: 'false' - buildDependsOn: - - rocPRIM_build - - hipCUB: - name: hipCUB - sparseCheckoutDir: projects/hipcub - skipUnifiedBuild: 'false' - buildDependsOn: - - rocPRIM_build - # rocSOLVER depends on both rocBLAS and rocPRIM - # for a unified build, rocBLAS will be the one to call rocSOLVER -# - rocSOLVER: -# name: rocSOLVER -# sparseCheckoutDir: projects/rocsolver -# skipUnifiedBuild: 'true' -# buildDependsOn: -# - rocPRIM_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_BENCHMARK=ON - -DBUILD_TEST=ON - -GNinja - extraCxxFlags: -Wno-deprecated-declarations - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }}_shard_${{ job.shard }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/rocprim' - extraTestParameters: '-I ${{ job.shard }},,${{ job.shardCount }}' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rocPyDecode.yml b/.azuredevops/components/rocPyDecode.yml deleted file mode 100644 index 615148a49..000000000 --- a/.azuredevops/components/rocPyDecode.yml +++ /dev/null @@ -1,264 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ffmpeg - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - libdlpack-dev - - libdrm-dev - - libva-dev - - ninja-build - - pkg-config - - python3-pip -- name: pipModules - type: object - default: - - hip-python --extra-index-url https://test.pypi.org/simple - - numpy - - pybind11 -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocDecode - - rocJPEG - - rocm-cmake - - rocm-core - - rocminfo - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocPyDecode_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: 'Save Python Package Paths' - inputs: - targetType: inline - script: | - echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)" - echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')" - echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - installEnabled: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH) - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory) - -GNinja - - task: Bash@3 - displayName: 'rocPyDecode install' - inputs: - targetType: inline - script: | - sudo cmake --build . --target install - sudo chown -R $(whoami):$(id -gn) $(Build.BinariesDirectory) - workingDirectory: $(Build.SourcesDirectory)/build - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - publish: false - - task: Bash@3 - displayName: Create wheel file - inputs: - targetType: inline - script: | - export HIP_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include/hip - sudo python3 setup.py bdist_wheel - sudo chown -R $(whoami):$(id -gn) $(find . -name "*.whl") - workingDirectory: $(Build.SourcesDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: $(Build.SourcesDirectory)/dist - contentsString: '*.whl' - targetDir: $(Build.ArtifactStagingDirectory) - clean: false - - task: PublishPipelineArtifact@1 - displayName: 'wheel file Publish' - retryCountOnTaskFailure: 3 - inputs: - targetPath: $(Build.ArtifactStagingDirectory) - - task: Bash@3 - displayName: Save pipeline artifact file names - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - whlFile=$(find "$(Build.ArtifactStagingDirectory)" -type f -name "*.whl" | head -n 1) - if [ -n "$whlFile" ]; then - echo $(basename "$whlFile") >> pipelineArtifacts.txt - fi - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocPyDecode_test_${{ job.target }} - dependsOn: rocPyDecode_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - name: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - task: Bash@3 - displayName: Ensure pybind11-dev is not installed - inputs: - targetType: inline - script: | - if dpkg -l | grep -q pybind11-dev; then - echo "Removing pybind11-dev..." - sudo apt remove -y pybind11-dev - else - echo "pybind11-dev is not installed." - fi - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: DownloadPipelineArtifact@2 - displayName: 'Download Pipeline Wheel Files' - retryCountOnTaskFailure: 3 - inputs: - itemPattern: '**/*.whl' - targetPath: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - setupHIPLibrarySymlinks: true - - task: Bash@3 - displayName: pip install - inputs: - targetType: inline - script: | - pip uninstall -y rocPyDecode - find -name *.whl -exec pip install {} \; - workingDirectory: $(Agent.BuildDirectory) - - task: Bash@3 - displayName: Setup search paths - inputs: - targetType: inline - script: | - echo "##vso[task.setvariable variable=PYTHON_USER_SITE;]$(python3 -m site --user-site)" - echo "##vso[task.setvariable variable=PYTHON_DIST_PACKAGES;]$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')" - echo "##vso[task.setvariable variable=PYBIND11_PATH;]$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')" - - task: CMake@1 - displayName: 'rocPyDecode Test CMake Flags' - inputs: - workingDirectory: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests - cmakeArgs: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(PYTHON_USER_SITE)/pybind11;$(PYTHON_DIST_PACKAGES)/pybind11;$(PYBIND11_PATH) - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - . - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocPyDecode - testDir: $(Agent.BuildDirectory)/rocm/share/rocpydecode/tests - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - pythonEnvVars: true - # note that this docker won't have hip-python installed via pip diff --git a/.azuredevops/components/rocRAND.yml b/.azuredevops/components/rocRAND.yml deleted file mode 100644 index 0f89621ab..000000000 --- a/.azuredevops/components/rocRAND.yml +++ /dev/null @@ -1,223 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocRAND -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - hipRAND: - name: hipRAND - sparseCheckoutDir: projects/hiprand - skipUnifiedBuild: 'false' - buildDependsOn: - - rocRAND_build - - MIOpen: - name: MIOpen - sparseCheckoutDir: projects/miopen - skipUnifiedBuild: 'true' - buildDependsOn: - - rocRAND_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - name: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_TEST=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # gpuTarget: ${{ job.target }} - # extraEnvVars: - # - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/rocRAND' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rocSOLVER.yml b/.azuredevops/components/rocSOLVER.yml deleted file mode 100644 index 3001e431e..000000000 --- a/.azuredevops/components/rocSOLVER.yml +++ /dev/null @@ -1,268 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocSOLVER -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - gfortran - - git - - libfmt-dev - - libsuitesparse-dev - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocBLAS - - rocm-cmake - - rocminfo - - rocPRIM - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - hipBLAS-common - - hipBLASLt - - hipSPARSE - - llvm-project - - rocBLAS - - rocm-cmake - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - - rocSPARSE - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - #- { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - hipBLAS: - name: hipBLAS - sparseCheckoutDir: projects/hipblas - skipUnifiedBuild: 'false' - buildDependsOn: - - rocSOLVER_build - # hipSOLVER depends on both rocSOLVER and rocSPARSE - # for a unified build, rocSOLVER will be the one to call hipSOLVER -# - hipSOLVER: -# name: hipSOLVER -# sparseCheckoutDir: projects/hipsolver -# skipUnifiedBuild: 'false' -# buildDependsOn: -# - rocSOLVER_build -# unifiedBuild: -# downstreamAggregateNames: rocSOLVER+rocSPARSE -# buildDependsOn: -# - rocSOLVER_build -# - rocSPARSE_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - task: Bash@3 - displayName: 'Clone lapack' - inputs: - targetType: inline - script: git clone --depth 1 --branch v3.9.1 https://github.com/Reference-LAPACK/lapack - workingDirectory: '$(Build.SourcesDirectory)' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: lapack - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls - -DBUILD_TESTING=OFF - -DCBLAS=ON - -DLAPACKE=OFF - -GNinja - cmakeBuildDir: '$(Build.SourcesDirectory)/lapack/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/lapack' - installDir: '$(Pipeline.Workspace)/deps-install' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Pipeline.Workspace)/deps-install;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DBUILD_CLIENTS_SAMPLES=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraCopyDirectories: - - deps-install - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rocsolver-test' - testParameters: '--gtest_filter="*checkin*" --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} - ${{ if parameters.unifiedBuild }}: - buildDependsOn: ${{ component.unifiedBuild.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ component.unifiedBuild.downstreamAggregateNames }} - ${{ else }}: - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} diff --git a/.azuredevops/components/rocSPARSE.yml b/.azuredevops/components/rocSPARSE.yml deleted file mode 100644 index 09639b065..000000000 --- a/.azuredevops/components/rocSPARSE.yml +++ /dev/null @@ -1,243 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocSPARSE -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - gfortran - - git - - libboost-program-options-dev - - libdrm-dev - - libfftw3-dev - - ninja-build - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocBLAS - - rocm-cmake - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - - roctracer -- name: rocmTestDependencies - type: object - default: - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocBLAS - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - #- { os: ubuntu2204, packageManager: apt, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } -- name: downstreamComponentMatrix - type: object - default: - - hipSPARSE: - name: hipSPARSE - sparseCheckoutDir: projects/hipsparse - skipUnifiedBuild: 'false' - buildDependsOn: - - rocSPARSE_build - # hipSOLVER depends on both rocSOLVER and rocSPARSE - # for a unified build, rocSOLVER will be the one to call hipSOLVER - # - hipSOLVER: - # name: hipSOLVER - # sparseCheckoutDir: projects/hipsolver - # skipUnifiedBuild: 'true' - # buildDependsOn: - # - rocSPARSE_build - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Build.BinariesDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/bin/amdclang - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_CLIENTS_SAMPLES=OFF - -DBUILD_CLIENTS_TESTS=ON - -DBUILD_CLIENTS_BENCHMARKS=OFF - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/hip/cmake - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - publish: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: $(Agent.BuildDirectory)/s/build/clients - contentsString: matrices/** - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - artifactName: testMatrices - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: '$(Agent.BuildDirectory)/rocm/bin' - testExecutable: './rocsparse-test' - testParameters: '--gtest_filter="*quick*" --gtest_output=xml:./test_output.xml --gtest_color=yes' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} - -- ${{ if parameters.triggerDownstreamJobs }}: - - ${{ each component in parameters.downstreamComponentMatrix }}: - - ${{ if not(and(parameters.unifiedBuild, eq(component.skipUnifiedBuild, 'true'))) }}: - - template: /.azuredevops/components/${{ component.name }}.yml@pipelines_repo - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ component.sparseCheckoutDir }} - buildDependsOn: ${{ component.buildDependsOn }} - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }}+${{ parameters.componentName }} - triggerDownstreamJobs: true - unifiedBuild: ${{ parameters.unifiedBuild }} diff --git a/.azuredevops/components/rocThrust.yml b/.azuredevops/components/rocThrust.yml deleted file mode 100644 index ac46a5cf8..000000000 --- a/.azuredevops/components/rocThrust.yml +++ /dev/null @@ -1,195 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocThrust -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - libboost-program-options-dev - - libfftw3-dev - - python3-pip -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocm-cmake - - rocminfo - - rocPRIM - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocPRIM - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - consolidateBuildAndInstall: true - extraBuildFlags: >- - -GNinja - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" - -DAMDGPU_TARGETS=${{ job.target }} - -DBUILD_TEST=ON - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/rocthrust' - testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml --exclude-regex "scan.hip"' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocWMMA.yml b/.azuredevops/components/rocWMMA.yml deleted file mode 100644 index d9f15f68a..000000000 --- a/.azuredevops/components/rocWMMA.yml +++ /dev/null @@ -1,183 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocWMMA -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - python3-pip - - cmake - - ninja-build - - libboost-program-options-dev - - libdrm-dev - - libgtest-dev - - googletest - - libfftw3-dev - - git -- name: rocmDependencies - type: object - default: - - aomp - - rocm-cmake - - llvm-project - - ROCR-Runtime - - clr - - rocminfo - - rocBLAS - - aomp - - rocm_smi_lib -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - hipBLAS-common - - hipBLASLt - - llvm-project - - rocBLAS - - rocm-cmake - - rocm_smi_lib - - rocminfo - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_BUILD_TYPE=Release - -DROCWMMA_BUILD_TESTS=ON - -DROCWMMA_BUILD_SAMPLES=OFF - -DGPU_TARGETS=${{ job.target }} - -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON - -DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION) - -GNinja - # gfx1030 not supported in documentation - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.target }} - timeoutInMinutes: 350 - dependsOn: ${{ parameters.componentName }}_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)/rocm/bin/rocwmma' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocm-cmake.yml b/.azuredevops/components/rocm-cmake.yml deleted file mode 100644 index b54d3c1cb..000000000 --- a/.azuredevops/components/rocm-cmake.yml +++ /dev/null @@ -1,97 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - doxygen - - doxygen-doc - - ninja-build -- name: pipModules - type: object - default: - - cget - - cmake==3.20.5 - - ninja - - rocm-docs-core - - sphinx - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocm_cmake_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - task: Bash@3 - displayName: Add CMake to PATH - inputs: - targetType: inline - script: echo "##vso[task.prependpath]$(python3 -m site --user-base)/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - - task: Bash@3 - displayName: CTest setup - inputs: - targetType: inline - script: | - python -m pip install -r $(Build.SourcesDirectory)/docs/requirements.txt - python -m pip install -r $(Build.SourcesDirectory)/test/docsphinx/docs/.sphinx/requirements.txt - git config --global user.email "you@example.com" - git config --global user.name "Your Name" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocm-cmake - testParameters: '-E "pass-version-parent" --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # environment: combined diff --git a/.azuredevops/components/rocm-core.yml b/.azuredevops/components/rocm-core.yml deleted file mode 100644 index 714518781..000000000 --- a/.azuredevops/components/rocm-core.yml +++ /dev/null @@ -1,103 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocm-core -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocm_core_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_CURRENT_BINARY_DIR=$PWD - -DCMAKE_CURRENT_SOURCE_DIR=$PWD/../ - -DCMAKE_VERBOSE_MAKEFILE=1 - -DCPACK_GENERATOR=DEB - -DCPACK_DEBIAN_PACKAGE_RELEASE="local.9999~99.99" - -DCPACK_RPM_PACKAGE_RELEASE="local.9999" - -DROCM_VERSION="$(NEXT_RELEASE_VERSION)" - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/components/rocm-examples.yml b/.azuredevops/components/rocm-examples.yml deleted file mode 100644 index 5571c4844..000000000 --- a/.azuredevops/components/rocm-examples.yml +++ /dev/null @@ -1,256 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdw-dev - - libglfw3-dev - - libmsgpack-dev - - libopencv-dev - - libtbb-dev - - libtiff-dev - - libva-amdgpu-dev - - libva2-amdgpu - - mesa-amdgpu-va-drivers - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - ninja-build - - python3-pip - - protobuf-compiler - - libprotoc-dev - - libopencv-dev -- name: pipModules - type: object - default: - - future==1.0.0 - - pytz==2022.1 - - numpy==1.23 - - google==3.0.0 - - protobuf==3.12.4 - - onnx==1.12.0 - - nnef==1.0.7 -- name: rocmDependencies - type: object - default: - - AMDMIGraphX - - aomp - - aomp-extras - - clr - - half - - composable_kernel - - hipBLAS - - hipBLAS-common - - hipBLASLt - - hipCUB - - hipFFT - - HIPIFY - - hipRAND - - hipSOLVER - - hipSPARSE - - hipTensor - - llvm-project - - MIOpen - - MIVisionX - - rocm_smi_lib - - rccl - - rocAL - - rocALUTION - - rocBLAS - - rocDecode - - rocFFT - - rocJPEG - - rocPRIM - - rocprofiler-register - - rocprofiler-sdk - - ROCR-Runtime - - rocRAND - - rocSOLVER - - rocSPARSE - - rocThrust - - rocWMMA - - rpp -- name: rocmTestDependencies - type: object - default: - - AMDMIGraphX - - aomp - - aomp-extras - - clr - - half - - composable_kernel - - hipBLAS - - hipBLAS-common - - hipBLASLt - - hipCUB - - hipFFT - - HIPIFY - - hipRAND - - hipSOLVER - - hipSPARSE - - hipTensor - - llvm-project - - MIOpen - - MIVisionX - - rocm_smi_lib - - rccl - - rocAL - - rocALUTION - - rocBLAS - - rocDecode - - rocFFT - - rocminfo - - rocPRIM - - rocJPEG - - rocprofiler-register - - rocprofiler-sdk - - ROCR-Runtime - - rocRAND - - rocSOLVER - - rocSPARSE - - rocThrust - - roctracer - - rocWMMA - - rpp - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocm_examples_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - parameters: - cmakeVersion: '3.25.0' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - # https://github.com/ROCm/HIP/issues/2203 - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_ROOT=$(Agent.BuildDirectory)/rocm - -DAMDGPU_TARGETS=${{ job.target }} - -DCMAKE_HIP_ARCHITECTURES=${{ job.target }} - -DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc - -GNinja - - task: Bash@3 - displayName: Move rocm-examples binaries to rocm/examples - inputs: - targetType: inline - script: | - mkdir -p $(Build.BinariesDirectory)/examples - mv $(Build.BinariesDirectory)/bin/* $(Build.BinariesDirectory)/examples - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocm_examples_test_${{ job.target }} - dependsOn: rocm_examples_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: TEST_LOG_FILE - value: $(Pipeline.Workspace)/rocm-examplesTestLog.log - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - parameters: - cmakeVersion: '3.25.0' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - # https://github.com/ROCm/HIP/issues/2203 - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_ROOT=$(Agent.BuildDirectory)/rocm - -DAMDGPU_TARGETS=${{ job.target }} - -DCMAKE_HIP_ARCHITECTURES=${{ job.target }} - -DCMAKE_EXE_LINKER_FLAGS=-fgpu-rdc - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocm-examples - testDir: $(Build.SourcesDirectory)/build - testParameters: '--output-on-failure --force-new-ctest-process --output-junit test_output.xml' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocm-libraries.yml b/.azuredevops/components/rocm-libraries.yml deleted file mode 100644 index 1b055a631..000000000 --- a/.azuredevops/components/rocm-libraries.yml +++ /dev/null @@ -1,193 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocm_libraries -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - ccache - - gfortran - - git - - libdrm-dev - - liblapack-dev - - libmsgpack-dev - - libnuma-dev - - libopenblas-dev - - ninja-build - - python3-pip - - python3-venv - - googletest - - libgtest-dev - - libgmock-dev - - libboost-filesystem-dev -- name: pipModules - type: object - default: - - msgpack - - joblib - - "packaging>=22.0" - - pytest - - pytest-cmake - - --upgrade -- name: rocmDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rocminfo - - rocm-cmake - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - - roctracer -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rocminfo - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { pool: rocm-ci_ultra_build_pool, os: ubuntu2204, packageManager: apt, target: gfx942 } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 300 - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: DAY_STRING - value: $[format('{0:ddMMyyyy}', pipeline.startTime)] - pool: ${{ job.pool }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-custom.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - script: | - mkdir -p $(CCACHE_DIR) - echo "##vso[task.prependpath]/usr/lib/ccache" - displayName: Update path for ccache - - task: Cache@2 - displayName: Ccache caching - inputs: - key: rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) | $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - path: $(CCACHE_DIR) - restoreKeys: | - rocm-libraries | ${{ job.os }} | ${{ job.target }} | $(DAY_STRING) - rocm-libraries | ${{ job.os }} | ${{ job.target }} - rocm-libraries | ${{ job.os }} - - task: Bash@3 - displayName: Add paths for CMake and Python site-packages binaries - inputs: - targetType: inline - script: | - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.prependpath]$USER_BASE/bin" - echo "##vso[task.setvariable variable=PytestCmakePath]$USER_BASE/share/Pytest/cmake" - displayName: Set cmake configure paths - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: | - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - extraBuildFlags: >- - -D CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor;$(PytestCmakePath) - -D CMAKE_INCLUDE_PATH=$(Agent.BuildDirectory)/rocm/llvm/include - -D CMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -D CMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -D CMAKE_CXX_COMPILER_LAUNCHER=ccache - -D CMAKE_C_COMPILER_LAUNCHER=ccache - -G Ninja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - extraPaths: /home/user/workspace/rocm/llvm/bin:/home/user/workspace/rocm/bin - installLatestCMake: true - extraCopyDirectories: - - deps diff --git a/.azuredevops/components/rocm_bandwidth_test.yml b/.azuredevops/components/rocm_bandwidth_test.yml deleted file mode 100644 index 94790310e..000000000 --- a/.azuredevops/components/rocm_bandwidth_test.yml +++ /dev/null @@ -1,134 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false - -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - python3-pip -- name: pipModules - type: object - default: - - CppHeaderParser - - argparse -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- job: rocm_bandwidth_test_build - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCR_INC_DIR - value: $(Agent.BuildDirectory)/rocm - - name: ROCR_LIB_DIR - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=release - -DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/rocm/include;$(Agent.BuildDirectory)/rocm/include/hsa - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # extraEnvVars: - # - ROCR_INC_DIR:::/home/user/workspace/rocm - # - ROCR_LIB_DIR:::/home/user/workspace/rocm - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocm_bandwidth_test_test_${{ job.target }} - dependsOn: rocm_bandwidth_test_build - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocm_bandwidth_test - testDir: '$(Agent.BuildDirectory)' - testExecutable: './rocm/bin/rocm-bandwidth-test' - testParameters: '' - testPublishResults: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocm_smi_lib.yml b/.azuredevops/components/rocm_smi_lib.yml deleted file mode 100644 index 6d605888c..000000000 --- a/.azuredevops/components/rocm_smi_lib.yml +++ /dev/null @@ -1,145 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocm_smi_lib -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdrm-dev - - ninja-build - - pkg-config - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocm_smi_lib_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DBUILD_TESTS=ON - -DROCM_DEP_ROCMCORE=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocm_smi_lib_test_${{ job.os }}_${{ job.target }} - dependsOn: rocm_smi_lib_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - parameters: - runRocminfo: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)' - testExecutable: 'sudo ./rocm/share/rocm_smi/rsmitst_tests/rsmitst' - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} \ No newline at end of file diff --git a/.azuredevops/components/rocminfo.yml b/.azuredevops/components/rocminfo.yml deleted file mode 100644 index f3e87bf57..000000000 --- a/.azuredevops/components/rocminfo.yml +++ /dev/null @@ -1,175 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocminfo -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdrm-amdgpu-dev - - libdrm-dev - - ninja-build -- name: rocmDependencies - type: object - default: - - ROCR-Runtime - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - ROCR-Runtime - - rocprofiler-register - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCRTST_BLD_TYPE=release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocminfo_test_${{ job.target }} - dependsOn: rocminfo_build_${{ job.os }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - parameters: - runRocminfo: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: '$(Agent.BuildDirectory)' - testExecutable: './rocm/bin/rocminfo' - testParameters: '' - testPublishResults: false - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocm_agent_enumerator - testDir: '$(Agent.BuildDirectory)' - testExecutable: './rocm/bin/rocm_agent_enumerator' - testParameters: '' - testPublishResults: false - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - registerROCmPackages: true - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocprofiler-compute.yml b/.azuredevops/components/rocprofiler-compute.yml deleted file mode 100644 index f2f65c4fb..000000000 --- a/.azuredevops/components/rocprofiler-compute.yml +++ /dev/null @@ -1,238 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocprofiler-compute -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - libdw-dev - - libtbb-dev - - locales - - ninja-build - - python3-pip -- name: pipModules - type: object - default: - - astunparse==1.6.2 - - colorlover - - dash-bootstrap-components - - dash-svg - - "dash>=3.0.0" - - kaleido==0.2.1 - - matplotlib - - "numpy>=1.17.5" - - "pandas>=1.4.3" - - plotext - - plotille - - pymongo - - pyyaml - - setuptools - - sqlalchemy - - tabulate - - textual - - textual_plotext - - textual-fspicker - - tqdm - - mock - - pytest - - pytest-cov - - pytest-xdist -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - ROCR-Runtime - - rocprofiler-sdk -- name: rocmTestDependencies - type: object - default: - - amdsmi - - clr - - llvm-project - - rocm-cmake - - rocm-core - - rocminfo - - rocm_smi_lib - - ROCR-Runtime - - rocprofiler - - rocprofiler-sdk - - rocprofiler-register - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocprofiler_compute_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocprofiler_compute_test_${{ job.target }} - timeoutInMinutes: 120 - dependsOn: rocprofiler_compute_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: PYTHON_VERSION - value: 3.10 - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Add en_US.UTF-8 locale - inputs: - targetType: inline - script: | - sudo locale-gen en_US.UTF-8 - sudo update-locale - locale -a - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: | - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_HIP_ARCHITECTURES=${{ job.target }} - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_BUILD_TYPE=Release - -DENABLE_TESTS=ON - -DINSTALL_TESTS=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: $(Build.BinariesDirectory)/libexec/rocprofiler-compute - testExecutable: ROCM_PATH=$(Agent.BuildDirectory)/rocm ctest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocprofiler-register.yml b/.azuredevops/components/rocprofiler-register.yml deleted file mode 100644 index 8c38751d7..000000000 --- a/.azuredevops/components/rocprofiler-register.yml +++ /dev/null @@ -1,104 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocprofiler-register -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: ubuntu2404, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocprofiler_register_${{ job.os }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - pool: - ${{ if eq(job.os, 'ubuntu2404') }}: - vmImage: 'ubuntu-24.04' - ${{ else }}: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory) - -DROCPROFILER_REGISTER_BUILD_TESTS=ON - -DROCPROFILER_REGISTER_BUILD_SAMPLES=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: $(Agent.BuildDirectory)/s/build - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # environment: combined diff --git a/.azuredevops/components/rocprofiler-sdk.yml b/.azuredevops/components/rocprofiler-sdk.yml deleted file mode 100644 index b551f46fb..000000000 --- a/.azuredevops/components/rocprofiler-sdk.yml +++ /dev/null @@ -1,231 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocprofiler-sdk -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - build-essential - - cmake - - libdrm-amdgpu-dev - - libdrm-dev - - libdw-dev - - libelf-dev - - libsqlite3-dev - - libva-dev - - ninja-build - - pkg-config - - python3-pip -- name: pipModules - type: object - default: - - black - - clang-format - - clang-tidy - - cmake - - cmake-format - - dataclasses - - numpy - - otf2 - - pandas - - perfetto - - pycobertura - - "pytest>=6.2.5" - - pyyaml -- name: rocmDependencies - type: object - default: - - aomp - - clr - - llvm-project - - rccl - - rocDecode - - rocJPEG - - rocm-cmake - - rocm-core - - rocminfo - - ROCR-Runtime - - rocprofiler-register - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os}}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Add Python site-packages binaries to path - inputs: - targetType: inline - script: | - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.prependpath]$USER_BASE/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCPROFILER_BUILD_TESTS=ON - -DROCPROFILER_BUILD_SAMPLES=ON - -DROCPROFILER_BUILD_RELEASE=ON - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - # registerROCmPackages: true - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocprofiler_sdk_test_${{ job.os }}_${{ job.target }} - dependsOn: rocprofiler_sdk_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Add Python and ROCm binaries to path - inputs: - targetType: inline - script: | - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.prependpath]$USER_BASE/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCPROFILER_BUILD_TESTS=ON - -DROCPROFILER_BUILD_SAMPLES=ON - -DROCPROFILER_BUILD_RELEASE=ON - -DGPU_TARGETS=${{ job.target }} - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH}}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - testDir: $(Agent.BuildDirectory)/build - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - registerROCmPackages: true diff --git a/.azuredevops/components/rocprofiler-systems.yml b/.azuredevops/components/rocprofiler-systems.yml deleted file mode 100644 index 12231af71..000000000 --- a/.azuredevops/components/rocprofiler-systems.yml +++ /dev/null @@ -1,271 +0,0 @@ -# largely referenced from: https://github.com/ROCm/omnitrace/blob/main/.github/workflows/ubuntu-jammy.yml -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: componentName - type: string - default: rocprofiler-systems -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - autoconf - - autotools-dev - - bison - - build-essential - - bzip2 - - clang - - cmake - - chrpath - - environment-modules - - ffmpeg - - g++-12 - - libavcodec-dev - - libavformat-dev - - libavutil-dev - - libdrm-amdgpu-dev - - libdrm-dev - - libdw-dev - - libfabric-dev - - libiberty-dev - - libpapi-dev - - libpfm4-dev - - libtool - - libopenmpi-dev - - libsqlite3-dev - - m4 - - ninja-build - - openmpi-bin - - pkg-config - - python3-pip - - software-properties-common - - texinfo - - zlib1g-dev -- name: pipModules - type: object - default: - - numpy - - perfetto - - dataclasses -- name: rocmDependencies - type: object - default: - - amdsmi - - aomp - - clr - - llvm-project - - rccl - - rocDecode - - rocJPEG - - rocm-core - - rocminfo - - rocm_smi_lib - - rocprofiler-register - - rocprofiler-sdk - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rocprofiler_systems_build_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: | - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - # build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html - extraBuildFlags: >- - -DROCPROFSYS_BUILD_TESTING=ON - -DROCPROFSYS_BUILD_DYNINST=ON - -DROCPROFSYS_BUILD_LIBUNWIND=ON - -DROCPROFSYS_DISABLE_EXAMPLES="openmp-target" - -DDYNINST_BUILD_TBB=ON - -DDYNINST_BUILD_ELFUTILS=ON - -DDYNINST_BUILD_LIBIBERTY=ON - -DDYNINST_BUILD_BOOST=ON - -DROCPROFSYS_USE_PAPI=ON - -DROCPROFSYS_USE_MPI=ON - -DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg - -DGPU_TARGETS=${{ job.target }} - -GNinja - componentName: ${{ parameters.componentName }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - componentName: ${{ parameters.componentName }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - registerROCmPackages: true - extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocprofiler_systems_test_${{ job.target }} - dependsOn: rocprofiler_systems_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - timeoutInMinutes: 180 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - name: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: | - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - cmakeSourceDir: $(Agent.BuildDirectory)/s/projects/rocprofiler-systems - # build flags reference: https://rocm.docs.amd.com/projects/omnitrace/en/latest/install/install.html - extraBuildFlags: >- - -DCMAKE_INSTALL_PREFIX=$(Agent.BuildDirectory)/rocprofiler-systems - -DROCPROFSYS_USE_PYTHON=ON - -DROCPROFSYS_BUILD_TESTING=ON - -DROCPROFSYS_BUILD_DYNINST=ON - -DROCPROFSYS_BUILD_LIBUNWIND=ON - -DROCPROFSYS_DISABLE_EXAMPLES="openmp-target" - -DDYNINST_BUILD_TBB=ON - -DDYNINST_BUILD_ELFUTILS=ON - -DDYNINST_BUILD_LIBIBERTY=ON - -DDYNINST_BUILD_BOOST=ON - -DROCPROFSYS_USE_PAPI=ON - -DROCPROFSYS_USE_MPI=ON - -DCMAKE_CXX_FLAGS=-I$(Agent.BuildDirectory)/rocm/include/rocjpeg - -DGPU_TARGETS=${{ job.target }} - -GNinja - - task: Bash@3 - displayName: Set up rocprofiler-systems env - inputs: - targetType: inline - script: source $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh - workingDirectory: $(Agent.BuildDirectory)/rocprofiler-systems/share/rocprofiler-systems - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testDir: $(Agent.BuildDirectory)/s/build/tests/ - testParameters: '--output-on-failure' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - registerROCmPackages: true - gpuTarget: ${{ job.target }} - extraPaths: /home/user/workspace/rocm/bin:/home/user/workspace/rocm/llvm/bin diff --git a/.azuredevops/components/rocprofiler.yml b/.azuredevops/components/rocprofiler.yml deleted file mode 100644 index b6fc4856f..000000000 --- a/.azuredevops/components/rocprofiler.yml +++ /dev/null @@ -1,233 +0,0 @@ -parameters: -- name: componentName - type: string - default: rocprofiler -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false - -- name: aptPackages - type: object - default: - - cmake - - libdrm-dev - - libdw-dev - - libsystemd-dev - - libelf-dev - - libnuma-dev - - libpciaccess-dev - - python3-pip -- name: pipModules - type: object - default: - - barectf - - Cppheaderparser - - lxml - - matplotlib - - pandas - - pyyaml==5.3.1 - - websockets -- name: rocmDependencies - type: object - default: - - clr - - llvm-project - - ROCdbgapi - - rocm-cmake - - rocm-core - - rocminfo - - rocm_smi_lib - - rocprofiler-register - - ROCR-Runtime - - roctracer - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: HIP_ROCCLR_HOME - value: $(Agent.BuildDirectory)/rocm - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ variables.MEDIUM_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - gtest - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_MODULE_PATH=$(Build.SourcesDirectory)/cmake_modules;$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Agent.BuildDirectory)/vendor" - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DENABLE_LDCONFIG=OFF - -DUSE_PROF_API=1 - -DGPU_TARGETS=${{ job.target }} - multithreadFlag: -- -j32 - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.os, 'ubuntu2204') }}: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - gpuTarget: ${{ job.target }} - extraEnvVars: - - HIP_ROCCLR_HOME:::/home/user/workspace/rocm - - ROCM_PATH:::/home/user/workspace/rocm - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - - name: LD_LIBRARY_PATH - value: $(Agent.BuildDirectory)/rocm/lib/rocprofiler:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1/test:$(Agent.BuildDirectory)/rocm/share/rocprofiler/tests - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - parameters: - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocprofilerV1 - testDir: $(Agent.BuildDirectory)/rocm/share/rocprofiler/tests-v1 - testExecutable: ./run.sh - testParameters: '' - testPublishResults: false - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocprofilerV2 - testDir: $(Agent.BuildDirectory)/rocm - testExecutable: share/rocprofiler/tests/runUnitTests - testParameters: '--gtest_output=xml:./test_output.xml --gtest_color=yes' - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/rocr_debug_agent.yml b/.azuredevops/components/rocr_debug_agent.yml deleted file mode 100644 index f804244a5..000000000 --- a/.azuredevops/components/rocr_debug_agent.yml +++ /dev/null @@ -1,135 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - ninja-build - - libelf-dev - - libdw-dev - - libstdc++-12-dev - - python-is-python3 - - python3-pip -- name: rocmDependencies - type: object - default: - - rocm-cmake - - clr - - llvm-project - - ROCdbgapi - - rocminfo - - ROCR-Runtime - - rocprofiler-register -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - ROCdbgapi - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- job: rocr_debug_agent_build - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rocr_debug_agent_test_${{ job.target }} - dependsOn: rocr_debug_agent_build - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: rocr_debug_agent-tests - extraBuildFlags: >- - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake;$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - cmakeBuildDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test' - cmakeSourceDir: '.' - installEnabled: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rocr_debug_agent - testDir: '$(Agent.BuildDirectory)/rocm/src/rocm-debug-agent-test' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/components/roctracer.yml b/.azuredevops/components/roctracer.yml deleted file mode 100644 index 503cd18bd..000000000 --- a/.azuredevops/components/roctracer.yml +++ /dev/null @@ -1,205 +0,0 @@ -parameters: -- name: componentName - type: string - default: roctracer -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# monorepo related parameters -- name: sparseCheckoutDir - type: string - default: '' -- name: triggerDownstreamJobs - type: boolean - default: false -- name: downstreamAggregateNames - type: string - default: '' -- name: buildDependsOn - type: object - default: null -- name: unifiedBuild - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - cmake - - doxygen - - graphviz - - libdrm-amdgpu-dev - - ninja-build - - zlib1g-dev -- name: pipModules - type: object - default: - - CppHeaderParser - - argparse -- name: rocmDependencies - type: object - default: - - llvm-project - - ROCR-Runtime - - rocprofiler-register - - clr - - rocminfo -- name: rocmTestDependencies - type: object - default: - - clr - - llvm-project - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } - testJobs: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - ${{ if parameters.buildDependsOn }}: - dependsOn: - - ${{ each build in parameters.buildDependsOn }}: - - ${{ build }}_${{ job.os }}_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - # the linker flags will not affect ubuntu2204 builds as the paths do not exist - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=release - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip;$(Agent.BuildDirectory)/rocm/lib64/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - -DGPU_TARGETS=${{ job.target }} - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - componentName: ${{ parameters.componentName }} - sparseCheckoutDir: ${{ parameters.sparseCheckoutDir }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - componentName: ${{ parameters.componentName }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - # registerROCmPackages: true - -- ${{ if eq(parameters.unifiedBuild, False) }}: - - ${{ each job in parameters.jobMatrix.testJobs }}: - - job: ${{ parameters.componentName }}_test_${{ job.os }}_${{ job.target }} - dependsOn: ${{ parameters.componentName }}_build_${{ job.os }}_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), '${{ parameters.componentName }}')), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - packageManager: ${{ job.packageManager }} - registerROCmPackages: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - preTargetFilter: ${{ parameters.componentName }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - os: ${{ job.os }} - ${{ if parameters.triggerDownstreamJobs }}: - downstreamAggregateNames: ${{ parameters.downstreamAggregateNames }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: ${{ parameters.componentName }} - testExecutable: $(Agent.BuildDirectory)/rocm/share/roctracer/run_tests.sh - testParameters: '' - testDir: $(Agent.BuildDirectory) - testPublishResults: false - os: ${{ job.os }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} - registerROCmPackages: true diff --git a/.azuredevops/components/rpp.yml b/.azuredevops/components/rpp.yml deleted file mode 100644 index 6a13f797b..000000000 --- a/.azuredevops/components/rpp.yml +++ /dev/null @@ -1,200 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -- name: aptPackages - type: object - default: - - clang - - cmake - - imagemagick - - libopencv-dev - - libsndfile1-dev - - libstdc++-12-dev - - ninja-build - - python3-pip -- name: pipModules - type: object - default: - - openpyxl - - pandas - - sphinx -- name: rocmDependencies - type: object - default: - - aomp - - clr - - half - - llvm-project - - rocm-cmake - - rocminfo - - ROCR-Runtime -- name: rocmTestDependencies - type: object - default: - - aomp - - clr - - half - - hipTensor - - llvm-project - - rocm-cmake - - rocminfo - - rocprofiler-register - - ROCR-Runtime - -- name: jobMatrix - type: object - default: - buildJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - testJobs: - - gfx942: - target: gfx942 - - gfx90a: - target: gfx90a - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: rpp_build_${{ job.target }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: ${{ job.target }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - -DHALF_INCLUDE_DIRS=$(Agent.BuildDirectory)/rocm/include - -DCMAKE_BUILD_TYPE=Release - -DGPU_TARGETS=${{ job.target }} - -DROCM_PLATFORM_VERSION=$(NEXT_RELEASE_VERSION) - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - # - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - # parameters: - # aptPackages: ${{ parameters.aptPackages }} - # pipModules: ${{ parameters.pipModules }} - # gpuTarget: ${{ job.target }} - -- ${{ each job in parameters.jobMatrix.testJobs }}: - - job: rpp_test_${{ job.target }} - dependsOn: rpp_build_${{ job.target }} - condition: - and(succeeded(), - eq(variables['ENABLE_${{ upper(job.target) }}_TESTS'], 'true'), - not(containsValue(split(variables['DISABLED_${{ upper(job.target) }}_TESTS'], ','), variables['Build.DefinitionName'])), - eq(${{ parameters.aggregatePipeline }}, False) - ) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: ROCM_PATH - value: $(Agent.BuildDirectory)/rocm - pool: ${{ job.target }}_test_pool - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/local-artifact-download.yml - parameters: - gpuTarget: ${{ job.target }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - checkoutRef: ${{ parameters.checkoutRef }} - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: ${{ job.target }} - # Dependencies from: https://github.com/ROCm/rpp/blob/develop/utilities/test_suite/README.md - - task: Bash@3 - displayName: Build and install Turbo JPEG - inputs: - targetType: 'inline' - script: | - sudo apt-get install nasm - sudo apt-get install wget - git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git - cd libjpeg-turbo - mkdir build - cd build - cmake -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=RELEASE \ - -DENABLE_STATIC=FALSE \ - -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \ - -DWITH_JPEG8=TRUE \ - .. - make -j$nproc - sudo make install - - task: Bash@3 - displayName: Build and install Nifti - inputs: - targetType: 'inline' - script: | - git clone -b v3.0.1 https://github.com/NIFTI-Imaging/nifti_clib.git - cd nifti_clib - mkdir build - cd build - cmake .. - sudo make -j$nproc install - - task: Bash@3 - displayName: Build rpp tests - inputs: - targetType: 'inline' - script: | - mkdir rpp-tests - cd rpp-tests - cmake $(Agent.BuildDirectory)/rocm/share/rpp/test \ - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ \ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/gpu-diagnostics.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml - parameters: - componentName: rpp - testExecutable: 'CMAKE_VERBOSE_MAKEFILE=ON VERBOSE=1 ctest' - testDir: 'rpp-tests' - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - environment: test - gpuTarget: ${{ job.target }} diff --git a/.azuredevops/dependencies/boost.yml b/.azuredevops/dependencies/boost.yml deleted file mode 100644 index 7a5e36bdd..000000000 --- a/.azuredevops/dependencies/boost.yml +++ /dev/null @@ -1,64 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: boostVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - git -- name: rocmDependencies - type: object - default: - - llvm-project - -jobs: -- job: boost - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: 'git clone boost' - inputs: - targetType: inline - script: git clone -b ${{ parameters.boostVersion }} https://github.com/boostorg/boost --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - dependencyList: ${{ parameters.rocmDependencies }} - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - - task: Bash@3 - displayName: Add ROCm compilers to PATH - inputs: - targetType: inline - script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/llvm/bin" - - task: Bash@3 - displayName: 'Build Boost with clang' - inputs: - targetType: inline - script: | - export CC=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - export CXX=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - ./bootstrap.sh --with-toolset=clang --prefix=$(Build.BinariesDirectory) - ./b2 --toolset=clang threading=multi link=shared --prefix=$(Build.BinariesDirectory) cxxflags="-std=c++20" - ./b2 install - workingDirectory: $(Build.SourcesDirectory)/boost - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml diff --git a/.azuredevops/dependencies/catch2.yml b/.azuredevops/dependencies/catch2.yml deleted file mode 100644 index aaf1d41be..000000000 --- a/.azuredevops/dependencies/catch2.yml +++ /dev/null @@ -1,63 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: catch2Version - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: catch2_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone catch2 ${{ parameters.catch2Version }} - inputs: - targetType: inline - script: git clone https://github.com/catchorg/Catch2.git -b ${{ parameters.catch2Version }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/Catch2/build - cmakeSourceDir: $(Agent.BuildDirectory)/Catch2 - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/cli11.yml b/.azuredevops/dependencies/cli11.yml deleted file mode 100644 index 7d1f816c5..000000000 --- a/.azuredevops/dependencies/cli11.yml +++ /dev/null @@ -1,63 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: cli11Version - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: cli11_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone cli11 ${{ parameters.cli11Version }} - inputs: - targetType: inline - script: git clone https://github.com/CLIUtils/CLI11.git -b ${{ parameters.cli11Version }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/CLI11/build - cmakeSourceDir: $(Agent.BuildDirectory)/CLI11 - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/fmtlib.yml b/.azuredevops/dependencies/fmtlib.yml deleted file mode 100644 index c1ee707c4..000000000 --- a/.azuredevops/dependencies/fmtlib.yml +++ /dev/null @@ -1,67 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: fmtlibVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - - libfmt-dev - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: fmtlib_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone fmtlib ${{ parameters.fmtlibVersion }} - inputs: - targetType: inline - script: git clone https://github.com/fmtlib/fmt.git -b ${{ parameters.fmtlibVersion }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/fmt/build - cmakeSourceDir: $(Agent.BuildDirectory)/fmt - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DFMT_SYSTEM_HEADERS=ON - -DFMT_INSTALL=ON - -DFMT_TEST=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/grpc.yml b/.azuredevops/dependencies/grpc.yml deleted file mode 100644 index 155fd859b..000000000 --- a/.azuredevops/dependencies/grpc.yml +++ /dev/null @@ -1,49 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: grpcVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - git - - cmake - - ninja-build - -jobs: -- job: grpc - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: 'git clone grpc' - inputs: - targetType: inline - script: git clone -b ${{ parameters.grpcVersion }} https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - cmakeBuildDir: $(Agent.BuildDirectory)/grpc/build - cmakeSourceDir: $(Agent.BuildDirectory)/grpc - extraBuildFlags: >- - -DgRPC_INSTALL=ON - -DgRPC_BUILD_TESTS=OFF - -DBUILD_SHARED_LIBS=ON - -DCMAKE_INSTALL_LIBDIR=lib - -DCMAKE_BUILD_TYPE=Release - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml diff --git a/.azuredevops/dependencies/gtest.yml b/.azuredevops/dependencies/gtest.yml deleted file mode 100644 index 28c793f0d..000000000 --- a/.azuredevops/dependencies/gtest.yml +++ /dev/null @@ -1,64 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: gtestVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt } - - { os: almalinux8, packageManager: dnf } - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: gtest_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone GTest ${{ parameters.gtestVersion }} - inputs: - targetType: inline - script: git clone https://github.com/google/googletest -b ${{ parameters.gtestVersion }} --depth=1 --shallow-submodules --recurse-submodules - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/googletest/build - cmakeSourceDir: $(Agent.BuildDirectory)/googletest - useAmdclang: false - extraBuildFlags: >- - -DGTEST_FORCE_SHARED_CRT=ON - -DCMAKE_DEBUG_POSTFIX=d - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/half560.yml b/.azuredevops/dependencies/half560.yml deleted file mode 100644 index 7e08ab6b3..000000000 --- a/.azuredevops/dependencies/half560.yml +++ /dev/null @@ -1,37 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - ninja-build - -jobs: -- job: half560 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - container: - image: rocm/dev-ubuntu-22.04:${{ variables.LATEST_RELEASE_VERSION }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml - parameters: - checkoutRepo: ${{ parameters.checkoutRepo }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - extraBuildFlags: >- - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml diff --git a/.azuredevops/dependencies/lapack.yml b/.azuredevops/dependencies/lapack.yml deleted file mode 100644 index c1a15a138..000000000 --- a/.azuredevops/dependencies/lapack.yml +++ /dev/null @@ -1,63 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: lapackVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - wget - - cmake - - ninja-build - - gfortran - -jobs: -- job: lapack - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: ${{ variables.BASE_BUILD_POOL }} - workspace: - clean: all - steps: - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: 'Download lapack Source Code' - inputs: - targetType: inline - script: wget -nv -O lapack-${{ parameters.lapackVersion }}.tar.gz https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v${{ parameters.lapackVersion }}.tar.gz - workingDirectory: '$(System.ArtifactsDirectory)' - - task: ExtractFiles@1 - displayName: Extract lapack Source Code - inputs: - archiveFilePatterns: '$(System.ArtifactsDirectory)/**/*.tar.gz' - destinationFolder: '$(Agent.BuildDirectory)' - cleanDestinationFolder: false - overwriteExistingFiles: true - - task: DeleteFiles@1 - displayName: Cleanup Compressed lapack - inputs: - SourceFolder: '$(System.ArtifactsDirectory)' - Contents: '/**/*.tar.gz' - RemoveDotFiles: true - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - cmakeBuildDir: $(Agent.BuildDirectory)/lapack-${{ parameters.lapackVersion }}/build - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_Fortran_COMPILER=gfortran - -DCMAKE_Fortran_FLAGS=-fno-optimize-sibling-calls - -DBUILD_TESTING=OFF - -DCBLAS=ON - -DLAPACKE=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml diff --git a/.azuredevops/dependencies/libdivide.yml b/.azuredevops/dependencies/libdivide.yml deleted file mode 100644 index e20a1ccea..000000000 --- a/.azuredevops/dependencies/libdivide.yml +++ /dev/null @@ -1,64 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: libdivideVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: libdivide_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone libdivide ${{ parameters.libdivideVersion }} - inputs: - targetType: inline - script: git clone https://github.com/ridiculousfish/libdivide.git -b ${{ parameters.libdivideVersion }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/libdivide/build - cmakeSourceDir: $(Agent.BuildDirectory)/libdivide - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DLIBDIVIDE_BUILD_TESTS=OFF - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/spdlog.yml b/.azuredevops/dependencies/spdlog.yml deleted file mode 100644 index f561f8a52..000000000 --- a/.azuredevops/dependencies/spdlog.yml +++ /dev/null @@ -1,71 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: spdlogVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: spdlog_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-vendor.yml - parameters: - dependencyList: - - fmtlib - - task: Bash@3 - displayName: Clone spdlog ${{ parameters.spdlogVersion }} - inputs: - targetType: inline - script: git clone https://github.com/gabime/spdlog.git -b ${{ parameters.spdlogVersion }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/spdlog/build - cmakeSourceDir: $(Agent.BuildDirectory)/spdlog - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/vendor - -DCMAKE_BUILD_TYPE=Release - -DSPDLOG_USE_STD_FORMAT=OFF - -DSPDLOG_FMT_EXTERNAL_HO=ON - -DSPDLOG_INSTALL=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/dependencies/yamlcpp.yml b/.azuredevops/dependencies/yamlcpp.yml deleted file mode 100644 index c722b70f2..000000000 --- a/.azuredevops/dependencies/yamlcpp.yml +++ /dev/null @@ -1,66 +0,0 @@ -parameters: -- name: checkoutRepo - type: string - default: 'self' -- name: checkoutRef - type: string - default: '' -- name: yamlcppVersion - type: string - default: '' -- name: aptPackages - type: object - default: - - cmake - - git - - ninja-build - -- name: jobMatrix - type: object - default: - buildJobs: - - { os: ubuntu2204, packageManager: apt} - - { os: almalinux8, packageManager: dnf} - -jobs: -- ${{ each job in parameters.jobMatrix.buildJobs }}: - - job: yamlcpp_${{ job.os }} - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: - vmImage: 'ubuntu-22.04' - ${{ if eq(job.os, 'almalinux8') }}: - container: - image: rocmexternalcicd.azurecr.io/manylinux228:latest - endpoint: ContainerService3 - workspace: - clean: all - steps: - - checkout: none - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - packageManager: ${{ job.packageManager }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: Bash@3 - displayName: Clone yaml-cpp ${{ parameters.yamlcppVersion }} - inputs: - targetType: inline - script: git clone https://github.com/jbeder/yaml-cpp.git -b ${{ parameters.yamlcppVersion }} - workingDirectory: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - os: ${{ job.os }} - cmakeBuildDir: $(Agent.BuildDirectory)/yaml-cpp/build - cmakeSourceDir: $(Agent.BuildDirectory)/yaml-cpp - useAmdclang: false - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=Release - -DYAML_CPP_BUILD_TOOLS=OFF - -DYAML_BUILD_SHARED_LIBS=OFF - -DYAML_CPP_INSTALL=ON - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml - parameters: - os: ${{ job.os }} diff --git a/.azuredevops/nightly/pytorch.yml b/.azuredevops/nightly/pytorch.yml deleted file mode 100644 index 995206f7d..000000000 --- a/.azuredevops/nightly/pytorch.yml +++ /dev/null @@ -1,551 +0,0 @@ -parameters: -# ubuntu near-equivalent list of yum installs in https://github.com/ROCm/ROCm-docker/blob/master/dev/Dockerfile-centos-7-complete -# plus additional packages found through iterative testing of pipeline -- name: aptPackages - type: object - default: - - autoconf - - bc - - bridge-utils - - build-essential - - ca-certificates - - ccache - - devscripts - - dkms - - doxygen - - fakeroot - - ffmpeg - - gfortran - - git - - gnutls-bin - - libamd2 - - libavformat-dev - - libblas3 - - libcamd2 - - libccolamd2 - - libcholmod3 - - libcolamd2 - - libdpkg-dev - - libdpkg-perl - - libdrm-amdgpu1 - - libdrm-dev - - libelf-dev - - libfreetype-dev - - libgfortran5 - - libgomp1 - - libjpeg-dev - - libjpeg-turbo-official - - liblapack-dev - - liblapack3 - - libmetis5 - - libncurses-dev - - libnuma-dev - - libopenblas-dev - - libpth-dev - - libquadmath0 - - libssh-dev - - libstdc++-12-dev - - libsuitesparseconfig5 - - libswscale-dev - - libtinfo-dev - - libunwind-dev - - libwebp-dev - - llvm-dev - - ncurses-base - - ninja-build - - numactl - - openjdk-8-jdk - - python-is-python3 - - python3-dev - - python3-pip - - python3-venv - - qemu-kvm - - re2c - - subversion - - wget - - zip -- name: pipModules - type: object - default: - - astunparse - - "expecttest>=0.3.0" - - hypothesis - - numpy - - psutil - - pyyaml - - requests - - setuptools==75.8.0 - - types-dataclasses - - "typing-extensions>=4.10.0" - - "sympy>=1.13.3" - - filelock - - networkx - - jinja2 - - fsspec - - lintrunner - - ninja - - packaging - - "optree>=0.13.0" - - "click>=8.0.3" - # list for vision - - auditwheel - - future - - pytest - - pytest-azurepipelines - - pillow -# list from https://github.com/pytorch/pytorch/blob/main/.ci/manywheel/build_rocm.sh -- name: rocmDependencies - type: object - default: - - clr - - hipBLAS - - hipBLASLt - - hipFFT - - hipRAND - - hipSOLVER - - hipSPARSE - - hipSPARSELt - - llvm-project - - MIOpen - - rccl - - rocBLAS - - rocFFT - - rocm-core - - rocminfo - - rocm_smi_lib - - rocPRIM - - rocprofiler-register - - rocRAND - - ROCR-Runtime - - rocSOLVER - - rocSPARSE - - roctracer - # below are additional dependencies not called out by build script, but throw errors during cmake - - composable_kernel - - hipBLAS-common - - hipCUB - - rocThrust -- name: rocmTestDependencies - type: object - default: - # rocroller.so needed and is not included in the wheel - - hipBLASLt - - rocminfo -# Reference on what tests to run for torchvision found in private repo: -# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_pytorch_test1.sh#L54 -# Will iterate through this list using pytest -- name: torchTestList - type: object - default: - - nn - - torch -# - cuda seg faults and might need cuda installed on test system -# - ops takes too long - - unary_ufuncs - - binary_ufuncs - - autograd -# - inductor/torchinductor takes too long -# set to false to disable torchvision build and test -- name: includeVision - type: boolean - default: false - -trigger: none -pr: none -schedules: -- cron: '30 7 * * *' - displayName: nightly pytorch - branches: - include: - - develop - always: true - -jobs: -- job: pytorch - timeoutInMinutes: 120 - strategy: - matrix: - amd-staging-gfx942: - ROCM_BRANCH: amd-staging - JOB_GPU_TARGET: gfx942 - variables: - - group: common - - template: /.azuredevops/variables-global.yml -# various flags/parameters expected by bash scripts in pytorch repo's .ci directory - - name: ROCM_VERSION - value: 6.5.0 - - name: ROCM_PATH - value: /opt/rocm - - name: DESIRED_CUDA - value: 6.5.0 - - name: MAGMA_ROCM - value: 6.3 - - name: DESIRED_PYTHON - value: 3.10 - - name: PYTORCH_ROOT - value: $(Build.SourcesDirectory)/pytorch - - name: DESIRED_DEVTOOLSET - value: cxx11-abi - pool: ${{ variables.ULTRA_BUILD_POOL }} - workspace: - clean: all - steps: -# copy environment setup from https://github.com/pytorch/pytorch/blob/main/.ci/docker/manywheel/Dockerfile -# but instead of centos, use ubuntu environment - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-cmake-latest.yml - - task: Bash@3 - displayName: 'Register libjpeg-turbo packages' - inputs: - targetType: inline - script: | - sudo mkdir --parents --mode=0755 /etc/apt/keyrings - wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null - echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list - sudo apt update - apt-cache show libjpeg-turbo-official | grep Version - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml -# wheel install location different on azure agent compared to where wheel is assumed to be installed on upstream script - - task: Bash@3 - displayName: wheel install path symlink - inputs: - targetType: inline - script: | - sudo mkdir -p /opt/python/cp310-cp310/lib/python3.10 - sudo ln -s /usr/local/lib/python3.10/dist-packages /opt/python/cp310-cp310/lib/python3.10/site-packages - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - dependencyList: ${{ parameters.rocmDependencies }} - gpuTarget: $(JOB_GPU_TARGET) - setupHIPLibrarySymlinks: true - - task: Bash@3 - displayName: ROCm symbolic link - inputs: - targetType: inline - script: sudo ln -s $(Agent.BuildDirectory)/rocm /opt/rocm - - checkout: self - - task: Bash@3 - displayName: git clone upstream pytorch - inputs: - targetType: inline - script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) -# builder clone still needed due to run_tests.sh at end of build_common.sh call - - task: Bash@3 - displayName: git clone pytorch builder - inputs: - targetType: inline - script: | - git clone https://github.com/pytorch/builder.git --depth=1 --recurse-submodules - sudo ln -s $(Build.SourcesDirectory)/builder /builder - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Install patchelf - inputs: - targetType: inline - script: | - sudo bash pytorch/.ci/docker/common/install_patchelf.sh - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Install rocm drm - inputs: - targetType: inline - script: | - sudo bash pytorch/.ci/docker/common/install_rocm_drm.sh - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Install rocm magma - inputs: - targetType: inline - script: | - sudo bash pytorch/.ci/docker/common/install_rocm_magma.sh $(MAGMA_ROCM) - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Install targeted typing_extensions for build - inputs: - targetType: inline - script: pip install --target=$(Build.SourcesDirectory)/pytorch/torch/.. typing_extensions - - task: Bash@3 - displayName: Run ROCm Build Script - inputs: - targetType: inline - script: >- - sudo - PYTHONPATH=/home/AzDevOps/.local/lib/python3.10/site-packages:/usr/lib/python3/dist-packages - DESIRED_CUDA=$(DESIRED_CUDA) - PYTORCH_ROCM_ARCH=$(JOB_GPU_TARGET) - GPU_TARGET=$(JOB_GPU_TARGET) - DESIRED_PYTHON=$(DESIRED_PYTHON) - PYTORCH_ROOT=$(PYTORCH_ROOT) - CMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm - DESIRED_DEVTOOLSET=$(DESIRED_DEVTOOLSET) - PYTORCH_BUILD_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1) - PYTORCH_BUILD_NUMBER=$(date -u +%Y%m%d) - SKIP_ALL_TESTS=1 - bash ./.ci/manywheel/build_rocm.sh - workingDirectory: $(Build.SourcesDirectory)/pytorch - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: /remote/wheelhouserocm$(ROCM_VERSION) - contentsString: '*.whl' -# common helper source for pytorch vision and audio - - ${{ if eq(parameters.includeVision, true) }}: - - task: Bash@3 - displayName: git clone pytorch test-infra - inputs: - targetType: inline - script: git clone https://github.com/pytorch/test-infra.git --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: install package helper - inputs: - targetType: inline - script: python3 -m pip install test-infra/tools/pkg-helpers - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: pytorch pkg helpers - inputs: - targetType: inline - script: CU_VERSION=${CU_VERSION} CHANNEL=${CHANNEL} python -m pytorch_pkg_helpers - # get torch vision source and build - - task: Bash@3 - displayName: git clone pytorch vision - inputs: - targetType: inline - script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Build vision - inputs: - targetType: inline - script: >- - PYTORCH_VERSION=$(cat $(Build.SourcesDirectory)/pytorch/version.txt | cut -da -f1)post$(date -u +%Y%m%d) - BUILD_VERSION=$(cat $(Build.SourcesDirectory)/vision/version.txt | cut -da -f1)post$(date -u +%Y%m%d) - python3 setup.py bdist_wheel - workingDirectory: $(Build.SourcesDirectory)/vision - - task: Bash@3 - displayName: Relocate vision - inputs: - targetType: inline - script: python3 packaging/wheel/relocate.py - workingDirectory: $(Build.SourcesDirectory)/vision - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-prepare-package.yml - parameters: - sourceDir: $(Build.SourcesDirectory)/vision/dist - contentsString: '*.whl' - clean: false - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - parameters: - gpuTarget: $(JOB_GPU_TARGET) - - task: PublishPipelineArtifact@1 - displayName: 'wheel file Publish' - retryCountOnTaskFailure: 3 - inputs: - targetPath: $(Build.BinariesDirectory) - - task: Bash@3 - displayName: Save pipeline artifact file name - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - whlFile=$(find "$(Build.BinariesDirectory)" -type f -name "*.whl" | head -n 1) - if [ -n "$whlFile" ]; then - echo $(basename "$whlFile") >> pipelineArtifacts.txt - fi - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - -- job: pytorch_testing - dependsOn: pytorch - condition: and(succeeded(), eq(variables.ENABLE_GFX942_TESTS, 'true'), not(containsValue(split(variables.DISABLED_GFX942_TESTS, ','), variables['Build.DefinitionName']))) - variables: - - group: common - - template: /.azuredevops/variables-global.yml - - name: PYTORCH_TEST_WITH_ROCM - value: 1 - pool: $(JOB_TEST_POOL) - workspace: - clean: all - strategy: - matrix: - gfx942: - JOB_GPU_TARGET: gfx942 - JOB_TEST_POOL: ${{ variables.GFX942_TEST_POOL }} - steps: - - task: Bash@3 - displayName: 'Register libjpeg-turbo packages' - inputs: - targetType: inline - script: | - sudo mkdir --parents --mode=0755 /etc/apt/keyrings - wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null - echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list - sudo apt update - apt-cache show libjpeg-turbo-official | grep Version - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-other.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - pipModules: ${{ parameters.pipModules }} -# pytorch tests require an updated version of click, even if requirements is not called outright - - task: Bash@3 - displayName: 'pip update click' - inputs: - targetType: inline - script: pip install --upgrade click - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/preamble.yml - - task: DownloadPipelineArtifact@2 - displayName: 'Download Pipeline Wheel Files' - retryCountOnTaskFailure: 3 - inputs: - itemPattern: '**/*.whl' - targetPath: $(Agent.BuildDirectory) - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-aqlprofile.yml - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - dependencyList: ${{ parameters.rocmTestDependencies }} - gpuTarget: $(JOB_GPU_TARGET) -# get sources to run test scripts - - task: Bash@3 - displayName: git clone upstream pytorch - inputs: - targetType: inline - script: git clone https://github.com/pytorch/pytorch.git --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - ${{ if eq(parameters.includeVision, true) }}: - - task: Bash@3 - displayName: git clone pytorch vision - inputs: - targetType: inline - script: git clone https://github.com/pytorch/vision.git --depth=1 --recurse-submodules - workingDirectory: $(Build.SourcesDirectory) - - task: Bash@3 - displayName: Install Wheel Files - inputs: - targetType: inline - script: find . -name "*.whl" -exec pip install --no-index --find-links=. --no-dependencies -v {} \; - workingDirectory: $(Agent.BuildDirectory) - - task: Bash@3 - displayName: Show Updated pip List - inputs: - targetType: inline - script: pip list -v - workingDirectory: $(Agent.BuildDirectory) - - task: Bash@3 - displayName: Add ROCm binaries to PATH - inputs: - targetType: inline - script: echo "##vso[task.prependpath]$(Agent.BuildDirectory)/rocm/bin" - - task: Bash@3 - displayName: Add Python site-packages binaries to path - inputs: - targetType: inline - script: | - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.prependpath]$USER_BASE/bin" - - task: Bash@3 - displayName: Add torch libs to ldconfig - inputs: - targetType: inline - script: | - echo $(python3 -m site --user-site)/torch/lib | sudo tee /etc/ld.so.conf.d/torch.conf - sudo ldconfig -v - ldconfig -p -# https://pytorch.org/get-started/locally/#linux-verification -# https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/3rd-party/pytorch-install.html#testing-the-pytorch-installation - - task: Bash@3 - displayName: Simple Import Torch Tests - inputs: - targetType: inline - script: | - python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure' - python3 -c 'import torch; print(torch.cuda.is_available())' - python3 -c 'import torch; x = torch.rand(5, 3); print(x)' -# Test artifact build script has too many if statements for different environments -# Based off the snippet of interest for this environment, with some adjustments -# https://github.com/pytorch/pytorch/blob/main/.ci/pytorch/build.sh#L330-L371 -# Removing in-line comments since it does not fit with the yaml markup - - task: Bash@3 - displayName: Build Pytorch Test Artifacts - continueOnError: true - inputs: - targetType: inline - script: | - CUSTOM_TEST_ARTIFACT_BUILD_DIR="build/custom_test_artifacts" - CUSTOM_TEST_USE_ROCM=ON - CUSTOM_TEST_MODULE_PATH="${PWD}/cmake/public" - mkdir -pv "${CUSTOM_TEST_ARTIFACT_BUILD_DIR}" - - CUSTOM_OP_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/custom-op-build" - CUSTOM_OP_TEST="${PWD}/test/custom_operator" - python --version - SITE_PACKAGES="$(python -c 'import site; print(";".join([x for x in site.getsitepackages()] + [x + "/torch" for x in site.getsitepackages()]))')" - - mkdir -p "$CUSTOM_OP_BUILD" - pushd "$CUSTOM_OP_BUILD" - cmake "$CUSTOM_OP_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \ - -DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM" - make VERBOSE=1 - popd - - JIT_HOOK_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/jit-hook-build" - JIT_HOOK_TEST="$PWD/test/jit_hooks" - python --version - SITE_PACKAGES="$(python -c 'import site; print(";".join([x for x in site.getsitepackages()] + [x + "/torch" for x in site.getsitepackages()]))')" - mkdir -p "$JIT_HOOK_BUILD" - pushd "$JIT_HOOK_BUILD" - cmake "$JIT_HOOK_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \ - -DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM" - make VERBOSE=1 - popd - - CUSTOM_BACKEND_BUILD="${CUSTOM_TEST_ARTIFACT_BUILD_DIR}/custom-backend-build" - CUSTOM_BACKEND_TEST="${PWD}/test/custom_backend" - python --version - mkdir -p "$CUSTOM_BACKEND_BUILD" - pushd "$CUSTOM_BACKEND_BUILD" - cmake "$CUSTOM_BACKEND_TEST" -DCMAKE_PREFIX_PATH="$SITE_PACKAGES" -DPython_EXECUTABLE="$(which python)" \ - -DCMAKE_MODULE_PATH="$CUSTOM_TEST_MODULE_PATH" -DUSE_ROCM="$CUSTOM_TEST_USE_ROCM" - make VERBOSE=1 - popd - workingDirectory: $(Build.SourcesDirectory)/pytorch - - ${{ each torchTest in parameters.torchTestList }}: - - task: Bash@3 - displayName: Test ${{ torchTest }} - continueOnError: true - inputs: - targetType: inline - workingDirectory: $(Build.SourcesDirectory)/pytorch - ${{ if contains(torchTest, '/') }}: - script: pytest test/${{ split(torchTest, '/')[0] }}/test_${{ split(torchTest, '/')[1] }}.py - ${{ else }}: - script: pytest test/test_${{ torchTest }}.py -# Reference on what tests to run for torchvision found in private repo: -# https://github.com/ROCm/rocAutomation/blob/jenkins-pipelines/pytorch/pytorch_ci/test_torchvision.sh#L51 - - ${{ if eq(parameters.includeVision, true) }}: - - task: Bash@3 - displayName: Test vision/transforms - continueOnError: true - inputs: - targetType: inline - script: pytest test/test_transforms.py - workingDirectory: $(Build.SourcesDirectory)/vision - - task: Bash@3 - displayName: Uninstall Wheel Files - inputs: - targetType: inline - script: find . -name "*.whl" -exec pip uninstall -y {} \; - workingDirectory: $(Agent.BuildDirectory) - - task: Bash@3 - displayName: Remove Python site-packages binaries from path - inputs: - targetType: inline - script: | - USER_BASE=$(python3 -m site --user-base) - echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$USER_BASE/bin;;' -e 's;^/;;' -e 's;/$;;')" - - task: Bash@3 - displayName: Remove ROCm binaries from PATH - inputs: - targetType: inline - script: echo "##vso[task.setvariable variable=PATH]$(echo $PATH | sed -e 's;:$(Agent.BuildDirectory)/rocm/bin;;' -e 's;^/;;' -e 's;/$;;')" diff --git a/.azuredevops/nightly/rocm-nightly.yml b/.azuredevops/nightly/rocm-nightly.yml deleted file mode 100644 index 5b28e12ae..000000000 --- a/.azuredevops/nightly/rocm-nightly.yml +++ /dev/null @@ -1,239 +0,0 @@ -parameters: -# using a parameter instead of a strategy matrix allows job variables to be eval'd at compile-time rather than runtime -- name: jobList - type: object - default: - - { os: ubuntu2204, packageManager: apt, target: gfx942 } - - { os: ubuntu2204, packageManager: apt, target: gfx90a } - - { os: ubuntu2204, packageManager: apt, target: gfx1201 } - - { os: ubuntu2204, packageManager: apt, target: gfx1100 } - - { os: ubuntu2204, packageManager: apt, target: gfx1030 } - - { os: ubuntu2404, packageManager: apt, target: gfx942 } - - { os: ubuntu2404, packageManager: apt, target: gfx90a } - - { os: ubuntu2404, packageManager: apt, target: gfx1201 } - - { os: ubuntu2404, packageManager: apt, target: gfx1100 } - - { os: ubuntu2404, packageManager: apt, target: gfx1030 } - - { os: almalinux8, packageManager: dnf, target: gfx942 } - - { os: almalinux8, packageManager: dnf, target: gfx90a } - - { os: almalinux8, packageManager: dnf, target: gfx1201 } - - { os: almalinux8, packageManager: dnf, target: gfx1100 } - - { os: almalinux8, packageManager: dnf, target: gfx1030 } -- name: rocmDependencies - type: object - default: - - AMDMIGraphX - - amdsmi - - aomp-extras - - aomp - - clr - - composable_kernel - - half - - hip-tests - - hipBLAS - - hipBLAS-common - - hipBLASLt - - hipCUB - - hipFFT - - hipfort - - HIPIFY - - hipRAND - - hipSOLVER - - hipSPARSE - - hipSPARSELt - - hipTensor - - llvm-project - - MIOpen - - MIVisionX - - rccl - - rdc - - rocAL - - rocALUTION - - rocBLAS - - ROCdbgapi - - rocDecode - - rocFFT - - ROCgdb - - rocJPEG - - rocm-cmake - - rocm-core - - rocm-examples - - rocminfo - - rocMLIR - - ROCmValidationSuite - - rocm_bandwidth_test - - rocm_smi_lib - - rocPRIM - - rocprofiler-compute - - rocprofiler-register - - rocprofiler-sdk - - rocprofiler-systems - - rocprofiler - - rocPyDecode - - ROCR-Runtime - - rocRAND - - rocr_debug_agent - - rocSOLVER - - rocSPARSE - - rocThrust - - roctracer - - rocWMMA - - rpp - - TransferBench - -trigger: none -pr: none -schedules: -- cron: '30 7 * * *' - displayName: Nightly build - branches: - include: - - develop - always: true - -jobs: -- ${{ each job in parameters.jobList }}: - - job: nightly_${{ job.os }}_${{ job.target }} - timeoutInMinutes: 120 - variables: - - group: common - - template: /.azuredevops/variables-global.yml - pool: ${{ variables.MEDIUM_BUILD_POOL }} - workspace: - clean: all - steps: - - task: DeleteFiles@1 - displayName: 'Cleanup checkout space' - inputs: - SourceFolder: '$(Agent.BuildDirectory)/s' - Contents: '**/*' - - task: DeleteFiles@1 - displayName: 'Cleanup Staging Area' - inputs: - SourceFolder: '$(Build.ArtifactStagingDirectory)' - Contents: '/**/*' - RemoveDotFiles: true - - script: df -h - displayName: System disk space before ROCm - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies-rocm.yml - parameters: - dependencyList: ${{ parameters.rocmDependencies }} - os: ${{ job.os }} - gpuTarget: ${{ job.target }} - - script: df -h - displayName: System disk space after ROCm - - script: du -sh $(Agent.BuildDirectory)/rocm - displayName: Uncompressed ROCm size - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml - - task: ArchiveFiles@2 - displayName: Compress rocm-nightly - inputs: - rootFolderOrFile: $(Agent.BuildDirectory)/rocm - includeRootFolder: false - archiveType: tar - tarCompression: gz - archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz - - script: du -sh $(Build.ArtifactStagingDirectory) - displayName: Compressed ROCm size - - task: PublishPipelineArtifact@1 - displayName: 'Publish ROCm Nightly Artifact' - retryCountOnTaskFailure: 3 - inputs: - targetPath: '$(Build.ArtifactStagingDirectory)' - - task: Bash@3 - displayName: Save pipeline artifact file name - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "$(Build.DefinitionName)_$(Build.BuildNumber)_${{ job.os }}_${{ job.target }}.tar.gz" >> pipelineArtifacts.txt - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml - - ${{ if eq(job.packageManager, 'apt') }}: - - task: Bash@3 - displayName: Create Dockerfile - inputs: - workingDirectory: $(Agent.BuildDirectory) - targetType: inline - script: | - cat <<'EOF' > Dockerfile - ${{ iif(eq(job.os, 'ubuntu2204'), 'FROM ubuntu:22.04', '') }} - ${{ iif(eq(job.os, 'ubuntu2404'), 'FROM ubuntu:24.04', '') }} - - WORKDIR /root - RUN mkdir rocm - - RUN apt update \ - && apt upgrade -y \ - && apt install -y cmake curl git gcc g++ gpg lsb-release lsof ninja-build pkg-config python3 python3-pip wget zip libdrm-dev libelf-dev libgtest-dev libhsakmt-dev libhwloc-dev libnuma-dev libstdc++-12-dev libtbb-dev jq \ - && apt clean all - - RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") \ - && wget -nv --retry-connrefused https://repo.radeon.com/rocm/apt/latest/pool/main/h/hsa-amd-aqlprofile/$PACKAGE_NAME \ - && mkdir hsa-amd-aqlprofile \ - && dpkg-deb -R $PACKAGE_NAME hsa-amd-aqlprofile \ - && cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm - - RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \ - && DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \ - && wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \ - && unzip nightly.zip \ - && tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm - - RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN ldconfig -v - ENV PATH="$PATH:/root/rocm/bin" - ENTRYPOINT ["/bin/bash"] - EOF - cat Dockerfile - - ${{ elseif eq(job.packageManager, 'dnf') }}: - - task: Bash@3 - displayName: Create Dockerfile - inputs: - workingDirectory: $(Agent.BuildDirectory) - targetType: inline - script: | - cat <<'EOF' > Dockerfile - ${{ iif(eq(job.os, 'almalinux8'), 'FROM almalinux:8', '') }} - - WORKDIR /root - RUN mkdir rocm - - RUN dnf install -y cmake curl git gcc gcc-c++ gnupg2 redhat-lsb-core lsof pkgconf python3 python3-pip wget zip libdrm-devel elfutils-libelf-devel numactl-devel libstdc++-devel tbb-devel jq \ - && dnf clean all - - RUN PACKAGE_NAME=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) \ - && wget -nv --retry-connrefused https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$PACKAGE_NAME \ - && mkdir hsa-amd-aqlprofile \ - && dnf -y install rpm-build cpio \ - && rpm2cpio $PACKAGE_NAME | (cd hsa-amd-aqlprofile && cpio -idmv) \ - && cp -R hsa-amd-aqlprofile/opt/rocm-*/* rocm - - RUN ARTIFACT_URL="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/$(Build.BuildId)/artifacts?artifactName=nightly${{ job.os }}${{ job.target }}&api-version=7.1" \ - && DOWNLOAD_URL=$(curl -s $ARTIFACT_URL | jq ".resource.downloadUrl" | tr -d '"') \ - && wget -nv --retry-connrefused $DOWNLOAD_URL -O nightly.zip \ - && UNZIP_DISABLE_ZIPBOMB_DETECTION=TRUE unzip nightly.zip \ - && tar -xf nightly${{ job.os }}${{ job.target }}/rocm-nightly*${{ job.os }}*${{ job.target }}*.tar.gz -C rocm - - RUN echo /root/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN echo /root/rocm/llvm/lib64 | tee -a /etc/ld.so.conf.d/rocm-ci.conf - RUN ldconfig -v - ENV PATH="$PATH:/root/rocm/bin" - ENTRYPOINT ["/bin/bash"] - EOF - cat Dockerfile - - task: Docker@2 - displayName: Build and upload Docker image - retryCountOnTaskFailure: 3 - inputs: - containerRegistry: ContainerService3 - repository: 'nightly-${{ job.os }}-${{ job.target }}' - Dockerfile: '$(Agent.BuildDirectory)/Dockerfile' - buildContext: '$(Agent.BuildDirectory)' - - task: Bash@3 - displayName: '!! Docker Run Command !!' - inputs: - targetType: inline - script: echo "docker run -it --network=host --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined rocmexternalcicd.azurecr.io/nightly-${{ job.os }}-${{ job.target }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]' diff --git a/.azuredevops/scripts/download-manifest-artifacts/download-manifest-artifacts.py b/.azuredevops/scripts/download-manifest-artifacts/download-manifest-artifacts.py deleted file mode 100644 index db86e8ddc..000000000 --- a/.azuredevops/scripts/download-manifest-artifacts/download-manifest-artifacts.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python3 - -import json -import requests -import argparse -from pathlib import Path - -def get_builds(entries, gpu_target, output): - already_downloaded = {} - for entry in entries: - already_downloaded = _get_builds(entry, gpu_target, already_downloaded, output) - -def _get_builds(entry, gpu_target, already_downloaded, output): - print() - print(f"{entry['buildNumber']} - {entry['buildId']} - {entry['repoName']}") - if already_downloaded.get(entry['buildId']): - print('Skipping, already downloaded from build ' + entry['buildId']) - return already_downloaded - - artifacts_url = f"https://dev.azure.com/ROCm-CI/ROCm-CI/_apis/build/builds/{entry['buildId']}/artifacts?api-version=7.1" - artifacts = requests.get(artifacts_url).json() - for artifact in artifacts['value']: - if 'gfx' in artifact['name'] and gpu_target not in artifact['name']: - continue - - print('Artifact name: ' + artifact['name']) - print('File size: ~' + - str(round(int(artifact['resource']['properties']['artifactsize'])/1000000, 2)) + ' MB') - download_url = f"{artifact['resource']['downloadUrl']}" - download = requests.get(download_url) - - zip_file = Path(output) / f"{artifact['name']}.zip" - with open(zip_file, 'wb') as f: - f.write(download.content) - already_downloaded[entry['buildId']] = True - - return already_downloaded - -def main(): - parser = argparse.ArgumentParser(description="Command line tool for downloading external ci artifacts") - parser.add_argument('--target', type=str, dest="target", choices=["gfx90a", "gfx942"], help="Target gfx") - parser.add_argument('--manifest', type=str, dest="manifest", help='JSON manifest url or path to local manifest') - parser.add_argument('--output_dir', type=str, dest="output", help='Path to download directory') - args = parser.parse_args() - - manifest = args.manifest - gpu_target = args.target - - if not gpu_target: - print("Enter the GPU target (gfx942, gfx90a)") - gpu_target = input() - - if not manifest: - print("Enter the manifest file (URL or local path)") - manifest = input() - - if 'http' in manifest: - data = requests.get(manifest).json() - else: - with open(manifest, 'r') as f: - data = json.load(f) - - entries = [e for e in data['current']] - entries.extend([e for e in data['dependencies']]) - get_builds(entries, gpu_target, args.output) - -if __name__ == "__main__": - main() diff --git a/.azuredevops/scripts/download-manifest-artifacts/requirements.txt b/.azuredevops/scripts/download-manifest-artifacts/requirements.txt deleted file mode 100644 index f2293605c..000000000 --- a/.azuredevops/scripts/download-manifest-artifacts/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -requests diff --git a/.azuredevops/tag-builds/AMDMIGraphX.yml b/.azuredevops/tag-builds/AMDMIGraphX.yml deleted file mode 100644 index 5aef56a23..000000000 --- a/.azuredevops/tag-builds/AMDMIGraphX.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/AMDMIGraphX - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/AMDMIGraphX.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/HIP.yml b/.azuredevops/tag-builds/HIP.yml deleted file mode 100644 index fb643557c..000000000 --- a/.azuredevops/tag-builds/HIP.yml +++ /dev/null @@ -1,39 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/HIP - ref: ${{ parameters.checkoutRef }} - - repository: matching_repo - type: github - endpoint: ROCm - name: ROCm/clr - ref: ${{ parameters.checkoutRef }} - - repository: hipother_repo - type: github - endpoint: ROCm - name: ROCm/hipother - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/HIPIFY.yml b/.azuredevops/tag-builds/HIPIFY.yml deleted file mode 100644 index 2da59d1c0..000000000 --- a/.azuredevops/tag-builds/HIPIFY.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/HIPIFY - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/HIPIFY.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/MIOpen.yml b/.azuredevops/tag-builds/MIOpen.yml deleted file mode 100644 index e6049d4f4..000000000 --- a/.azuredevops/tag-builds/MIOpen.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/MIOpen - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/MIOpen.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/MIVisionX.yml b/.azuredevops/tag-builds/MIVisionX.yml deleted file mode 100644 index 751fa34f1..000000000 --- a/.azuredevops/tag-builds/MIVisionX.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/MIVisionX - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/MIVisionX.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/ROCR-Runtime.yml b/.azuredevops/tag-builds/ROCR-Runtime.yml deleted file mode 100644 index 5574069a1..000000000 --- a/.azuredevops/tag-builds/ROCR-Runtime.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/ROCR-Runtime - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/ROCR-Runtime.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/ROCT-Thunk-Interface.yml b/.azuredevops/tag-builds/ROCT-Thunk-Interface.yml deleted file mode 100644 index fe6c5d5ed..000000000 --- a/.azuredevops/tag-builds/ROCT-Thunk-Interface.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/ROCT-Thunk-Interface - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/ROCT-Thunk-Interface.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/ROCdbgapi.yml b/.azuredevops/tag-builds/ROCdbgapi.yml deleted file mode 100644 index 0e2055c45..000000000 --- a/.azuredevops/tag-builds/ROCdbgapi.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/ROCdbgapi - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/ROCdbgapi.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/ROCgdb.yml b/.azuredevops/tag-builds/ROCgdb.yml deleted file mode 100644 index 970e40023..000000000 --- a/.azuredevops/tag-builds/ROCgdb.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocgdb - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/ROCgdb.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/ROCmValidationSuite.yml b/.azuredevops/tag-builds/ROCmValidationSuite.yml deleted file mode 100644 index 66d8d1884..000000000 --- a/.azuredevops/tag-builds/ROCmValidationSuite.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/ROCmValidationSuite - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/ROCmValidationSuite.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/Tensile.yml b/.azuredevops/tag-builds/Tensile.yml deleted file mode 100644 index 871c20b31..000000000 --- a/.azuredevops/tag-builds/Tensile.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/Tensile - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/Tensile.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/TransferBench.yml b/.azuredevops/tag-builds/TransferBench.yml deleted file mode 100644 index 8a60a0169..000000000 --- a/.azuredevops/tag-builds/TransferBench.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/TransferBench - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/TransferBench.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/amdsmi.yml b/.azuredevops/tag-builds/amdsmi.yml deleted file mode 100644 index cee531982..000000000 --- a/.azuredevops/tag-builds/amdsmi.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/amdsmi - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/amdsmi.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/aomp-extras.yml b/.azuredevops/tag-builds/aomp-extras.yml deleted file mode 100644 index 8e551386a..000000000 --- a/.azuredevops/tag-builds/aomp-extras.yml +++ /dev/null @@ -1,25 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/aomp-extras - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/aomp-extras.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/aomp.yml b/.azuredevops/tag-builds/aomp.yml deleted file mode 100644 index a5ac7f3a6..000000000 --- a/.azuredevops/tag-builds/aomp.yml +++ /dev/null @@ -1,49 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: aompRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) -- name: extrasRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) -- name: flangRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) -- name: llvmRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: aomp_repo - type: github - endpoint: ROCm - name: ROCm/aomp - ref: ${{ parameters.aompRef }} - - repository: aomp-extras_repo - type: github - endpoint: ROCm - name: ROCm/aomp-extras - ref: ${{ parameters.extrasRef }} - - repository: flang_repo - type: github - endpoint: ROCm - name: ROCm/flang - ref: ${{ parameters.flangRef }} - - repository: llvm-project_repo - type: github - endpoint: ROCm - name: ROCm/llvm-project - ref: ${{ parameters.llvmRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/aomp.yml - parameters: - checkoutRepo: aomp_repo - checkoutRef: ${{ parameters.aompRef }} diff --git a/.azuredevops/tag-builds/boost.yml b/.azuredevops/tag-builds/boost.yml deleted file mode 100644 index 1411679e2..000000000 --- a/.azuredevops/tag-builds/boost.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: boostVersion - type: string - default: 'master' - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/boost.yml - parameters: - boostVersion: ${{ parameters.boostVersion }} diff --git a/.azuredevops/tag-builds/catch2.yml b/.azuredevops/tag-builds/catch2.yml deleted file mode 100644 index ded20ab86..000000000 --- a/.azuredevops/tag-builds/catch2.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: catch2Version - type: string - default: "v3.7.0" - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/catch2.yml - parameters: - catch2Version: ${{ parameters.catch2Version }} diff --git a/.azuredevops/tag-builds/cli11.yml b/.azuredevops/tag-builds/cli11.yml deleted file mode 100644 index ed37ce9fe..000000000 --- a/.azuredevops/tag-builds/cli11.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: cli11Version - type: string - default: "main" - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/cli11.yml - parameters: - cli11Version: ${{ parameters.cli11Version }} diff --git a/.azuredevops/tag-builds/clr.yml b/.azuredevops/tag-builds/clr.yml deleted file mode 100644 index be9f508cf..000000000 --- a/.azuredevops/tag-builds/clr.yml +++ /dev/null @@ -1,49 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/clr - ref: ${{ parameters.checkoutRef }} - - repository: matching_repo - type: github - endpoint: ROCm - name: ROCm/HIP - ref: ${{ parameters.checkoutRef }} - - repository: hipother_repo - type: github - endpoint: ROCm - name: ROCm/hipother - ref: ${{ parameters.checkoutRef }} - pipelines: - - pipeline: hip_pipeline - source: \experimental\HIP - trigger: true - - pipeline: hipother_pipeline - source: \experimental\hipother - trigger: true - -trigger: none -pr: none - -jobs: - - ${{ if eq(variables['Build.Reason'], 'ResourceTrigger') }}: - - template: ${{ variables.CI_COMPONENT_PATH }}/copyHIP.yml@pipelines_repo - - ${{ if ne(variables['Build.Reason'], 'ResourceTrigger') }}: - - template: ${{ variables.CI_COMPONENT_PATH }}/HIP.yml@pipelines_repo - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/composable_kernel.yml b/.azuredevops/tag-builds/composable_kernel.yml deleted file mode 100644 index 7831ca302..000000000 --- a/.azuredevops/tag-builds/composable_kernel.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/composable_kernel - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/composable_kernel.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/fmtlib.yml b/.azuredevops/tag-builds/fmtlib.yml deleted file mode 100644 index 37d807b67..000000000 --- a/.azuredevops/tag-builds/fmtlib.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: fmtlibVersion - type: string - default: "11.1.3" - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/fmtlib.yml - parameters: - fmtlibVersion: ${{ parameters.fmtlibVersion }} diff --git a/.azuredevops/tag-builds/grpc.yml b/.azuredevops/tag-builds/grpc.yml deleted file mode 100644 index 08bf52eed..000000000 --- a/.azuredevops/tag-builds/grpc.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: grpcVersion - type: string - default: 'master' - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/grpc.yml - parameters: - grpcVersion: ${{ parameters.grpcVersion }} diff --git a/.azuredevops/tag-builds/gtest.yml b/.azuredevops/tag-builds/gtest.yml deleted file mode 100644 index 9dbcf0e48..000000000 --- a/.azuredevops/tag-builds/gtest.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: gtestVersion - type: string - default: main - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/gtest.yml - parameters: - gtestVersion: ${{ parameters.gtestVersion }} diff --git a/.azuredevops/tag-builds/half.yml b/.azuredevops/tag-builds/half.yml deleted file mode 100644 index 791b8105c..000000000 --- a/.azuredevops/tag-builds/half.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/half - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/half.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/half560.yml b/.azuredevops/tag-builds/half560.yml deleted file mode 100644 index f31bf363a..000000000 --- a/.azuredevops/tag-builds/half560.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/rocm-5.6.0 - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/half - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/half560.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hip-tests.yml b/.azuredevops/tag-builds/hip-tests.yml deleted file mode 100644 index adc39cb1c..000000000 --- a/.azuredevops/tag-builds/hip-tests.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hip-tests - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hip-tests.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipBLAS-common.yml b/.azuredevops/tag-builds/hipBLAS-common.yml deleted file mode 100644 index c2314cf5b..000000000 --- a/.azuredevops/tag-builds/hipBLAS-common.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: develop - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipBLAS-common - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipBLAS-common.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipBLAS.yml b/.azuredevops/tag-builds/hipBLAS.yml deleted file mode 100644 index 060c2271f..000000000 --- a/.azuredevops/tag-builds/hipBLAS.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipBLAS - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipBLAS.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipBLASLt.yml b/.azuredevops/tag-builds/hipBLASLt.yml deleted file mode 100644 index 60f65b3c5..000000000 --- a/.azuredevops/tag-builds/hipBLASLt.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipBLASLt - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipBLASLt.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipCUB.yml b/.azuredevops/tag-builds/hipCUB.yml deleted file mode 100644 index abbbbca4c..000000000 --- a/.azuredevops/tag-builds/hipCUB.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipCUB - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipCUB.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipFFT.yml b/.azuredevops/tag-builds/hipFFT.yml deleted file mode 100644 index c6fba3f99..000000000 --- a/.azuredevops/tag-builds/hipFFT.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipFFT - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipFFT.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipRAND.yml b/.azuredevops/tag-builds/hipRAND.yml deleted file mode 100644 index 780b3033e..000000000 --- a/.azuredevops/tag-builds/hipRAND.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipRAND - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipRAND.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipSOLVER.yml b/.azuredevops/tag-builds/hipSOLVER.yml deleted file mode 100644 index ae77e2bb3..000000000 --- a/.azuredevops/tag-builds/hipSOLVER.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipSOLVER - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipSOLVER.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipSPARSE.yml b/.azuredevops/tag-builds/hipSPARSE.yml deleted file mode 100644 index bcc094d10..000000000 --- a/.azuredevops/tag-builds/hipSPARSE.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipSPARSE - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipSPARSE.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipSPARSELt.yml b/.azuredevops/tag-builds/hipSPARSELt.yml deleted file mode 100644 index 79acf7306..000000000 --- a/.azuredevops/tag-builds/hipSPARSELt.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipSPARSELt - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipSPARSELt.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipTensor.yml b/.azuredevops/tag-builds/hipTensor.yml deleted file mode 100644 index 5725f2f2d..000000000 --- a/.azuredevops/tag-builds/hipTensor.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipTensor - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipTensor.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipfort.yml b/.azuredevops/tag-builds/hipfort.yml deleted file mode 100644 index c66584230..000000000 --- a/.azuredevops/tag-builds/hipfort.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/hipfort - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/hipfort.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/lapack.yml b/.azuredevops/tag-builds/lapack.yml deleted file mode 100644 index 1f81961f5..000000000 --- a/.azuredevops/tag-builds/lapack.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: lapackVersion - type: string - default: 3.9.1 - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/lapack.yml - parameters: - lapackVersion: ${{ parameters.lapackVersion }} diff --git a/.azuredevops/tag-builds/libdivide.yml b/.azuredevops/tag-builds/libdivide.yml deleted file mode 100644 index 7ae199743..000000000 --- a/.azuredevops/tag-builds/libdivide.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: libdivideVersion - type: string - default: master - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/libdivide.yml - parameters: - libdivideVersion: ${{ parameters.libdivideVersion }} diff --git a/.azuredevops/tag-builds/llvm-project.yml b/.azuredevops/tag-builds/llvm-project.yml deleted file mode 100644 index fe24fff36..000000000 --- a/.azuredevops/tag-builds/llvm-project.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/llvm-project - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/llvm-project.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/omnitrace.yml b/.azuredevops/tag-builds/omnitrace.yml deleted file mode 100644 index 63a5ba34f..000000000 --- a/.azuredevops/tag-builds/omnitrace.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/omnitrace - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/omnitrace.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rccl.yml b/.azuredevops/tag-builds/rccl.yml deleted file mode 100644 index 3f27be663..000000000 --- a/.azuredevops/tag-builds/rccl.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rccl - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rccl.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rdc.yml b/.azuredevops/tag-builds/rdc.yml deleted file mode 100644 index 3d275c394..000000000 --- a/.azuredevops/tag-builds/rdc.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rdc - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rdc.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocAL.yml b/.azuredevops/tag-builds/rocAL.yml deleted file mode 100644 index c0226eea0..000000000 --- a/.azuredevops/tag-builds/rocAL.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocAL - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocAL.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocALUTION.yml b/.azuredevops/tag-builds/rocALUTION.yml deleted file mode 100644 index 303f2d8f6..000000000 --- a/.azuredevops/tag-builds/rocALUTION.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocALUTION - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocALUTION.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocBLAS.yml b/.azuredevops/tag-builds/rocBLAS.yml deleted file mode 100644 index b933fe0da..000000000 --- a/.azuredevops/tag-builds/rocBLAS.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocBLAS - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocBLAS.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocDecode.yml b/.azuredevops/tag-builds/rocDecode.yml deleted file mode 100644 index f57d4ba3f..000000000 --- a/.azuredevops/tag-builds/rocDecode.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocDecode - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocDecode.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocFFT.yml b/.azuredevops/tag-builds/rocFFT.yml deleted file mode 100644 index b910d7480..000000000 --- a/.azuredevops/tag-builds/rocFFT.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocFFT - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocFFT.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocJPEG.yml b/.azuredevops/tag-builds/rocJPEG.yml deleted file mode 100644 index 7a5233053..000000000 --- a/.azuredevops/tag-builds/rocJPEG.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocJPEG - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocJPEG.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocMLIR.yml b/.azuredevops/tag-builds/rocMLIR.yml deleted file mode 100644 index 456133eb3..000000000 --- a/.azuredevops/tag-builds/rocMLIR.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocMLIR - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocMLIR.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocPRIM.yml b/.azuredevops/tag-builds/rocPRIM.yml deleted file mode 100644 index a3e7e4544..000000000 --- a/.azuredevops/tag-builds/rocPRIM.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocPRIM - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocPRIM.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocPyDecode.yml b/.azuredevops/tag-builds/rocPyDecode.yml deleted file mode 100644 index 6aa7013e9..000000000 --- a/.azuredevops/tag-builds/rocPyDecode.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocPyDecode - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocPyDecode.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocRAND.yml b/.azuredevops/tag-builds/rocRAND.yml deleted file mode 100644 index f04be2bf2..000000000 --- a/.azuredevops/tag-builds/rocRAND.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocRAND - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocRAND.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocSOLVER.yml b/.azuredevops/tag-builds/rocSOLVER.yml deleted file mode 100644 index 62c26adbd..000000000 --- a/.azuredevops/tag-builds/rocSOLVER.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocSOLVER - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocSOLVER.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocSPARSE.yml b/.azuredevops/tag-builds/rocSPARSE.yml deleted file mode 100644 index dba8953f5..000000000 --- a/.azuredevops/tag-builds/rocSPARSE.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocSPARSE - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocSPARSE.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocThrust.yml b/.azuredevops/tag-builds/rocThrust.yml deleted file mode 100644 index 598015d31..000000000 --- a/.azuredevops/tag-builds/rocThrust.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocThrust - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocThrust.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocWMMA.yml b/.azuredevops/tag-builds/rocWMMA.yml deleted file mode 100644 index 78981f707..000000000 --- a/.azuredevops/tag-builds/rocWMMA.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocWMMA - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocWMMA.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocm-cmake.yml b/.azuredevops/tag-builds/rocm-cmake.yml deleted file mode 100644 index 6898068d8..000000000 --- a/.azuredevops/tag-builds/rocm-cmake.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocm-cmake - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocm-cmake.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocm-core.yml b/.azuredevops/tag-builds/rocm-core.yml deleted file mode 100644 index 607faeca6..000000000 --- a/.azuredevops/tag-builds/rocm-core.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocm-core - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocm-core.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocm-examples.yml b/.azuredevops/tag-builds/rocm-examples.yml deleted file mode 100644 index 2eba0b7bd..000000000 --- a/.azuredevops/tag-builds/rocm-examples.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocm-examples - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocm-examples.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocm_bandwidth_test.yml b/.azuredevops/tag-builds/rocm_bandwidth_test.yml deleted file mode 100644 index b38f67446..000000000 --- a/.azuredevops/tag-builds/rocm_bandwidth_test.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocm_bandwidth_test - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocm_bandwidth_test.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocm_smi_lib.yml b/.azuredevops/tag-builds/rocm_smi_lib.yml deleted file mode 100644 index f292c1290..000000000 --- a/.azuredevops/tag-builds/rocm_smi_lib.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocm_smi_lib - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocm_smi_lib.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocminfo.yml b/.azuredevops/tag-builds/rocminfo.yml deleted file mode 100644 index 98a5a180b..000000000 --- a/.azuredevops/tag-builds/rocminfo.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocminfo - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocminfo.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocprofiler-compute.yml b/.azuredevops/tag-builds/rocprofiler-compute.yml deleted file mode 100644 index efaf10068..000000000 --- a/.azuredevops/tag-builds/rocprofiler-compute.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocprofiler-compute - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-compute.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocprofiler-register.yml b/.azuredevops/tag-builds/rocprofiler-register.yml deleted file mode 100644 index 61556411a..000000000 --- a/.azuredevops/tag-builds/rocprofiler-register.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocprofiler-register - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-register.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocprofiler-sdk.yml b/.azuredevops/tag-builds/rocprofiler-sdk.yml deleted file mode 100644 index 91708e8df..000000000 --- a/.azuredevops/tag-builds/rocprofiler-sdk.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocprofiler-sdk - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-sdk.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocprofiler-systems.yml b/.azuredevops/tag-builds/rocprofiler-systems.yml deleted file mode 100644 index 559b3362c..000000000 --- a/.azuredevops/tag-builds/rocprofiler-systems.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocprofiler-systems - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler-systems.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocprofiler.yml b/.azuredevops/tag-builds/rocprofiler.yml deleted file mode 100644 index 3bb0782f0..000000000 --- a/.azuredevops/tag-builds/rocprofiler.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocprofiler - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocprofiler.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rocr_debug_agent.yml b/.azuredevops/tag-builds/rocr_debug_agent.yml deleted file mode 100644 index 8808e9b05..000000000 --- a/.azuredevops/tag-builds/rocr_debug_agent.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rocr_debug_agent - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rocr_debug_agent.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/roctracer.yml b/.azuredevops/tag-builds/roctracer.yml deleted file mode 100644 index 702bcadc2..000000000 --- a/.azuredevops/tag-builds/roctracer.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/roctracer - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/roctracer.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rpp.yml b/.azuredevops/tag-builds/rpp.yml deleted file mode 100644 index 589068a0f..000000000 --- a/.azuredevops/tag-builds/rpp.yml +++ /dev/null @@ -1,29 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: checkoutRef - type: string - default: refs/tags/$(LATEST_RELEASE_TAG) - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - - repository: release_repo - type: github - endpoint: ROCm - name: ROCm/rpp - ref: ${{ parameters.checkoutRef }} - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_COMPONENT_PATH }}/rpp.yml - parameters: - checkoutRepo: release_repo - checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/spdlog.yml b/.azuredevops/tag-builds/spdlog.yml deleted file mode 100644 index 300079340..000000000 --- a/.azuredevops/tag-builds/spdlog.yml +++ /dev/null @@ -1,23 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: spdlogVersion - type: string - default: "v1.15.1" - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/spdlog.yml - parameters: - spdlogVersion: ${{ parameters.spdlogVersion }} diff --git a/.azuredevops/tag-builds/yaml-cpp.yml b/.azuredevops/tag-builds/yaml-cpp.yml deleted file mode 100644 index 86a767df5..000000000 --- a/.azuredevops/tag-builds/yaml-cpp.yml +++ /dev/null @@ -1,24 +0,0 @@ -variables: -- group: common -- template: /.azuredevops/variables-global.yml - -parameters: -- name: yamlcppVersion - type: string - default: "0.8.0" - -resources: - repositories: - - repository: pipelines_repo - type: github - endpoint: ROCm - name: ROCm/ROCm - -trigger: none -pr: none - -jobs: - - template: ${{ variables.CI_DEPENDENCIES_PATH }}/yamlcpp.yml - parameters: - yamlcppVersion: ${{ parameters.yamlcppVersion }} - diff --git a/.azuredevops/templates/steps/artifact-download.yml b/.azuredevops/templates/steps/artifact-download.yml deleted file mode 100644 index 03855af49..000000000 --- a/.azuredevops/templates/steps/artifact-download.yml +++ /dev/null @@ -1,60 +0,0 @@ -parameters: -# assumption componentName and pipeline name the same -- name: componentName - type: string - default: '' -- name: pipelineId - type: string - default: '' -- name: branchName - type: string - default: '$(Build.SourceBranchName)' # for tagged builds -- name: fileFilter - type: string - default: '' -- name: extractAndDeleteFiles - type: boolean - default: true -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false - -steps: -- task: DownloadPipelineArtifact@2 - displayName: Download ${{ parameters.componentName }} - retryCountOnTaskFailure: 3 - inputs: - ${{ if eq(parameters.componentName, 'clr') }}: - itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*amd*' # filter out nvidia clr artifacts - ${{ else }}: - itemPattern: '**/*${{ parameters.componentName }}*${{ parameters.fileFilter }}*' - targetPath: '$(Pipeline.Workspace)/d' - allowPartiallySucceededBuilds: true - ${{ if parameters.aggregatePipeline }}: - buildType: 'current' - ${{ else }}: - buildType: 'specific' - project: ROCm-CI - specificBuildWithTriggering: true - definition: ${{ parameters.pipelineId }} - branchName: refs/heads/${{ parameters.branchName }} - ${{ if eq(parameters.componentName, 'aomp') }}: - buildVersionToDownload: latest # aomp trigger lives in ROCm/ROCm, so cannot use ROCm/aomp branch names - ${{ else }}: - buildVersionToDownload: latestFromBranch -- ${{ if eq(parameters.extractAndDeleteFiles, true) }}: - - task: ExtractFiles@1 - displayName: Extract ${{ parameters.componentName }} - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' - destinationFolder: '$(Agent.BuildDirectory)/rocm' - cleanDestinationFolder: false - overwriteExistingFiles: true - - task: DeleteFiles@1 - displayName: Clean up Compressed ${{ parameters.componentName }} - inputs: - SourceFolder: '$(Pipeline.Workspace)/d' - Contents: '**/*.tar.gz' - RemoveDotFiles: true diff --git a/.azuredevops/templates/steps/artifact-links.yml b/.azuredevops/templates/steps/artifact-links.yml deleted file mode 100644 index 6157970b7..000000000 --- a/.azuredevops/templates/steps/artifact-links.yml +++ /dev/null @@ -1,32 +0,0 @@ -# Every publish artifact call should be coupled with a script that -# prints out the artifact name to a common text file -# This template parses that text file line by line and prints out the download URL -# for each artifact, so that they are easily accessible to the public -# replace trailing '=' with their count in the encoded string -steps: -- task: Bash@3 - displayName: "!! Download Links !!" - condition: always() - continueOnError: true - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - URL_BEGIN="https://artprodcus3.artifacts.visualstudio.com/" - URL_MIDDLE="/_apis/artifact/" - URL_END="/content?format=file&subPath=%2F" - ARTIFACT_NAME="$(Agent.JobName)_$(System.JobAttempt)" - ARTIFACT_STRING="pipelineartifact://ROCm-CI/projectId/$(DOWNLOAD_PROJECT_ID)/buildId/$(Build.BuildId)/artifactName/${ARTIFACT_NAME}" - ENCODED_STRING=$(echo -n "${ARTIFACT_STRING}" | base64 -w 0) - PADDING_COUNT=$(echo -n "${ENCODED_STRING}" | awk -F= '{print NF-1}') - if [ "$PADDING_COUNT" -gt 0 ]; then - FINAL_ENCODED_STRING=$(echo -n "${ENCODED_STRING}" | sed "s/=*$/${PADDING_COUNT}/") - else - FINAL_ENCODED_STRING="${ENCODED_STRING}0" - fi - while IFS= read -r fileName; do - echo "File Name:" - echo "$fileName" - printf "Download Link:\n%s%s/%s%s%s%s%s\n\n" "${URL_BEGIN}" "${DOWNLOAD_ORGANIZATION_ID}" "${DOWNLOAD_PROJECT_ID}" "${URL_MIDDLE}" "${FINAL_ENCODED_STRING}" "${URL_END}" "${fileName}" - done < pipelineArtifacts.txt - rm pipelineArtifacts.txt diff --git a/.azuredevops/templates/steps/artifact-prepare-package.yml b/.azuredevops/templates/steps/artifact-prepare-package.yml deleted file mode 100644 index 4dccc38bb..000000000 --- a/.azuredevops/templates/steps/artifact-prepare-package.yml +++ /dev/null @@ -1,25 +0,0 @@ -# optional step if not using cmake --install -# prepare the next package to upload -parameters: -- name: sourceDir # REQUIRED PARAMETER - type: string - default: '' -- name: contentsString - type: string - default: '**' -- name: targetDir - type: string - default: '$(Build.BinariesDirectory)' -- name: clean - type: boolean - default: true - -steps: -- task: CopyFiles@2 - displayName: 'Prepare for packaging' - inputs: - CleanTargetFolder: ${{ parameters.clean }} - SourceFolder: '${{ parameters.sourceDir }}' - Contents: '${{ parameters.contentsString }}' - TargetFolder: '${{ parameters.targetDir }}' - retryCount: 3 diff --git a/.azuredevops/templates/steps/artifact-upload.yml b/.azuredevops/templates/steps/artifact-upload.yml deleted file mode 100644 index ae95eef69..000000000 --- a/.azuredevops/templates/steps/artifact-upload.yml +++ /dev/null @@ -1,51 +0,0 @@ -# compress build products into tarball -# delete build products after compression -# publish can be toggled off for jobs that produce multiple tarballs -# for those cases, only publish the last call which puts all the tarballs in one container folder -parameters: -- name: componentName - type: string - default: $(Build.DefinitionName) -- name: gpuTarget - type: string - default: '' -- name: artifactName - type: string - default: drop -- name: publish - type: boolean - default: true -- name: os - type: string - default: 'ubuntu2204' - -steps: -- task: ArchiveFiles@2 - displayName: '${{ parameters.artifactName }} Compress' - inputs: - includeRootFolder: false - archiveType: 'tar' - tarCompression: 'gz' - archiveFile: '$(Build.ArtifactStagingDirectory)/${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz' -- task: DeleteFiles@1 - displayName: 'Cleanup Staging Area' - inputs: - SourceFolder: '$(Build.BinariesDirectory)' - Contents: '/**/*' - RemoveDotFiles: true -- task: Bash@3 - displayName: Save pipeline artifact file name - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}_$(System.JobAttempt).tar.gz" >> pipelineArtifacts.txt -# then publish it -- ${{ if parameters.publish }}: - - task: PublishPipelineArtifact@1 - condition: always() - displayName: '${{ parameters.artifactName }} Publish' - retryCountOnTaskFailure: 3 - inputs: - # if this artifact name is changed, please also update $ARTIFACT_URL inside miopen-get-ck-build.yml - artifactName: $(Agent.JobName)_$(System.JobAttempt) - targetPath: '$(Build.ArtifactStagingDirectory)' diff --git a/.azuredevops/templates/steps/build-autotools.yml b/.azuredevops/templates/steps/build-autotools.yml deleted file mode 100644 index 241fdf373..000000000 --- a/.azuredevops/templates/steps/build-autotools.yml +++ /dev/null @@ -1,45 +0,0 @@ -parameters: -- name: os - type: string - default: 'ubuntu2204' -- name: componentName - type: string - default: '' -- name: configureFlags - type: string - default: '' -- name: buildDir - type: string - default: '$(Build.SourcesDirectory)' -- name: installDir - type: string - default: '$(Build.BinariesDirectory)' -- name: makeCallPrefix - type: string - default: '' - -steps: -- task: Bash@3 - displayName: '${{ parameters.componentName }} configure flags' - inputs: - targetType: inline - workingDirectory: ${{ parameters.buildDir }} - script: | - ${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - ./configure --prefix=${{ parameters.installDir }} ${{ parameters.configureFlags }} -- task: Bash@3 - displayName: '${{ parameters.componentName }} make' - inputs: - targetType: inline - workingDirectory: ${{ parameters.buildDir }} - script: | - ${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - ${{ parameters.makeCallPrefix }} make -j$(nproc) -- task: Bash@3 - displayName: '${{ parameters.componentName }} make install' - inputs: - targetType: inline - workingDirectory: ${{ parameters.buildDir }} - script: | - ${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - make install diff --git a/.azuredevops/templates/steps/build-cmake.yml b/.azuredevops/templates/steps/build-cmake.yml deleted file mode 100644 index 032c8184e..000000000 --- a/.azuredevops/templates/steps/build-cmake.yml +++ /dev/null @@ -1,120 +0,0 @@ -parameters: -- name: os - type: string - default: 'ubuntu2204' -- name: componentName - type: string - default: '' -- name: extraBuildFlags - type: string - default: '' -- name: extraCxxFlags - type: string - default: '' -- name: multithreadFlag - type: string - default: '' -- name: cmakeBuildDir - type: string - default: $(Agent.BuildDirectory)/s/build -- name: cmakeSourceDir - type: string - default: $(Agent.BuildDirectory)/s -- name: customBuildTarget - type: string - default: '' -- name: cmakeTarget - type: string - default: 'install' -- name: cmakeTargetDir - type: string - default: '.' -- name: installDir - type: string - default: '$(Build.BinariesDirectory)' -- name: customInstallPath - type: boolean - default: true -- name: installEnabled - type: boolean - default: true -# for jobs that rebuild during install step and use ninja -# set to true to save time, only applies for almalinux8 -- name: consolidateBuildAndInstall - type: boolean - default: false -- name: printDiskSpace - type: boolean - default: true -# todo: make this control cxx and c compiler flags -- name: useAmdclang - type: boolean - default: true - -# for cmake calls, set env variables for AlmaLinux 8 -# to simulate running source /opt/rh/gcc-toolset-14/enable for the session - -steps: -# create workingDirectory if it does not exist and change into it -# call cmake from within that directory using $cmakeArgs as its parameters -- task: CMake@1 - displayName: '${{parameters.componentName }} CMake Flags' - ${{ if eq(parameters.os, 'almalinux8')}}: - env: - PATH: "/opt/rh/gcc-toolset-14/root/usr/bin:$(PATH)" - MANPATH: "/opt/rh/gcc-toolset-14/root/usr/share/man:$(MANPATH)" - INFOPATH: "/opt/rh/gcc-toolset-14/root/usr/share/info:$(INFOPATH)" - PCP_DIR: "/opt/rh/gcc-toolset-14/root" - LD_LIBRARY_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:$(LD_LIBRARY_PATH)" - PKG_CONFIG_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64/pkgconfig:$(PKG_CONFIG_PATH)" - inputs: - workingDirectory: ${{ parameters.cmakeBuildDir }} - cmakeArgs: >- - ${{ iif(parameters.customInstallPath, join('', format('-DCMAKE_INSTALL_PREFIX={0}', parameters.installDir)), '') }} - ${{ iif(eq(parameters.os, 'almalinux8'), '-DCMAKE_SHARED_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/lib64 -L/opt/rh/gcc-toolset-14/root/usr/lib/gcc/x86_64-redhat-linux/14/"', '') }} - ${{ iif(eq(parameters.os, 'almalinux8'), '-DCMAKE_EXE_LINKER_FLAGS="-L$(Agent.BuildDirectory)/rocm/lib64 -L/opt/rh/gcc-toolset-14/root/usr/lib/gcc/x86_64-redhat-linux/14/"', '') }} - -DCMAKE_CXX_FLAGS="${{ parameters.extraCxxFlags }} ${{ iif(and(eq(parameters.os, 'almalinux8'), parameters.useAmdclang), '--gcc-toolchain=/opt/rh/gcc-toolset-14/root', '') }}" - ${{ parameters.extraBuildFlags }} - ${{ parameters.cmakeSourceDir }} -- ${{ if parameters.printDiskSpace }}: - - script: df -h - displayName: Disk space before build -# equivalent to running make $cmakeTargetDir from $cmakeBuildDir -# i.e., cd $cmakeBuildDir; make $cmakeTargetDir -- task: CMake@1 - ${{ if and( eq(parameters.os, 'almalinux8'), eq(parameters.consolidateBuildAndInstall , true)) }}: - displayName: '${{ parameters.componentName }} CMake Build and Install' - ${{ else }}: - displayName: '${{ parameters.componentName }} CMake Build' - ${{ if eq(parameters.os, 'almalinux8')}}: - env: - PATH: "/opt/rh/gcc-toolset-14/root/usr/bin:$(PATH)" - MANPATH: "/opt/rh/gcc-toolset-14/root/usr/share/man:$(MANPATH)" - INFOPATH: "/opt/rh/gcc-toolset-14/root/usr/share/info:$(INFOPATH)" - PCP_DIR: "/opt/rh/gcc-toolset-14/root" - LD_LIBRARY_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64:/opt/rh/gcc-toolset-14/root/usr/lib:$(LD_LIBRARY_PATH)" - PKG_CONFIG_PATH: "/opt/rh/gcc-toolset-14/root/usr/lib64/pkgconfig:$(PKG_CONFIG_PATH)" - inputs: - workingDirectory: ${{ parameters.cmakeBuildDir }} - ${{ if eq(parameters.os, 'almalinux8') }}: - cmakeArgs: >- - --build ${{ parameters.cmakeTargetDir }} - ${{ iif(and(eq(parameters.consolidateBuildAndInstall, true), ne(parameters.cmakeTarget, '')), format('--target {0}', parameters.cmakeTarget), '') }} - ${{ iif(and(ne(parameters.customBuildTarget, ''), ne(parameters.consolidateBuildAndInstall, true)), format('--target {0}', parameters.customBuildTarget), '') }} - ${{ parameters.multithreadFlag }} - ${{ if ne(parameters.os, 'almalinux8') }}: - cmakeArgs: >- - --build ${{ parameters.cmakeTargetDir }} - ${{ iif(ne(parameters.customBuildTarget, ''), format('--target {0}', parameters.customBuildTarget), '') }} - ${{ parameters.multithreadFlag }} -- ${{ if parameters.printDiskSpace }}: - - script: df -h - displayName: Disk space after build -# equivalent to running make $cmakeTarget from $cmakeBuildDir -# e.g., make install -- ${{ if and(eq(parameters.installEnabled, true), or(ne(parameters.os, 'almalinux8'), eq(parameters.consolidateBuildAndInstall, false))) }}: - - task: CMake@1 - displayName: '${{parameters.componentName }} ${{ parameters.cmakeTarget }}' - inputs: - workingDirectory: ${{ parameters.cmakeBuildDir }} - cmakeArgs: '--build ${{ parameters.cmakeTargetDir }} --target ${{ parameters.cmakeTarget }}' diff --git a/.azuredevops/templates/steps/build-script.yml b/.azuredevops/templates/steps/build-script.yml deleted file mode 100644 index 61782acf6..000000000 --- a/.azuredevops/templates/steps/build-script.yml +++ /dev/null @@ -1,22 +0,0 @@ -parameters: -- name: componentName - type: string - default: '' -- name: scriptDir - type: string - default: '.' -- name: scriptExecutable - type: string - default: './install.sh' -- name: scriptParameters - type: string - default: '' - -steps: -- task: Bash@3 - displayName: '${{ parameters.componentName }} Building via script' - continueOnError: true - inputs: - targetType: inline - script: ${{ parameters.scriptExecutable }} ${{ parameters.scriptParameters }} - workingDirectory: ${{ parameters.scriptDir }} diff --git a/.azuredevops/templates/steps/ccache.yml b/.azuredevops/templates/steps/ccache.yml deleted file mode 100644 index a5f662f5f..000000000 --- a/.azuredevops/templates/steps/ccache.yml +++ /dev/null @@ -1,14 +0,0 @@ -# to use ccache, run this template step before build-cmake.yml -# and add this cmake flag to extraBuildFlags -# -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -variables: - - group: common - - template: /.azuredevops/variables-global.yml -steps: -- task: Cache@2 - displayName: Ccache caching - inputs: - key: 'ccache | "$(Agent.OS)" | $(Build.SourceVersion)' - path: ${{ variables.CCACHE_DIR }} - restoreKeys: | - ccache | "$(Agent.OS)" diff --git a/.azuredevops/templates/steps/checkout.yml b/.azuredevops/templates/steps/checkout.yml deleted file mode 100644 index 4c5d58f56..000000000 --- a/.azuredevops/templates/steps/checkout.yml +++ /dev/null @@ -1,30 +0,0 @@ -parameters: -# name of the repo to checkout -# for most cases, leave as default 'self' -- name: checkoutRepo - type: string - default: 'self' -- name: sparseCheckoutDir - type: string - default: '' -# submodule download behaviour -# change to 'recursive' for repos with submodules -- name: submoduleBehaviour - type: string - default: 'true' - -steps: - - checkout: ${{ parameters.checkoutRepo }} - clean: true - submodules: ${{ parameters.submoduleBehaviour }} - retryCountOnTaskFailure: 3 - fetchFilter: blob:none - ${{ if ne(parameters.sparseCheckoutDir, '') }}: - sparseCheckoutDirectories: ${{ parameters.sparseCheckoutDir }} shared - path: sparse - - ${{ if ne(parameters.sparseCheckoutDir, '') }}: - - task: Bash@3 - displayName: Symlink sparse checkout - inputs: - targetType: inline - script: ln -s $(Agent.BuildDirectory)/sparse/${{ parameters.sparseCheckoutDir }} $(Agent.BuildDirectory)/s diff --git a/.azuredevops/templates/steps/dependencies-aocl.yml b/.azuredevops/templates/steps/dependencies-aocl.yml deleted file mode 100644 index d4a9938ed..000000000 --- a/.azuredevops/templates/steps/dependencies-aocl.yml +++ /dev/null @@ -1,35 +0,0 @@ -parameters: -- name: os - type: string - default: ubuntu2204 -- name: repositoryUrl - type: string - default: https://download.amd.com/developer/eula/aocl/aocl-4-2 -- name: packageName - type: object - default: - ubuntu2204: aocl-linux-gcc-4.2.0_1_amd64.deb - almalinux8: aocl-linux-gcc-4.2.0-1.x86_64.rpm - -steps: -- task: Bash@3 - displayName: Download AOCL - inputs: - targetType: inline - workingDirectory: $(Pipeline.Workspace) - script: wget -nv ${{ parameters.repositoryUrl }}/${{ parameters.packageName[parameters.os] }} -- task: Bash@3 - displayName: Install AOCL - inputs: - targetType: inline - workingDirectory: $(Pipeline.Workspace) - ${{ if eq(parameters.os, 'ubuntu2204') }}: - script: sudo apt install -y ./${{ parameters.packageName[parameters.os] }} - ${{ elseif eq(parameters.os, 'almalinux8') }}: - script: sudo dnf install -y ./${{ parameters.packageName[parameters.os] }} -- task: Bash@3 - displayName: Clean up AOCL - inputs: - targetType: inline - workingDirectory: $(Pipeline.Workspace) - script: rm -f ${{ parameters.packageName[parameters.os] }} diff --git a/.azuredevops/templates/steps/dependencies-apt.yml b/.azuredevops/templates/steps/dependencies-apt.yml deleted file mode 100644 index 7a35dcd32..000000000 --- a/.azuredevops/templates/steps/dependencies-apt.yml +++ /dev/null @@ -1,35 +0,0 @@ -parameters: -- name: aptPackages - type: object - default: [] -- name: registerROCmPackages - type: boolean - default: false - -steps: -- ${{ if eq(parameters.registerROCmPackages, true) }}: - - task: Bash@3 - displayName: 'Register AMDGPU & ROCm repos (apt)' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - sudo mkdir --parents --mode=0755 /etc/apt/keyrings - wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null - echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/amdgpu.list - echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION) jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list - echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600 - sudo apt update -- task: Bash@3 - displayName: 'APT update and install packages' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - echo "deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list - echo "deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list - echo "deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list - echo "deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/default.list - sudo DEBIAN_FRONTEND=noninteractive apt-get --yes update && \ - sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-broken install && \ - sudo DEBIAN_FRONTEND=noninteractive apt-get --yes --fix-missing install ${{ join(' ', parameters.aptPackages) }} diff --git a/.azuredevops/templates/steps/dependencies-aqlprofile.yml b/.azuredevops/templates/steps/dependencies-aqlprofile.yml deleted file mode 100644 index 4ff4675d1..000000000 --- a/.azuredevops/templates/steps/dependencies-aqlprofile.yml +++ /dev/null @@ -1,32 +0,0 @@ -parameters: -- name: os - type: string - default: ubuntu2204 - -steps: -- task: Bash@3 - displayName: Download and install aqlprofile - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory) - script: | - set -e - if [ "${{ parameters.os }}" = "ubuntu2204" ]; then - packageName=$(curl -s https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/ | grep -oP "href=\"\K[^\"]*$(lsb_release -rs)[^\"]*\.deb") && \ - wget -nv https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION)/pool/main/h/hsa-amd-aqlprofile/$packageName && \ - mkdir -p hsa-amd-aqlprofile && \ - dpkg-deb -R $packageName hsa-amd-aqlprofile - elif [ "${{ parameters.os }}" = "almalinux8" ]; then - sudo dnf -y install rpm-build cpio && \ - packageName=$(curl -s https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/ | grep -oP "hsa-amd-aqlprofile-[^\"]+\.rpm" | head -n1) && \ - wget -nv https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/$packageName && \ - mkdir -p hsa-amd-aqlprofile && \ - rpm2cpio $packageName | (cd hsa-amd-aqlprofile && cpio -idmv) - else - echo "Unsupported OS: ${{ parameters.os }}" - exit 1 - fi && \ - mkdir -p $(Agent.BuildDirectory)/rocm && \ - cp -R hsa-amd-aqlprofile/opt/rocm-*/* $(Agent.BuildDirectory)/rocm && \ - rm -rf hsa-amd-aqlprofile $packageName diff --git a/.azuredevops/templates/steps/dependencies-cmake-custom.yml b/.azuredevops/templates/steps/dependencies-cmake-custom.yml deleted file mode 100644 index 6d9357841..000000000 --- a/.azuredevops/templates/steps/dependencies-cmake-custom.yml +++ /dev/null @@ -1,28 +0,0 @@ -parameters: - - name: cmakeVersion - type: string - default: '3.31.0' - -steps: -- task: Bash@3 - displayName: Install CMake ${{ parameters.cmakeVersion }} - inputs: - targetType: inline - script: | - CMAKE_VERSION=${{ parameters.cmakeVersion }} - CMAKE_ROOT="$(Pipeline.Workspace)/cmake" - - echo "Downloading CMake $CMAKE_VERSION..." - curl -fsSL -o cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz - - echo "Extracting to $CMAKE_ROOT..." - sudo mkdir -p $CMAKE_ROOT - sudo tar --strip-components=1 -xz -C $CMAKE_ROOT -f cmake.tar.gz - - echo "##vso[task.prependpath]$CMAKE_ROOT/bin" -- task: Bash@3 - displayName: cmake --version - inputs: - targetType: inline - script: | - cmake --version diff --git a/.azuredevops/templates/steps/dependencies-dnf.yml b/.azuredevops/templates/steps/dependencies-dnf.yml deleted file mode 100644 index 44a48b825..000000000 --- a/.azuredevops/templates/steps/dependencies-dnf.yml +++ /dev/null @@ -1,166 +0,0 @@ -parameters: -- name: aptPackages - type: object - default: [] -- name: registerROCmPackages - type: boolean - default: false -# As par of installing gcc toolset and python, -# the environment will install this base set of dnf packages. -- name: basePackages - type: object - default: - - epel-release - - gcc-toolset-14 - - gcc-toolset-14-libatomic-devel - - git - - jq - - numactl - - python3.11 - - python3.11-pip - - vim-common - - wget -# Instead of defining multiple arrays of packages per component, -# we define a map of apt package names to dnf package names. -- name: aptToDnfMap - type: object - default: - bison: bison - ccache: ccache - cmake: cmake - cuda-toolkit-12-9: cuda-compiler-12-9 cuda-toolkit-12-9 - libcudnn9-dev-cuda-12: libcudnn9-cuda-12 - dejagnu: dejagnu - doxygen: doxygen - # note: doxygen-doc is not available in dnf - # libavcodec-dev, libavformat-dev, libavutil-dev come with ffmpeg-devel - ffmpeg: ffmpeg ffmpeg-devel - flex: flex - # note: g++ is installed by default with gcc-toolset-14 - # note: gawk is already installed - # note: gcc-toolset-14-gfortran is installed by default with gcc-toolset-14 - # note: git is in the base packages list - graphviz: graphviz - libbabeltrace-dev: libbabeltrace-devel - libbison-dev: bison-devel - libboost-program-options-dev: boost-devel - # note: libdrm-amdgpu1 is not available in dnf - libdrm-dev: libdrm-devel - libdrm-amdgpu-dev: libdrm-amdgpu-devel - libdw-dev: elfutils-devel - libelf-dev: elfutils-libelf-devel - libexpat-dev: expat-devel - libffi-dev: libffi-devel - libfftw3-dev: fftw-devel - libfmt-dev: fmt-devel - libgmp-dev: gmp-devel - liblapack-dev: lapack-devel - liblzma-dev: xz-devel - libmpfr-dev: mpfr-devel - libmsgpack-dev: msgpack-devel - libncurses5-dev: ncurses-devel - libnuma-dev: numactl-devel - libopenblas-dev: openblas-devel - libopenmpi-dev: openmpi-devel - libpci-dev: libpciaccess-devel - libsimde-dev: simde-devel - libssl-dev: openssl-devel - # note: libstdc++-devel is in the base packages list - libsystemd-dev: systemd-devel - libtool: libtool - # note: libudev-dev is part of systemd-devel - libva-amdgpu-dev: libva-amdgpu-devel - mesa-amdgpu-va-drivers: mesa-amdgpu-va-drivers - mesa-common-dev: mesa-libGL-devel - ncurses-dev: ncurses-devel - # note: llvm needs ninja-build version newer than what dnf provides - ocl-icd-libopencl1: ocl-icd - ocl-icd-opencl-dev: ocl-icd-devel - opencl-headers: opencl-headers - parallel: parallel - pkg-config: pkgconf-pkg-config - # note: python3 is the default python in AlmaLinux 8 - python3-dev: python3.11-devel - # note: python3.11-pip is already installed when updating to python 3.11 - # note: python3.11-setuptools is already installed when updating to python 3.11 - texinfo: texinfo - zlib1g-dev: zlib-devel - -steps: -- ${{ if eq(parameters.registerROCmPackages, true) }}: - - task: Bash@3 - displayName: 'Register AMDGPU & ROCm repos (dnf)' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - sudo rpm --import https://repo.radeon.com/rocm/rocm.gpg.key - echo '[amdgpu]' | sudo tee /etc/yum.repos.d/amdgpu.repo > /dev/null - echo "name=amdgpu" | sudo tee --append /etc/yum.repos.d/amdgpu.repo - echo "baseurl=https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/rhel/8.10/main/x86_64/" | sudo tee --append /etc/yum.repos.d/amdgpu.repo - echo "enabled=1" | sudo tee --append /etc/yum.repos.d/amdgpu.repo - echo "gpgcheck=1" | sudo tee --append /etc/yum.repos.d/amdgpu.repo - echo "gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" | sudo tee --append /etc/yum.repos.d/amdgpu.repo - echo '[rocm]' | sudo tee /etc/yum.repos.d/rocm.repo > /dev/null - echo "name=ROCm$(REPO_RADEON_VERSION)" | sudo tee --append /etc/yum.repos.d/rocm.repo - echo "baseurl=https://repo.radeon.com/rocm/rhel8/$(REPO_RADEON_VERSION)/main/" | sudo tee --append /etc/yum.repos.d/rocm.repo - echo "enabled=1" | sudo tee --append /etc/yum.repos.d/rocm.repo - echo "gpgcheck=1" | sudo tee --append /etc/yum.repos.d/rocm.repo - echo "gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" | sudo tee --append /etc/yum.repos.d/rocm.repo - sudo dnf clean all - sudo dnf makecache -- task: Bash@3 - displayName: 'Install base dnf packages' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - # rpm fusion free repo for some dependencies - sudo dnf config-manager --set-enabled powertools && \ - sudo dnf -y install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm && \ - sudo dnf -y install ${{ join(' ', parameters.basePackages) }} -- task: Bash@3 - displayName: 'Check gcc environment' - inputs: - targetType: inline - script: | - echo "=== Versions and sanity checks ===" - gcc --version - g++ --version - gcc -print-file-name=libstdc++.so - g++ -print-file-name=libstdc++.so -- task: Bash@3 - displayName: 'Set python 3.11 as default' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - sudo dnf -y module disable python36 - sudo rm -f /usr/local/bin/python3.12 /usr/local/bin/python3.13 /usr/local/bin/python3.14 - sudo alternatives --set python /usr/bin/python3.11 - sudo alternatives --set python3 /usr/bin/python3.11 - python3 --version - python3 -m pip install --upgrade pip setuptools wheel -- ${{ each pkg in parameters.aptPackages }}: - # note: llvm needs ninja-build version newer than what dnf provides - - ${{ if eq(pkg, 'ninja-build') }}: - - task: Bash@3 - displayName: 'Install ninja 1.11.1' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - sudo dnf -y install unzip && \ - curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip && \ - unzip ninja-linux.zip && \ - sudo mv ninja /usr/local/bin/ninja && \ - sudo chmod +x /usr/local/bin/ninja && \ - echo "##vso[task.prependpath]/usr/local/bin" - - ${{ if ne(parameters.aptToDnfMap[pkg], '') }}: - - task: Bash@3 - displayName: 'dnf install ${{ parameters.aptToDnfMap[pkg] }}' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: | - sudo dnf -y install ${{ parameters.aptToDnfMap[pkg] }} diff --git a/.azuredevops/templates/steps/dependencies-other.yml b/.azuredevops/templates/steps/dependencies-other.yml deleted file mode 100644 index b39b32945..000000000 --- a/.azuredevops/templates/steps/dependencies-other.yml +++ /dev/null @@ -1,33 +0,0 @@ -# download and install non-rocm dependencies through apt and pip -parameters: -- name: aptPackages - type: object - default: [] -- name: pipModules - type: object - default: [] -- name: registerROCmPackages - type: boolean - default: false -- name: packageManager - type: string - default: apt - -steps: -- ${{ if eq(parameters.packageManager, 'apt') }}: - - template: dependencies-apt.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - registerROCmPackages: ${{ parameters.registerROCmPackages }} -- ${{ if eq(parameters.packageManager, 'dnf') }}: - - template: dependencies-dnf.yml - parameters: - aptPackages: ${{ parameters.aptPackages }} - registerROCmPackages: ${{ parameters.registerROCmPackages }} -- ${{ if gt(length(parameters.pipModules), 0) }}: - - task: Bash@3 - displayName: 'pip install ...' - retryCountOnTaskFailure: 3 - inputs: - targetType: inline - script: python3 -m pip install -v --force-reinstall ${{ join(' ', parameters.pipModules) }} diff --git a/.azuredevops/templates/steps/dependencies-rocm.yml b/.azuredevops/templates/steps/dependencies-rocm.yml deleted file mode 100644 index cb50641da..000000000 --- a/.azuredevops/templates/steps/dependencies-rocm.yml +++ /dev/null @@ -1,400 +0,0 @@ -# download and install rocm dependencies through pipeline builds in the project -parameters: -- name: checkoutRef - type: string - default: '' -- name: dependencyList - type: object - default: [] -- name: os - type: string - default: 'ubuntu2204' -- name: gpuTarget - type: string - default: '' -# set to true if dlopen calls for HIP libraries are causing failures -# because they do not follow shared library symlink convention -- name: setupHIPLibrarySymlinks - type: boolean - default: false -# set to true if doing full build of ROCm stack -# and dependencies are pulled from same pipeline -- name: aggregatePipeline - type: boolean - default: false -# monorepo related parameters -- name: downstreamAggregateNames - type: string - default: '' - -- name: componentVarList - type: object - default: - AMDMIGraphX: - pipelineId: 113 - developBranch: develop - hasGpuTarget: true - amdsmi: - pipelineId: 376 - developBranch: develop - hasGpuTarget: false - aomp-extras: - pipelineId: 111 - developBranch: aomp-dev - hasGpuTarget: false - aomp: - pipelineId: 115 - developBranch: aomp-dev - hasGpuTarget: false - aqlprofile: - pipelineId: 365 - developBranch: develop - hasGpuTarget: false - clr: - pipelineId: 335 - developBranch: develop - hasGpuTarget: false - composable_kernel: - pipelineId: 86 - developBranch: develop - hasGpuTarget: true - half: - pipelineId: 101 - developBranch: rocm - hasGpuTarget: false - HIP: - pipelineId: 335 - developBranch: develop - hasGpuTarget: false - hip-tests: - pipelineId: 362 - developBranch: develop - hasGpuTarget: false - hipBLAS: - pipelineId: 317 - developBranch: develop - hasGpuTarget: true - hipBLASLt: - pipelineId: 301 - developBranch: develop - hasGpuTarget: true - hipBLAS-common: - pipelineId: 300 - developBranch: develop - hasGpuTarget: false - hipCUB: - pipelineId: 277 - developBranch: develop - hasGpuTarget: true - hipFFT: - pipelineId: 283 - developBranch: develop - hasGpuTarget: true - hipfort: - pipelineId: 102 - developBranch: develop - hasGpuTarget: false - HIPIFY: - pipelineId: 92 - developBranch: amd-staging - hasGpuTarget: false - hipRAND: - pipelineId: 275 - developBranch: develop - hasGpuTarget: true - hipSOLVER: - pipelineId: 84 - developBranch: develop - hasGpuTarget: true - hipSPARSE: - pipelineId: 315 - developBranch: develop - hasGpuTarget: true - hipSPARSELt: - pipelineId: 309 - developBranch: develop - hasGpuTarget: true - hipTensor: - pipelineId: 374 - developBranch: develop - hasGpuTarget: true - llvm-project: - pipelineId: 2 - developBranch: amd-staging - hasGpuTarget: false - MIOpen: - pipelineId: 320 - developBranch: develop - hasGpuTarget: true - MIVisionX: - pipelineId: 80 - developBranch: develop - hasGpuTarget: true - origami: - pipelineId: 364 - developBranch: develop - hasGpuTarget: true - rccl: - pipelineId: 107 - developBranch: develop - hasGpuTarget: true - rdc: - pipelineId: 360 - developBranch: develop - hasGpuTarget: false - rocAL: - pipelineId: 151 - developBranch: develop - hasGpuTarget: true - rocALUTION: - pipelineId: 89 - developBranch: develop - hasGpuTarget: true - rocBLAS: - pipelineId: 302 - developBranch: develop - hasGpuTarget: true - ROCdbgapi: - pipelineId: 135 - developBranch: amd-staging - hasGpuTarget: false - rocDecode: - pipelineId: 79 - developBranch: develop - hasGpuTarget: false - rocFFT: - pipelineId: 282 - developBranch: develop - hasGpuTarget: true - ROCgdb: - pipelineId: 134 - developBranch: amd-staging - hasGpuTarget: false - rocJPEG: - pipelineId: 262 - developBranch: develop - hasGpuTarget: false - rocm-cmake: - pipelineId: 6 - developBranch: develop - hasGpuTarget: false - rocm-core: - pipelineId: 349 - developBranch: develop - hasGpuTarget: false - rocm-examples: - pipelineId: 216 - developBranch: amd-staging - hasGpuTarget: true - rocminfo: - pipelineId: 356 - developBranch: develop - hasGpuTarget: false - rocMLIR: - pipelineId: 229 - developBranch: develop - hasGpuTarget: false - ROCmValidationSuite: - pipelineId: 106 - developBranch: master - hasGpuTarget: true - rocm_bandwidth_test: - pipelineId: 88 - developBranch: master - hasGpuTarget: false - rocm_smi_lib: - pipelineId: 358 - developBranch: develop - hasGpuTarget: false - rocPRIM: - pipelineId: 273 - developBranch: develop - hasGpuTarget: true - rocprofiler: - pipelineId: 329 - developBranch: develop - hasGpuTarget: true - rocprofiler-compute: - pipelineId: 344 - developBranch: develop - hasGpuTarget: true - rocprofiler-register: - pipelineId: 327 - developBranch: develop - hasGpuTarget: false - rocprofiler-sdk: - pipelineId: 347 - developBranch: develop - hasGpuTarget: true - rocprofiler-systems: - pipelineId: 345 - developBranch: develop - hasGpuTarget: true - rocPyDecode: - pipelineId: 239 - developBranch: develop - hasGpuTarget: true - ROCR-Runtime: - pipelineId: 354 - developBranch: develop - hasGpuTarget: false - rocRAND: - pipelineId: 274 - developBranch: develop - hasGpuTarget: true - rocr_debug_agent: - pipelineId: 136 - developBranch: amd-staging - hasGpuTarget: false - rocSOLVER: - pipelineId: 81 - developBranch: develop - hasGpuTarget: true - rocSPARSE: - pipelineId: 314 - developBranch: develop - hasGpuTarget: true - rocThrust: - pipelineId: 276 - developBranch: develop - hasGpuTarget: true - roctracer: - pipelineId: 331 - developBranch: develop - hasGpuTarget: true - rocWMMA: - pipelineId: 370 - developBranch: develop - hasGpuTarget: true - rpp: - pipelineId: 78 - developBranch: develop - hasGpuTarget: true - TransferBench: - pipelineId: 265 - developBranch: develop - hasGpuTarget: true - -steps: -# assuming artifact-download.yml template file in same directory -# for the case where rocm dependency item in list has a colon (:) -# assume it is of the format of componentName:fileFilter -# fileFilter could contain both a subcomponent name or gpu name separated by asterisks -# gpu name will be specified by parameters.gpuTarget for components that are in componentsWithGPUTarget -# e.g., gfx942 to only download artifacts from component for this gpu if applicable -- ${{ each dependency in parameters.dependencyList }}: - - ${{ if contains(dependency, ':') }}: - - template: artifact-download.yml - parameters: - componentName: ${{ split(dependency, ':')[0] }} - pipelineId: ${{ parameters.componentVarList[split(dependency, ':')[0]].pipelineId }} - branchName: ${{ parameters.componentVarList[split(dependency, ':')[0]].developBranch }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - extractAndDeleteFiles: false -# no colon (:) found in this item in the list - - ${{ elseif containsValue(split(parameters.downstreamAggregateNames, '+'), dependency) }}: - - template: local-artifact-download.yml - parameters: - buildType: current - preTargetFilter: ${{ dependency }} - os: ${{ parameters.os }} - ${{ if parameters.componentVarList[dependency].hasGpuTarget }}: - gpuTarget: ${{ parameters.gpuTarget }} - - ${{ else }}: - - template: artifact-download.yml - parameters: - componentName: ${{ dependency }} - pipelineId: ${{ parameters.componentVarList[dependency].pipelineId }} - branchName: ${{ parameters.componentVarList[dependency].developBranch }} - aggregatePipeline: ${{ parameters.aggregatePipeline }} - extractAndDeleteFiles: false - ${{ if parameters.componentVarList[dependency].hasGpuTarget }}: - fileFilter: ${{ parameters.os }}_${{ parameters.gpuTarget }} - ${{ else }}: - fileFilter: ${{ parameters.os }} -- task: ExtractFiles@1 - displayName: Extract ROCm artifacts - inputs: - archiveFilePatterns: $(Pipeline.Workspace)/d/**/*.tar.gz - destinationFolder: $(Agent.BuildDirectory)/rocm - cleanDestinationFolder: false - overwriteExistingFiles: true -- task: DeleteFiles@1 - displayName: Clean up ROCm artifacts - inputs: - SourceFolder: $(Pipeline.Workspace)/d - Contents: '**/*.tar.gz' - RemoveDotFiles: true -- ${{ if containsValue(parameters.dependencyList, 'llvm-project') }}: - - task: Bash@3 - displayName: Symlink from rocm/llvm to rocm/lib/llvm - inputs: - targetType: inline - script: | - sudo mkdir -p $(Agent.BuildDirectory)/rocm/lib - sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm $(Agent.BuildDirectory)/rocm/lib/llvm - echo "Created symlink from rocm/llvm to rocm/lib/llvm" - - task: Bash@3 - displayName: Symlink executables from rocm/llvm/bin to rocm/bin - inputs: - targetType: inline - script: | - for file in amdclang amdclang++ amdclang-cl amdclang-cpp amdflang amdlld aompcc mygpu mycpu offload-arch; do - sudo ln -sr $(Agent.BuildDirectory)/rocm/llvm/bin/$file $(Agent.BuildDirectory)/rocm/bin/$file - echo "Created symlink from rocm/llvm/bin/$file to rocm/bin/$file" - done -- ${{ if containsValue(parameters.dependencyList, 'rocm-core') }}: - - task: Bash@3 - displayName: Print rocm/.info/version - inputs: - targetType: inline - script: cat $(Agent.BuildDirectory)/rocm/.info/version -# dlopen calls within a ctest or pytest sequence runs into issues when shared library symlink convention is not followed -# the convention is as follows: -# unversioned .so is a symlink to major version .so -# major version .so is a symlink to detailed version .so -# HIP libraries do not follow this convention, and each .so is a copy of each other -# changing the library structure to follow the symlink convention resolves some test failures -- ${{ if eq(parameters.setupHIPLibrarySymlinks, true) }}: - - task: Bash@3 - displayName: Setup symlinks for hip libraries - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory)/rocm/lib - script: | - LIBRARIES=("libamdhip64" "libhiprtc-builtins" "libhiprtc") - for LIB_NAME in "${LIBRARIES[@]}"; do - VERSIONED_SO=$(ls ${LIB_NAME}.so.* 2>/dev/null | grep -E "${LIB_NAME}\.so\.[0-9]+\.[0-9]+\.[0-9]+(-.*)?" | sort -V | tail -n 1) - if [[ -z "$VERSIONED_SO" ]]; then - continue - fi - MAJOR_VERSION=$(echo "$VERSIONED_SO" | grep -oP "${LIB_NAME}\.so\.\K[0-9]+") - if [[ -e "${LIB_NAME}.so.${MAJOR_VERSION}" && ! -L "${LIB_NAME}.so.${MAJOR_VERSION}" ]]; then - rm -f "${LIB_NAME}.so.${MAJOR_VERSION}" - fi - if [[ -e "${LIB_NAME}.so" && ! -L "${LIB_NAME}.so" ]]; then - rm -f "${LIB_NAME}.so" - fi - ln -sf "$VERSIONED_SO" "${LIB_NAME}.so.${MAJOR_VERSION}" - ln -sf "${LIB_NAME}.so.${MAJOR_VERSION}" "${LIB_NAME}.so" - echo "Symlinks created for $LIB_NAME:" - ls -l ${LIB_NAME}.so* - done -- task: Bash@3 - displayName: 'List downloaded ROCm files' - inputs: - targetType: inline - script: ls -la1R $(Agent.BuildDirectory)/rocm -- task: Bash@3 - displayName: 'Link ROCm shared libraries' - inputs: - targetType: inline - # OS ignores if the ROCm lib folder shows up more than once - script: | - echo $(Agent.BuildDirectory)/rocm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf - echo $(Agent.BuildDirectory)/rocm/llvm/lib | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf - echo $(Agent.BuildDirectory)/rocm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf - echo $(Agent.BuildDirectory)/rocm/llvm/lib64 | sudo tee -a /etc/ld.so.conf.d/rocm-ci.conf - sudo cat /etc/ld.so.conf.d/rocm-ci.conf - sudo ldconfig -v - ldconfig -p diff --git a/.azuredevops/templates/steps/dependencies-vendor.yml b/.azuredevops/templates/steps/dependencies-vendor.yml deleted file mode 100644 index 10086e38e..000000000 --- a/.azuredevops/templates/steps/dependencies-vendor.yml +++ /dev/null @@ -1,58 +0,0 @@ -parameters: -- name: os - type: string - default: 'ubuntu2204' -- name: dependencyList - type: object -- name: pipelineIdList - type: object - default: - boost: 250 - catch2: 343 - fmtlib: 341 - grpc: 72 - gtest: 73 - half560: 68 - lapack: 69 - libdivide: 342 - spdlog: 340 - -steps: -- ${{ each dependency in parameters.dependencyList }}: - - task: DownloadPipelineArtifact@2 - displayName: Download ${{ dependency }} - retryCountOnTaskFailure: 3 - inputs: - project: ROCm-CI - buildType: specific - targetPath: $(Pipeline.Workspace)/d - definition: ${{ parameters.pipelineIdList[dependency] }} - itemPattern: '**/*${{ parameters.os }}*' - - task: ExtractFiles@1 - displayName: Extract ${{ dependency }} - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' - destinationFolder: $(Agent.BuildDirectory)/vendor - cleanDestinationFolder: false - overwriteExistingFiles: true - - task: DeleteFiles@1 - displayName: Clean up ${{ dependency }} - inputs: - SourceFolder: $(Pipeline.Workspace)/d - Contents: '**/*.tar.gz' - RemoveDotFiles: true -- task: Bash@3 - displayName: List vendored files - inputs: - targetType: inline - script: ls -la1R $(Agent.BuildDirectory)/vendor -- task: Bash@3 - displayName: Link vendored shared libraries - inputs: - targetType: inline - script: | - echo $(Agent.BuildDirectory)/vendor/lib | sudo tee -a /etc/ld.so.conf.d/vendor.conf - echo $(Agent.BuildDirectory)/vendor/lib64 | sudo tee -a /etc/ld.so.conf.d/vendor.conf - sudo cat /etc/ld.so.conf.d/vendor.conf - sudo ldconfig -v - ldconfig -p diff --git a/.azuredevops/templates/steps/docker-container-commit.yml b/.azuredevops/templates/steps/docker-container-commit.yml deleted file mode 100644 index 4013cf9a4..000000000 --- a/.azuredevops/templates/steps/docker-container-commit.yml +++ /dev/null @@ -1,82 +0,0 @@ -# This template creates and uploads a Docker image from the current environment -# It uses `docker commit` to do so, which can provide more accurate images than the standard template -# It requires the following conditions: -# - Job must be run inside a Docker container -# - The container's external name must be the same as the container's internal hostname -# - Docker must be installed inside said container and given sufficient permissions -# Currently, it is only usable for test jobs run on our self-managed systems -# Jobs run on Azure VMs will not be able to use this template (most if not all build jobs) - -parameters: -- name: gpuTarget - type: string - default: '' -- name: environment - type: string - default: build - values: - - build - - test - - combined - - amd - - nvidia -- name: extraPaths - type: string - default: '' -- name: extraEnvVars - type: object - default: [] -- name: forceDockerCreation - type: boolean - default: false - -steps: - - task: Bash@3 - displayName: Commit container and initialize Dockerfile - condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }}) - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - docker commit $(hostname) az-ci-temp-image:latest - echo "FROM az-ci-temp-image:latest" > Dockerfile - echo "RUN sudo groupmod -g $(getent group render | awk -F: '{print $3}') render" >> Dockerfile - echo "RUN sudo groupmod -g $(getent group docker | awk -F: '{print $3}') docker" >> Dockerfile - echo "ENV PATH='$PATH:${{ parameters.extraPaths }}'" >> Dockerfile - echo "ENTRYPOINT [\"/bin/bash\"]" >> Dockerfile - - ${{ each extraEnvVar in parameters.extraEnvVars }}: - - task: Bash@3 - displayName: Add extra environment variables - condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }}) - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "ENV ${{ split(extraEnvVar, ':::')[0] }}='${{ split(extraEnvVar, ':::')[1] }}'" >> Dockerfile - - task: Bash@3 - displayName: Print Dockerfile - condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }}) - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: cat Dockerfile - - task: Docker@2 - displayName: Build and upload Docker image - condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }}) - inputs: - containerRegistry: 'ContainerService3' - ${{ if ne(parameters.gpuTarget, '') }}: - repository: '$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}' - ${{ else }}: - repository: '$(Build.DefinitionName)-${{ parameters.environment }}' - Dockerfile: '$(Pipeline.Workspace)/Dockerfile' - buildContext: '$(Pipeline.Workspace)' - - task: Bash@3 - condition: or(and(failed(), not(contains(variables['DOCKER_SKIP_GFX'], variables['JOB_GPU_TARGET']))), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: "!! Docker Image URL !!" - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - ${{ if ne(parameters.gpuTarget, '') }}: - script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]' - ${{ else }}: - script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]' diff --git a/.azuredevops/templates/steps/docker-container.yml b/.azuredevops/templates/steps/docker-container.yml deleted file mode 100644 index a9710c010..000000000 --- a/.azuredevops/templates/steps/docker-container.yml +++ /dev/null @@ -1,354 +0,0 @@ -parameters: -# this base set of packages should not be changed by calling script -# should be common across all pipelines -- name: baseAptPackages - type: object - default: - - build-essential - - ca-certificates - - curl - - file - - git - - gcc - - g++ - - gpg - - kmod - - libdrm-dev - - libelf-dev - - libgtest-dev - - libhsakmt-dev - - libhwloc-dev - - libnuma-dev - - libstdc++-12-dev - - libtbb-dev - - lsb-release - - lsof - - ninja-build - - pkg-config - - python3-dev - - python3-pip - - wget - - zip -# optional array of additional apt packages to install -- name: aptPackages - type: object - default: [] -# optional array of python modules to install -- name: pipModules - type: object - default: [] -# optional array of workspace directories to install -# sources, binaries, and rocm directories are copied by default -- name: extraCopyDirectories - type: object - default: [] -# optional string to specify gpuTarget for the docker image string -- name: gpuTarget - type: string - default: '' -# test environment involves gpu-related steps -# some jobs combine both build and test -# some jobs differentiate based on gpu vendor -- name: environment - type: string - default: build - values: - - build - - test - - combined - - amd - - nvidia -# optional boolean prerequisites before install extra apt packages -- name: registerROCmPackages - type: boolean - default: false -- name: registerCUDAPackages - type: boolean - default: false -- name: registerJPEGPackages - type: boolean - default: false -# optional boolean for special setup steps to accomodate some components -- name: installLatestCMake - type: boolean - default: false -- name: installAOCL - type: boolean - default: false -- name: aoclRepositoryUrl - type: string - default: https://download.amd.com/developer/eula/aocl/aocl-4-2 -- name: aoclPackageName - type: string - default: aocl-linux-gcc-4.2.0_1_amd64.deb -- name: optSymLink - type: boolean - default: false -- name: pythonEnvVars - type: boolean - default: false -# optional string to add to PATH -- name: extraPaths - type: string - default: '' -# optional array of environment variables to set -# each array element expected to be in format of -# key:value -- name: extraEnvVars - type: object - default: [] -# force the docker to be created, regardless of failure condition -- name: forceDockerCreation - type: boolean - default: false - -- name: dockerSkipGfx - type: object - default: - - gfx90a - - gfx942 - -steps: -# these steps should only be run if there was a failure or warning -# dynamically write to a Dockerfile -# first is to do base setup of users, groups - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Create start of Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "FROM ubuntu:22.04" > Dockerfile - echo "ARG USERNAME=user" >> Dockerfile - echo "ARG USER_UID=1000" >> Dockerfile - echo "ARG USER_GID=\$USER_UID" >> Dockerfile - echo "RUN groupadd --gid \$USER_GID \$USERNAME" >> Dockerfile - echo "RUN useradd --uid \$USER_UID --gid \$USER_GID -m \$USERNAME" >> Dockerfile - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update" >> Dockerfile - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes install sudo" >> Dockerfile - echo "RUN echo \$USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/\$USERNAME" >> Dockerfile - echo "RUN chmod 0440 /etc/sudoers.d/\$USERNAME" >> Dockerfile -# for test jobs, setup GPU-related users and group - - ${{ if eq(parameters.environment, 'test') }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: GPU setup of Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN groupadd render" >> Dockerfile - echo "RUN usermod -aG render,video \$USERNAME" >> Dockerfile -# now install a common set of packages through apt - - ${{ if gt(length(parameters.baseAptPackages), 0) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Base Apt Packages to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes install ${{ join(' ', parameters.baseAptPackages) }}" >> Dockerfile -# iterate through possible apt repos that might need to be added to the docker container - - ${{ if eq(parameters.registerROCmPackages, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Register ROCm packages to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN mkdir --parents --mode=0755 /etc/apt/keyrings" >> Dockerfile - echo "RUN wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null" >> Dockerfile - echo "RUN echo \"deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/amdgpu/$(REPO_RADEON_VERSION)/ubuntu jammy main\" | tee /etc/apt/sources.list.d/amdgpu.list" >> Dockerfile - echo "RUN echo \"deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/$(REPO_RADEON_VERSION) jammy main\" | tee --append /etc/apt/sources.list.d/rocm.list" >> Dockerfile - echo "RUN printf 'Package: *\\nPin: release o=repo.radeon.com\\nPin-Priority: 600' > /etc/apt/preferences.d/rocm-pin-600" >> Dockerfile - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update" >> Dockerfile - - ${{ if eq(parameters.registerCUDAPackages, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Register CUDA packages to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb" >> Dockerfile - echo "RUN dpkg -i cuda-keyring_1.1-1_all.deb" >> Dockerfile - echo "RUN rm -f cuda-keyring_1.1-1_all.deb" >> Dockerfile - echo 'RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update' >> Dockerfile - - ${{ if eq(parameters.registerJPEGPackages, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Register libjpeg-turbo packages to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN mkdir --parents --mode=0755 /etc/apt/keyrings" >> Dockerfile - echo "RUN wget https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey -O - | gpg --dearmor | tee /etc/apt/trusted.gpg.d/libjpeg-turbo.gpg > /dev/null" >> Dockerfile - echo "RUN echo \"deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main\" | sudo tee /etc/apt/sources.list.d/libjpeg-turbo.list" >> Dockerfile - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update" >> Dockerfile -# install AOCL to docker container, if needed - - ${{ if eq(parameters.installAOCL, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: aocl install to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN wget -nv ${{ parameters.aoclRepositoryUrl }}/${{ parameters.aoclPackageName }}" >> Dockerfile - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes install ./${{ parameters.aoclPackageName }}" >> Dockerfile - echo "RUN rm -f ${{ parameters.aoclPackageName }}" >> Dockerfile -# since apt repo list is updated, install the extra apt packages - - ${{ if gt(length(parameters.aptPackages), 0) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Extra Apt Packages to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes install ${{ join(' ', parameters.aptPackages) }}" >> Dockerfile -# install latest cmake to docker container, if needed - - ${{ if eq(parameters.installLatestCMake, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: latest cmake install to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "RUN DEBIAN_FRONTEND=noninteractive apt-get --yes purge cmake" >> Dockerfile - echo "RUN pip install cmake --upgrade" >> Dockerfile -# setup workspace where binaries, sources, and dependencies from the job will be copied to - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Workspace setup of Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "USER \$USERNAME" >> Dockerfile - echo "WORKDIR /home/user" >> Dockerfile - echo "RUN mkdir -p /home/user/workspace" >> Dockerfile -# pip install is done here as non-root - - ${{ if gt(length(parameters.pipModules), 0) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Extra Python Modules to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "RUN pip install -v ${{ join(' ', parameters.pipModules) }}" >> Dockerfile -# copy common directories - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Copy base directories to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - if [ -d "$(Agent.BuildDirectory)/rocm" ]; then - echo "COPY rocm /home/user/workspace/rocm" >> Dockerfile - fi - if [ -d "$(Build.SourcesDirectory)" ] && [ "$(Build.SourcesDirectory)" != "" ]; then - echo "COPY s /home/user/workspace/src" >> Dockerfile - fi - if [ -d "$(Build.BinariesDirectory)" ] && [ "$(Build.BinariesDirectory)" != "" ]; then - echo "COPY b /home/user/workspace/bin" >> Dockerfile - fi -# copy extra directories, if applicable to the job - - ${{ each extraCopyDirectory in parameters.extraCopyDirectories }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Copy ${{ extraCopyDirectory }} to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - if [ -d "${{ extraCopyDirectory }}" ]; then - echo "COPY ${{ extraCopyDirectory }} /home/user/workspace/${{ extraCopyDirectory }}" >> Dockerfile - fi -# setup ldconfig - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: ldconfig to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "USER root" >> Dockerfile - echo "RUN echo /home/user/workspace/rocm/lib | tee /etc/ld.so.conf.d/rocm-ci.conf" >> Dockerfile - echo "RUN echo /home/user/workspace/rocm/llvm/lib | tee -a /etc/ld.so.conf.d/rocm-ci.conf" >> Dockerfile - echo "RUN cat /etc/ld.so.conf.d/rocm-ci.conf" >> Dockerfile - echo "RUN ldconfig -v" >> Dockerfile -# create /opt/rocm symbolic link, if needed - - ${{ if eq(parameters.optSymLink, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: /opt/rocm symbolic link to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "USER root" >> Dockerfile - echo "RUN ln -s /home/user/workspace/rocm /opt/rocm" >> Dockerfile -# set environment variables needed for some python-based components - - ${{ if eq(parameters.pythonEnvVars, true) }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: python environment variables - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "USER root" >> Dockerfile - echo "ENV PYTHON_USER_SITE=$(python3 -m site --user-site)" >> Dockerfile - echo "ENV PYTHON_DIST_PACKAGES=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()[\"purelib\"])')" >> Dockerfile - echo "ENV PYBIND11_PATH=$(python3 -c 'import pybind11; print(pybind11.get_cmake_dir())')" >> Dockerfile -# add to PATH environment variable - - ${{ if ne(parameters.extraPaths, '') }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Add to PATH in Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "ENV PATH='$PATH:${{ parameters.extraPaths }}'" >> Dockerfile -# set extra environment variables, if applicable to the job -# use ::: as delimiter to allow for colons to be in the environment variable values - - ${{ each extraEnvVar in parameters.extraEnvVars }}: - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Set ${{ extraEnvVar }} to Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: echo "ENV ${{ split(extraEnvVar, ':::')[0] }}='${{ split(extraEnvVar, ':::')[1] }}'" >> Dockerfile - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: Print Dockerfile - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: cat Dockerfile - - task: Docker@2 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - inputs: - containerRegistry: 'ContainerService3' - ${{ if ne(parameters.gpuTarget, '') }}: - repository: '$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}' - ${{ else }}: - repository: '$(Build.DefinitionName)-${{ parameters.environment }}' - Dockerfile: '$(Pipeline.Workspace)/Dockerfile' - buildContext: '$(Pipeline.Workspace)' - - task: Bash@3 - condition: or(and(failed(), ${{ not(containsValue(parameters.dockerSkipGfx, parameters.gpuTarget)) }}), ${{ eq(parameters.forceDockerCreation, true) }}) - displayName: "!! Docker Image URL !!" - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - ${{ if ne(parameters.gpuTarget, '') }}: - script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}-${{ parameters.gpuTarget }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]' - ${{ else }}: - script: echo "rocmexternalcicd.azurecr.io/$(Build.DefinitionName)-${{ parameters.environment }}:$(Build.BuildId)" | tr '[:upper:]' '[:lower:]' diff --git a/.azuredevops/templates/steps/gh-actions-post.yml b/.azuredevops/templates/steps/gh-actions-post.yml deleted file mode 100644 index ba0344809..000000000 --- a/.azuredevops/templates/steps/gh-actions-post.yml +++ /dev/null @@ -1,34 +0,0 @@ -parameters: -- name: repoName - type: string - default: '' -- name: eventType - type: string - default: '' -- name: azureBuildNumber - type: string - default: '' -- name: githubActionsToken - type: string - default: '' - -steps: -- task: Bash@3 - name: ghActionsPost - displayName: Post a request to a github repository with a repository_dispatch workflow - continueOnError: true - inputs: - targetType: inline - workingDirectory: $(Build.SourcesDirectory) - script: | - curl -L -X POST \ - -H "Accept: application/vnd.github+json" \ - -H "Authorization: Bearer ${{ parameters.githubActionsToken }}" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - https://api.github.com/repos/${{ parameters.repoName }}/dispatches \ - -d '{ - "event_type": "${{ parameters.eventType }}", - "client_payload": { - "azure-job-id": "${{ parameters.azureBuildNumber }}" - } - }' \ No newline at end of file diff --git a/.azuredevops/templates/steps/gpu-diagnostics.yml b/.azuredevops/templates/steps/gpu-diagnostics.yml deleted file mode 100644 index 60bdac670..000000000 --- a/.azuredevops/templates/steps/gpu-diagnostics.yml +++ /dev/null @@ -1,54 +0,0 @@ -# Diagnostics for GPU-enabled systems -parameters: -- name: runRocminfo - type: boolean - default: true - -steps: -- ${{ if eq(parameters.runRocminfo, true) }}: - - task: Bash@3 - displayName: 'rocminfo' - continueOnError: true - inputs: - targetType: inline - script: $(Agent.BuildDirectory)/rocm/bin/rocminfo || true - - task: Bash@3 - displayName: 'rocm_agent_enumerator' - continueOnError: true - inputs: - targetType: inline - script: $(Agent.BuildDirectory)/rocm/bin/rocm_agent_enumerator || true -- task: Bash@3 - displayName: 'List DRI devices' - continueOnError: true - inputs: - targetType: inline - script: ls -la /dev/dri/ || true -- task: Bash@3 - displayName: 'List amdgpu/rocm/mesa packages' - continueOnError: true - inputs: - targetType: inline - script: apt list --installed | grep -E 'amdgpu|rocm|mesa' || true -- task: Bash@3 - displayName: 'List GPU processes' - continueOnError: true - inputs: - targetType: inline - script: | - ls /sys/class/kfd/kfd/proc/ || true - sudo lsof | grep amdgpu || true -- task: Bash@3 - displayName: 'System snapshot' - continueOnError: true - inputs: - targetType: inline - script: top -bn1 || true -- task: Bash@3 - displayName: 'List dmesg' - continueOnError: true - inputs: - targetType: inline - script: | - echo 'rocm-ci: $(Build.DefinitionName) $(System.DefinitionId)' | sudo tee /dev/kmsg || true - sudo dmesg || true diff --git a/.azuredevops/templates/steps/local-artifact-download.yml b/.azuredevops/templates/steps/local-artifact-download.yml deleted file mode 100644 index d9c9fe328..000000000 --- a/.azuredevops/templates/steps/local-artifact-download.yml +++ /dev/null @@ -1,60 +0,0 @@ -# The default behaviour of this template is to download artifacts from previous jobs in the current pipeline -# It can be overridden to download any artifact from any pipeline, given the appropriate build/pipeline IDs - -parameters: - - name: os - type: string - default: 'ubuntu2204' - - name: gpuTarget - type: string - default: '' - - name: preTargetFilter - type: string - default: '' - - name: postTargetFilter - type: string - default: '' - # Set buildType to specific to download artifacts from previous builds, useful for saving time when debugging - - name: buildType - type: string - default: current - values: - - current - - specific - # One of the below params must be set if buildType == specific - # Set definitionId to the pipeline ID or buildId to the specific build ID - - name: definitionId - type: string - default: 0 - - name: buildId - type: string - default: 0 - -steps: - - task: DownloadPipelineArtifact@2 - displayName: Download ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}} - retryCountOnTaskFailure: 3 - inputs: - ${{ if eq(parameters.buildType, 'specific') }}: - buildType: specific - buildVersionToDownload: specific - project: ROCm-CI - ${{ if ne(parameters.definitionId, 0) }}: - definition: ${{ parameters.definitionId }} - ${{ if ne(parameters.buildId, 0) }}: - buildId: ${{ parameters.buildId }} - itemPattern: '**/*${{ parameters.preTargetFilter }}*${{ parameters.os }}_${{ parameters.gpuTarget }}*${{ parameters.postTargetFilter }}*' - targetPath: $(Pipeline.Workspace)/d - - task: ExtractFiles@1 - displayName: Extract ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}} - inputs: - archiveFilePatterns: '$(Pipeline.Workspace)/d/**/*.tar.gz' - destinationFolder: '$(Agent.BuildDirectory)/rocm' - cleanDestinationFolder: false - overwriteExistingFiles: true - - task: DeleteFiles@1 - displayName: Clean up ${{ parameters.preTargetFilter}}*${{ parameters.os }}_${{ parameters.gpuTarget}}*${{ parameters.postTargetFilter}} - inputs: - SourceFolder: '$(Pipeline.Workspace)/d' - Contents: '/**/*.tar.xz' - RemoveDotFiles: true diff --git a/.azuredevops/templates/steps/manifest.yml b/.azuredevops/templates/steps/manifest.yml deleted file mode 100644 index 7a2a7182c..000000000 --- a/.azuredevops/templates/steps/manifest.yml +++ /dev/null @@ -1,185 +0,0 @@ -parameters: -- name: componentName - type: string - default: $(Build.DefinitionName) -- name: sparseCheckoutDir - type: string - default: '' -- name: gpuTarget - type: string - default: '' -- name: artifactName - type: string - default: drop -- name: os - type: string - default: 'ubuntu2204' - -steps: -- task: Bash@3 - displayName: Create manifest.json - condition: always() - continueOnError: true - inputs: - targetType: inline - script: | - ${{ iif(or(eq(parameters.os, 'ubuntu2204'), eq(parameters.os, 'ubuntu2404')), 'sudo apt-get install -y jq', '') }} - - # RESOURCES_REPOSITORIES is a runtime variable (not an env var!) that contains quotations and newlines - # So we need to save it to a file to properly preserve its formatting and contents - cat < resources.repositories - $(RESOURCES_REPOSITORIES) - EOF - echo "Value of resources.repositories:" - cat resources.repositories - - IS_TAG_BUILD=$(jq 'has("release_repo")' resources.repositories) - IS_AOMP_BUILD=$(jq 'has("aomp_repo")' resources.repositories) - IS_MATHLIBS_BUILD=$(jq 'has("libraries_repo")' resources.repositories) - - if [ "$IS_TAG_BUILD" = "true" ] || [ "$IS_AOMP_BUILD" = "true" ] || [ "$IS_MATHLIBS_BUILD" = "true" ]; then - exclude_keys=("pipelines_repo" "self") # Triggered by a file under ROCm/ROCm - else - exclude_keys=("pipelines_repo") # Triggered by a file under a component repo - fi - - exclude_keys_string=$(printf '"%s", ' "${exclude_keys[@]}") - exclude_keys_string=${exclude_keys_string%, } - - current=$(jq --argjson exclude "[$exclude_keys_string]" ' - reduce to_entries[] as $entry ( - []; - if ($exclude | index($entry.key) | not) - then . + [ - { - buildNumber: "$(Build.BuildNumber)", - buildId: "$(Build.BuildId)", - repoId: $entry.value.id, - repoName: $entry.value.name, - repoSparse: "${{ parameters.sparseCheckoutDir }}", - repoRef: $entry.value.ref, - repoUrl: $entry.value.url, - repoVersion: $entry.value.version - } - ] - else . - end - ) - ' resources.repositories) - - dependencies=() - for manifest_file in $(Pipeline.Workspace)/d/**/manifest_*.json; do - echo "Processing $manifest_file" - file=$(jq -c '.current | if type=="array" then .[] else . end' "$manifest_file") - while IFS= read -r line; do - dependencies+=("$line") - done <<< "$file" - done - dependencies_json=$(printf '%s\n' "${dependencies[@]}" | jq -s '.') - - manifest_filename="manifest_${{ parameters.componentName }}_$(Build.BuildId)_$(Build.BuildNumber)_${{ parameters.os }}_${{ parameters.gpuTarget }}_${{ parameters.artifactName }}" - echo "##vso[task.setvariable variable=manifest_filename]$manifest_filename" - manifest_json=$(Build.ArtifactStagingDirectory)/$manifest_filename.json - - jq -n \ - --argjson current "$current" \ - --argjson dependencies "$dependencies_json" \ - '{ - current: $current, - dependencies: $dependencies - }' > $manifest_json - - current_rows=$(cat $manifest_json | \ - jq -r ' - .current[] | - "" + .buildNumber + "" + - "" + .buildId + "" + - "" + .repoName + "" + - "" + .repoSparse + "" + - "" + .repoRef + "" + - "" + .repoVersion + "" - ') - current_rows=$(echo $current_rows) - echo "##vso[task.setvariable variable=current_rows;]$current_rows" - - dependencies_rows=$(cat $manifest_json | \ - jq -r ' - .dependencies[] | - "" + .buildNumber + "" + - "" + .buildId + "" + - "" + .repoName + "" + - "" + .repoSparse + "" + - "" + .repoRef + "" + - "" + .repoVersion + "" - ') - dependencies_rows=$(echo $dependencies_rows) - echo "##vso[task.setvariable variable=dependencies_rows;]$dependencies_rows" -- task: Bash@3 - displayName: Print manifest.json - condition: always() - continueOnError: true - inputs: - targetType: inline - script: | - cat $(Build.ArtifactStagingDirectory)/$(manifest_filename).json -- task: Bash@3 - displayName: Create manifest.html - condition: always() - continueOnError: true - inputs: - targetType: inline - script: | - manifest_html="$(Build.ArtifactStagingDirectory)/$(manifest_filename).html" - cat < $manifest_html - -

$(manifest_filename)

-

Current

- - - - - - - - - - $(current_rows) -
Build NumberBuild IDRepo NameRepo SparseRepo RefRepo Version
-

Dependencies

- - - - - - - - - - $(dependencies_rows) -
Build NumberBuild IDRepo NameRepo SparseRepo RefRepo Version
- - EOF - - sed -i -e 's| |\n|g' \ - -e 's||\n |g' \ - -e 's||\n |g' \ - -e 's||\n|g' $manifest_html - - cat $manifest_html -- task: PublishHtmlReport@1 - displayName: Publish manifest.html - condition: always() - continueOnError: true - inputs: - tabName: Manifest - reportDir: $(Build.ArtifactStagingDirectory)/$(manifest_filename).html -- task: Bash@3 - displayName: Save manifest artifact file name - condition: always() - continueOnError: true - inputs: - workingDirectory: $(Pipeline.Workspace) - targetType: inline - script: | - echo "$(manifest_filename).html" >> pipelineArtifacts.txt - echo "$(manifest_filename).json" >> pipelineArtifacts.txt diff --git a/.azuredevops/templates/steps/miopen-get-ck-build.yml b/.azuredevops/templates/steps/miopen-get-ck-build.yml deleted file mode 100644 index 03803e3ee..000000000 --- a/.azuredevops/templates/steps/miopen-get-ck-build.yml +++ /dev/null @@ -1,105 +0,0 @@ -parameters: -- name: gpuTarget - type: string - default: '' - -steps: -- task: Bash@3 - name: downloadCKBuild - displayName: Download specific CK build - retryCountOnTaskFailure: 3 - env: - CXX: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang++ - CC: $(Agent.BuildDirectory)/rocm/llvm/bin/amdclang - inputs: - targetType: inline - workingDirectory: $(Agent.BuildDirectory)/s - script: | - AZ_API="https://dev.azure.com/ROCm-CI/ROCm-CI/_apis" - GH_API="https://api.github.com/repos/ROCm" - EXIT_CODE=0 - - # Try to find an Azure build for the specific CK commit called out in MIOpen's requirements.txt - CK_COMMIT=$(grep 'ROCm/composable_kernel' requirements.txt | sed -E 's/.*@([a-f0-9]{40}).*/\1/') - echo "Fetching CK build ID for commit $CK_COMMIT" - CK_CHECKS_URL="$GH_API/composable_kernel/commits/${CK_COMMIT}/check-runs" - CK_BUILD_ID=$(curl -s $CK_CHECKS_URL | \ - jq '.check_runs[] | select(.name == "composable_kernel" and .app.slug == "azure-pipelines" and .conclusion == "success") | .details_url' | \ - tr -d '"' | grep -oP 'buildId=\K\d+') - - # If none found, use latest successful CK build instead - if [[ -z "$CK_BUILD_ID" ]]; then - echo "Did not find specific CK build ID" - LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1" - CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id') - echo "Found latest CK build ID: $CK_BUILD_ID" - EXIT_CODE=1 - else - echo "Found specific CK build ID: $CK_BUILD_ID" - fi - - AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1" - ARTIFACT_URL=$(curl -s $AZURE_URL | \ - jq --arg gfx "${{ parameters.gpuTarget }}" ' - .value - | map(select(.name | test($gfx))) - | max_by(.name | capture("_(?\\d+)").dropNumber | tonumber) - | .resource.downloadUrl - ' | \ - tr -d '"') - - # If using the specific CK commit and it doesn't have any valid artifacts, use latest successful CK build instead - if { [[ -z "$ARTIFACT_URL" ]] || [[ "$ARTIFACT_URL" == "null" ]]; } && [[ $EXIT_CODE -eq 0 ]]; then - echo "Did not find valid specific CK build artifact" - LATEST_BUILD_URL="$AZ_API/build/builds?definitions=$(COMPOSABLE_KERNEL_PIPELINE_ID)&statusFilter=completed&resultFilter=succeeded&\$top=1&api-version=7.1" - CK_BUILD_ID=$(curl -s $LATEST_BUILD_URL | jq '.value[0].id') - echo "Found latest CK build ID: $CK_BUILD_ID" - AZURE_URL="$AZ_API/build/builds/$CK_BUILD_ID/artifacts?api-version=7.1" - ARTIFACT_URL=$(curl -s $AZURE_URL | \ - jq --arg os "ubuntu2204" --arg gfx "${{ parameters.gpuTarget }}" ' - .value - | map(select(.name | test($os) and test($gfx))) - | max_by(.name | capture("_(?\\d+)").dropNumber | tonumber) - | .resource.downloadUrl - ' | \ - tr -d '"') - EXIT_CODE=2 - fi - - echo "Downloading CK artifact from $ARTIFACT_URL" - - RETRIES=0 - MAX_RETRIES=5 - SUCCESS=false - while [ $RETRIES -lt $MAX_RETRIES ]; do - wget -nv $ARTIFACT_URL -O $(System.ArtifactsDirectory)/ck.zip && \ - unzip $(System.ArtifactsDirectory)/ck.zip -d $(System.ArtifactsDirectory) && \ - mkdir -p $(Agent.BuildDirectory)/rocm && \ - tar -zxvf $(System.ArtifactsDirectory)/composable_kernel*/*.tar.gz -C $(Agent.BuildDirectory)/rocm && \ - rm -r $(System.ArtifactsDirectory)/ck.zip $(System.ArtifactsDirectory)/composable_kernel* - - if [ $? -eq 0 ]; then - SUCCESS=true - echo "Successfully downloaded CK." - break - else - RETRIES=$((RETRIES + 1)) - echo "Failed to download CK on attempt $RETRIES/$MAX_RETRIES, retrying..." - sleep 1 - fi - done - - if [ "$SUCCESS" = false ]; then - echo "ERROR: failed to download CK after $MAX_RETRIES attempts." - exit 1 - fi - - if [[ $EXIT_CODE -ne 0 ]]; then - BUILD_COMMIT=$(curl -s $AZ_API/build/builds/$CK_BUILD_ID | jq '.sourceVersion' | tr -d '"') - if [[ $EXIT_CODE -eq 1 ]]; then - echo "WARNING: couldn't find a CK build for commit $CK_COMMIT" - elif [[ $EXIT_CODE -eq 2 ]]; then - echo "WARNING: couldn't find a valid CK artifact for commit $CK_COMMIT" - fi - echo "Instead used latest CK build $CK_BUILD_ID for commit $BUILD_COMMIT" - fi diff --git a/.azuredevops/templates/steps/preamble.yml b/.azuredevops/templates/steps/preamble.yml deleted file mode 100644 index 5caafbb91..000000000 --- a/.azuredevops/templates/steps/preamble.yml +++ /dev/null @@ -1,66 +0,0 @@ -# build artifacts not automatically cleaned up -# force cleanup, always -# also display installed components and packages -steps: -- task: Bash@3 - displayName: OS Version - inputs: - targetType: inline - script: cat /etc/os-release -- task: Bash@3 - displayName: List installed packages (apt, dnf, or yum) - inputs: - targetType: inline - script: | - if command -v apt >/dev/null 2>&1; then - echo "Listing installed packages with apt:" - apt list --installed - elif command -v dnf >/dev/null 2>&1; then - echo "Listing installed packages with dnf:" - dnf list installed - elif command -v yum >/dev/null 2>&1; then - echo "Listing installed packages with yum:" - yum list installed - else - echo "No supported package manager found (apt, dnf, yum)." - fi -- task: Bash@3 - displayName: Print Python version - inputs: - targetType: inline - script: python3 --version -- task: Bash@3 - displayName: List Python packages - inputs: - targetType: inline - script: python3 -m pip list -v -# The "Azure Pipelines" agents install CMake in multiple ways, including a standalone install into /usr/local/bin: -# https://github.com/actions/runner-images/blob/6d939a3ab352a54a021dd67b071577287b6f14a5/images/ubuntu/scripts/build/install-cmake.sh#L27 -# This standalone CMake does not have a fixed version, and is not the same version as the one installed by the package manager -# We want to use the CMake installed by the package manager, so just remove any bins from the standalone install -- task: Bash@3 - displayName: Remove CMake binaries from /usr/local/bin - inputs: - targetType: inline - script: | - sudo rm -f /usr/local/bin/ccmake - sudo rm -f /usr/local/bin/cmake - sudo rm -f /usr/local/bin/cmake-gui -- task: Bash@3 - displayName: Print CMake info - inputs: - targetType: inline - script: | - cmake --version - which cmake -- task: DeleteFiles@1 - displayName: 'Cleanup checkout space' - inputs: - SourceFolder: '$(Agent.BuildDirectory)/s' - Contents: '**/*' -- task: DeleteFiles@1 - displayName: 'Cleanup Staging Area' - inputs: - SourceFolder: '$(Build.ArtifactStagingDirectory)' - Contents: '/**/*' - RemoveDotFiles: true diff --git a/.azuredevops/templates/steps/test.yml b/.azuredevops/templates/steps/test.yml deleted file mode 100644 index c03850116..000000000 --- a/.azuredevops/templates/steps/test.yml +++ /dev/null @@ -1,65 +0,0 @@ -parameters: -- name: componentName - type: string - default: '' -- name: os - type: string - default: ubuntu2204 -- name: testDir - type: string - default: build -- name: testExecutable - type: string - default: ctest -- name: testParameters - type: string - default: --extra-verbose --output-on-failure --force-new-ctest-process --output-junit test_output.xml -- name: extraTestParameters - type: string - default: '' -- name: testOutputFile - type: string - default: test_output.xml -- name: testOutputFormat - type: string - default: JUnit - values: - - JUnit - - NUnit - - VSTest - - XUnit - - CTest -- name: testPublishResults - type: boolean - default: true -- name: allowComponentTestFailure - type: object - default: - - amdsmi - - HIPIFY - - rocm_smi_lib - - roctracer - # the following do not use this template but allow test failures, included for completeness - - aomp - - ROCgdb - -steps: -# run test, continue on failure to publish results -# and to publish build artifacts -- task: Bash@3 - displayName: '${{ parameters.componentName }} Test' - continueOnError: ${{ containsValue(parameters.allowComponentTestFailure, parameters.componentName) }} - inputs: - targetType: inline - script: | - ${{ iif(eq(parameters.os, 'almalinux8'), 'source /opt/rh/gcc-toolset-14/enable', '') }} - ${{ parameters.testExecutable }} ${{ parameters.testParameters }} ${{ parameters.extraTestParameters }} - workingDirectory: ${{ parameters.testDir }} -- ${{ if parameters.testPublishResults }}: - - task: PublishTestResults@2 - displayName: '${{ parameters.componentName }} Publish Results' - condition: succeededOrFailed() - inputs: - searchFolder: ${{ parameters.testDir }} - testResultsFormat: ${{ parameters.testOutputFormat }} - testResultsFiles: '**/${{ parameters.testOutputFile }}' diff --git a/.azuredevops/variables-global.yml b/.azuredevops/variables-global.yml deleted file mode 100644 index 831e2cb47..000000000 --- a/.azuredevops/variables-global.yml +++ /dev/null @@ -1,47 +0,0 @@ -# specify non-secret global variables reused across pipelines here - -variables: -- name: RESOURCES_REPOSITORIES - value: $[ convertToJson(resources.repositories) ] -- name: CCACHE_DIR - value: $(Pipeline.Workspace)/ccache -- name: CI_ROOT_PATH - value: /.azuredevops -- name: CI_COMPONENT_PATH - value: ${{ variables.CI_ROOT_PATH }}/components -- name: CI_TEMPLATE_PATH - value: ${{ variables.CI_ROOT_PATH }}/templates -- name: CI_DEPENDENCIES_PATH - value: ${{ variables.CI_ROOT_PATH }}/dependencies -- name: BASE_BUILD_POOL - value: ubuntu-22.04 -- name: LOW_BUILD_POOL - value: rocm-ci_low_build_pool -- name: MEDIUM_BUILD_POOL - value: rocm-ci_medium_build_pool -- name: HIGH_BUILD_POOL - value: rocm-ci_high_build_pool -- name: ULTRA_BUILD_POOL - value: rocm-ci_ultra_build_pool -- name: GFX942_TEST_POOL - value: gfx942_test_pool -- name: GFX90A_TEST_POOL - value: gfx90a_test_pool -- name: LATEST_RELEASE_VERSION - value: 6.4.3 -- name: REPO_RADEON_VERSION - value: 6.4.3 -- name: NEXT_RELEASE_VERSION - value: 7.0.0 -- name: LATEST_RELEASE_TAG - value: rocm-6.4.3 -- name: DOCKER_SKIP_GFX - value: gfx90a -- name: COMPOSABLE_KERNEL_PIPELINE_ID - value: 86 -- name: HALF560_PIPELINE_ID - value: 68 -- name: HALF560_BUILD_ID - value: 621 -- name: HIP_PIPELINE_ID - value: 93