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 - 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: hipTensor_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 }} - 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;$(Agent.BuildDirectory)/rocm/llvm -DCMAKE_CXX_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: 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: hipTensor_test_${{ job.target }} timeoutInMinutes: 90 dependsOn: hipTensor_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: hipTensor testDir: '$(Agent.BuildDirectory)/rocm/bin/hiptensor' testParameters: '-E ".*-extended" --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 }}