mirror of
https://github.com/ROCm/ROCm.git
synced 2026-04-05 03:01:17 -04:00
126 lines
4.3 KiB
YAML
126 lines
4.3 KiB
YAML
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
|
|
- libnuma-dev
|
|
- python3-dev
|
|
- python3-pip
|
|
- python-is-python3
|
|
- mesa-common-dev
|
|
- ccache
|
|
- cuda-toolkit
|
|
- cudnn
|
|
|
|
jobs:
|
|
- job: HIPIFY
|
|
variables:
|
|
- group: common
|
|
- template: /.azuredevops/variables-global.yml
|
|
- name: UPSTREAM_LLVM_GIT_URL
|
|
value: https://github.com/llvm/llvm-project.git
|
|
- name: UPSTREAM_LLVM_TAG
|
|
value: llvmorg-18.1.2
|
|
pool: ${{ variables.MEDIUM_BUILD_POOL }}
|
|
workspace:
|
|
clean: all
|
|
steps:
|
|
- task: Bash@3
|
|
displayName: 'Register CUDA packages'
|
|
inputs:
|
|
targetType: inline
|
|
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
|
|
- 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 upstream llvm-project
|
|
inputs:
|
|
targetType: inline
|
|
script: git clone $(UPSTREAM_LLVM_GIT_URL) --depth=1 --branch $(UPSTREAM_LLVM_TAG) --recurse-submodules
|
|
workingDirectory: $(Pipeline.Workspace)
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/checkout.yml
|
|
parameters:
|
|
checkoutRepo: ${{ parameters.checkoutRepo }}
|
|
- script: |
|
|
mkdir -p $(CCACHE_DIR)
|
|
echo "##vso[task.prependpath]/usr/lib/ccache:/usr/local/cuda/bin"
|
|
displayName: Update path for cuda and ccache
|
|
- task: Cache@2
|
|
displayName: Ccache caching
|
|
inputs:
|
|
key: HIPIFY | $(Agent.OS) | "$(UPSTREAM_LLVM_TAG)"
|
|
path: $(CCACHE_DIR)
|
|
restoreKeys: HIPIFY | $(Agent.OS)
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml
|
|
parameters:
|
|
componentName: upstream-llvm
|
|
cmakeBuildDir: $(Pipeline.Workspace)/llvm-project/llvm/build
|
|
cmakeSourceDir: $(Pipeline.Workspace)/llvm-project/llvm
|
|
installDir: $(Pipeline.Workspace)/llvm
|
|
extraBuildFlags: >-
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DLLVM_ENABLE_PROJECTS=clang
|
|
-DLLVM_INCLUDE_TESTS=OFF
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
|
-GNinja
|
|
- task: Bash@3
|
|
displayName: python install lit
|
|
inputs:
|
|
targetType: inline
|
|
script: sudo python3 $(Pipeline.Workspace)/llvm-project/llvm/utils/lit/setup.py install
|
|
- task: Bash@3
|
|
displayName: install FileCheck
|
|
inputs:
|
|
targetType: inline
|
|
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: HIPIFY
|
|
extraBuildFlags: >-
|
|
-DHIPIFY_CLANG_TESTS=ON
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
|
-DCUDA_DNN_ROOT_DIR=/usr/local/cuda/targets/x86_64-linux
|
|
-DCMAKE_PREFIX_PATH=$(Pipeline.Workspace)/llvm;/usr/local/cuda/targets/x86_64-linux/lib
|
|
-DLLVM_EXTERNAL_LIT=$(Pipeline.Workspace)/llvm-project/llvm/build/bin/llvm-lit
|
|
multithreadFlag: -- -j32
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-upload.yml
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml
|
|
parameters:
|
|
componentName: HIPIFY
|
|
testDir: $(Build.SourcesDirectory)/build
|
|
testExecutable: make
|
|
testParameters: test-hipify
|
|
testPublishResults: false
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/artifact-links.yml
|
|
- template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml
|
|
parameters:
|
|
aptPackages: ${{ parameters.aptPackages }}
|
|
environment: combined
|
|
registerCUDAPackages: true
|
|
extraCopyDirectories:
|
|
- llvm-project
|
|
extraEnvVars:
|
|
- UPSTREAM_LLVM_GIT_URL:::https://github.com/llvm/llvm-project.git
|
|
- UPSTREAM_LLVM_TAG:::llvmorg-18.1.2
|