From 9bd0cf605bb8c82940fcb17a184890388bc758ec Mon Sep 17 00:00:00 2001 From: Joseph Macaranas <145489236+amd-jmacaran@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:14:36 -0400 Subject: [PATCH] External CI: Support for rocPyDecode (#3631) --- .azuredevops/components/rocPyDecode.yml | 87 +++++++++++++++++++++++++ .azuredevops/tag-builds/rocPyDecode.yml | 29 +++++++++ 2 files changed, 116 insertions(+) create mode 100644 .azuredevops/components/rocPyDecode.yml create mode 100644 .azuredevops/tag-builds/rocPyDecode.yml diff --git a/.azuredevops/components/rocPyDecode.yml b/.azuredevops/components/rocPyDecode.yml new file mode 100644 index 000000000..2383dabd5 --- /dev/null +++ b/.azuredevops/components/rocPyDecode.yml @@ -0,0 +1,87 @@ +parameters: +- name: checkoutRepo + type: string + default: 'self' +- name: checkoutRef + type: string + default: '' +- name: aptPackages + type: object + default: + - python3-pip + - cmake + - ninja-build + - pkg-config + - ffmpeg + - libavcodec-dev + - libavformat-dev + - libavutil-dev + - libva-dev + - libdrm-dev + - pybind11-dev + - python3-pybind11 + - libdlpack-dev +- name: pipModules + type: object + default: + - -i + - https://test.pypi.org/simple + - hip-python +- name: rocmDependencies + type: object + default: + - rocm-cmake + - llvm-project + - ROCR-Runtime + - clr + - rocminfo + - rocm-core + - rocprofiler-register + - rocDecode + +jobs: +- job: rocPyDecode + variables: + - group: common + - template: /.azuredevops/variables-global.yml + pool: + vmImage: ${{ variables.BASE_BUILD_POOL }} + workspace: + clean: all + strategy: + matrix: + gfx942: + JOB_GPU_TARGET: gfx942 + gfx90a: + JOB_GPU_TARGET: gfx90a + 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: + dependencyList: ${{ parameters.rocmDependencies }} + gpuTarget: $(JOB_GPU_TARGET) + # CI case: download latest default branch build + ${{ if eq(parameters.checkoutRef, '') }}: + dependencySource: staging + # manual build case: triggered by ROCm/ROCm repo + ${{ elseif ne(parameters.checkoutRef, '') }}: + dependencySource: tag-builds + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml + parameters: + extraBuildFlags: >- + -DROCM_PATH=$(Agent.BuildDirectory)/rocm + -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm + -DCMAKE_BUILD_TYPE=Release + -DAMDGPU_TARGETS=$(JOB_GPU_TARGET) + -DCMAKE_INSTALL_PREFIX_PYTHON=$(Build.BinariesDirectory) + -GNinja + - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml + parameters: + gpuTarget: $(JOB_GPU_TARGET) diff --git a/.azuredevops/tag-builds/rocPyDecode.yml b/.azuredevops/tag-builds/rocPyDecode.yml new file mode 100644 index 000000000..6aa7013e9 --- /dev/null +++ b/.azuredevops/tag-builds/rocPyDecode.yml @@ -0,0 +1,29 @@ +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 }}