From 6f8a002c23728fc42a60933a8a1669e78fecf327 Mon Sep 17 00:00:00 2001 From: alexxu-amd <159800977+alexxu-amd@users.noreply.github.com> Date: Thu, 9 May 2024 00:57:29 -0400 Subject: [PATCH] Tag build pipelines for four ROCm repos (#3096) -rdc -rpp -hipTensor -composable_kernel Co-authored-by: amd-jmacaran joseph.macaranas@amd.com Co-authored-by: abhimeda abhinav.meda@amd.com --- .azuredevops/components/composable_kernel.yml | 43 ++++++++++++ .azuredevops/components/hipTensor.yml | 60 +++++++++++++++++ .azuredevops/components/rdc.yml | 65 +++++++++++++++++++ .azuredevops/components/rpp.yml | 45 +++++++++++++ .azuredevops/tag-builds/composable_kernel.yml | 29 +++++++++ .azuredevops/tag-builds/hipTensor.yml | 29 +++++++++ .azuredevops/tag-builds/rdc.yml | 29 +++++++++ .azuredevops/tag-builds/rpp.yml | 29 +++++++++ 8 files changed, 329 insertions(+) create mode 100644 .azuredevops/components/composable_kernel.yml create mode 100644 .azuredevops/components/hipTensor.yml create mode 100644 .azuredevops/components/rdc.yml create mode 100644 .azuredevops/components/rpp.yml create mode 100644 .azuredevops/tag-builds/composable_kernel.yml create mode 100644 .azuredevops/tag-builds/hipTensor.yml create mode 100644 .azuredevops/tag-builds/rdc.yml create mode 100644 .azuredevops/tag-builds/rpp.yml diff --git a/.azuredevops/components/composable_kernel.yml b/.azuredevops/components/composable_kernel.yml new file mode 100644 index 000000000..ba872d184 --- /dev/null +++ b/.azuredevops/components/composable_kernel.yml @@ -0,0 +1,43 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: aptPackages + type: object + default: + - cmake + - ninja-build + - git + +jobs: +- job: composable_kernel + timeoutInMinutes: 2400 + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: ${{ variables.CLOUD_BUILD_POOL }} + container: + image: ${{ variables.DOCKER_IMAGE_NAME }}:${{ variables.LATEST_DOCKER_VERSION }} + workspace: + clean: all + steps: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies.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: >- + -DCMAKE_CXX_COMPILER=hipcc + -DCMAKE_BUILD_TYPE=Release + -DBUILD_CLIENTS=ON + -DGPU_TARGETS=gfx1100 + -GNinja + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + \ No newline at end of file diff --git a/.azuredevops/components/hipTensor.yml b/.azuredevops/components/hipTensor.yml new file mode 100644 index 000000000..1b2a44a9f --- /dev/null +++ b/.azuredevops/components/hipTensor.yml @@ -0,0 +1,60 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: aptPackages + type: object + default: + - cmake + - ninja-build + - composablekernel-dev + - git + +jobs: +- job: hipTensor + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: + vmImage: ${{ variables.LOW_END_BUILD_POOL }} + container: + image: ${{ variables.DOCKER_IMAGE_NAME }}:${{ variables.LATEST_DOCKER_VERSION }} + workspace: + clean: all + steps: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies.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 }} + # CI case: download latest default branch build + - ${{ if eq(parameters.checkoutRef, '') }}: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml + parameters: + componentName: llvm-project + branchName: amd-staging + pipelineId: $(llvm-project-pipeline-id) + # manual build case: triggered by ROCm/ROCm repo + - ${{ if ne(parameters.checkoutRef, '') }}: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-download.yml + parameters: + componentName: \tag-builds\llvm-project + pipelineId: $(llvm-project-tagged-pipeline-id) + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml + parameters: + extraBuildFlags: >- + -DCMAKE_CXX_COMPILER=hipcc + -DCMAKE_CC_COMPILER=hipcc + -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm/llvm" + -DROCM_PATH="$(Agent.BuildDirectory)/rocm" + -DCMAKE_BUILD_TYPE=Release + -DHIPTENSOR_BUILD_TESTS=OFF + -DAMDGPU_TARGETS=gfx1100 + -GNinja + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + \ No newline at end of file diff --git a/.azuredevops/components/rdc.yml b/.azuredevops/components/rdc.yml new file mode 100644 index 000000000..4ac7d8031 --- /dev/null +++ b/.azuredevops/components/rdc.yml @@ -0,0 +1,65 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: aptPackages + type: object + default: + - cmake + - ninja-build + - git + - libcap-dev + - protobuf-compiler + - build-essential + - autoconf + - libtool + - pkg-config + +jobs: +- job: rdc + timeoutInMinutes: 200 + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: ${{ variables.CLOUD_BUILD_POOL }} + container: + image: ${{ variables.DOCKER_IMAGE_NAME }}:${{ variables.LATEST_DOCKER_VERSION }} + workspace: + clean: all + steps: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies.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 }} +# Build grpc + - task: Bash@3 + displayName: 'git clone grpc' + inputs: + targetType: inline + script: git clone -b v1.61.0 https://github.com/grpc/grpc --depth=1 --shallow-submodules --recurse-submodules + workingDirectory: $(Build.SourcesDirectory) + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml + parameters: + cmakeBuildDir: $(Build.SourcesDirectory)/grpc/build + installDir: $(Build.SourcesDirectory)/bin + 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/build-cmake.yml + parameters: + extraBuildFlags: >- + -DGRPC_ROOT="$(Build.SourcesDirectory)/bin" + + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + \ No newline at end of file diff --git a/.azuredevops/components/rpp.yml b/.azuredevops/components/rpp.yml new file mode 100644 index 000000000..105657d36 --- /dev/null +++ b/.azuredevops/components/rpp.yml @@ -0,0 +1,45 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: aptPackages + type: object + default: + - cmake + - ninja-build + - clang + - half + - libomp-dev + +jobs: +- job: rpp + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: + vmImage: ${{ variables.LOW_END_BUILD_POOL }} + container: + image: ${{ variables.DOCKER_IMAGE_NAME }}:${{ variables.LATEST_DOCKER_VERSION }} + workspace: + clean: all + steps: + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/dependencies.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: >- + -DCMAKE_CXX_COMPILER=hipcc + -DCMAKE_BUILD_TYPE=Release + -DBUILD_CLIENTS=ON + -L + -GNinja + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + \ No newline at end of file diff --git a/.azuredevops/tag-builds/composable_kernel.yml b/.azuredevops/tag-builds/composable_kernel.yml new file mode 100644 index 000000000..be53ded70 --- /dev/null +++ b/.azuredevops/tag-builds/composable_kernel.yml @@ -0,0 +1,29 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +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@pipelines_repo + parameters: + checkoutRepo: release_repo + checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/hipTensor.yml b/.azuredevops/tag-builds/hipTensor.yml new file mode 100644 index 000000000..784ae947d --- /dev/null +++ b/.azuredevops/tag-builds/hipTensor.yml @@ -0,0 +1,29 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +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@pipelines_repo + parameters: + checkoutRepo: release_repo + checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rdc.yml b/.azuredevops/tag-builds/rdc.yml new file mode 100644 index 000000000..0f7167e8f --- /dev/null +++ b/.azuredevops/tag-builds/rdc.yml @@ -0,0 +1,29 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +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@pipelines_repo + parameters: + checkoutRepo: release_repo + checkoutRef: ${{ parameters.checkoutRef }} diff --git a/.azuredevops/tag-builds/rpp.yml b/.azuredevops/tag-builds/rpp.yml new file mode 100644 index 000000000..3a5791b09 --- /dev/null +++ b/.azuredevops/tag-builds/rpp.yml @@ -0,0 +1,29 @@ +variables: +- group: common +- template: /.azuredevops/variables-global.yml@pipelines_repo + +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@pipelines_repo + parameters: + checkoutRepo: release_repo + checkoutRef: ${{ parameters.checkoutRef }}