From c9b055d09e4218bce17aba1a8a71dd6aa14bbce7 Mon Sep 17 00:00:00 2001 From: Joseph Macaranas Date: Mon, 2 Jun 2025 00:45:20 -0400 Subject: [PATCH] refactor work --- .azuredevops/components/HIP.yml | 2 + .azuredevops/components/HIPIFY.yml | 3 ++ .azuredevops/components/ROCR-Runtime.yml | 9 +++++ .azuredevops/components/ROCdbgapi.yml | 1 + .azuredevops/components/amdsmi.yml | 3 +- .azuredevops/components/aomp.yml | 37 ------------------- .azuredevops/components/llvm-project.yml | 8 ++++ .azuredevops/components/rocDecode.yml | 5 +++ .azuredevops/components/rocm-cmake.yml | 3 ++ .azuredevops/components/rocm-core.yml | 1 + .azuredevops/components/rocm_smi_lib.yml | 2 + .azuredevops/components/rocminfo.yml | 3 ++ .../components/rocprofiler-register.yml | 1 + .azuredevops/components/roctracer.yml | 27 +++++--------- .azuredevops/templates/steps/build-cmake.yml | 3 ++ .../templates/steps/dependencies-dnf.yml | 12 +----- 16 files changed, 53 insertions(+), 67 deletions(-) diff --git a/.azuredevops/components/HIP.yml b/.azuredevops/components/HIP.yml index 6e8912efe..359953dec 100644 --- a/.azuredevops/components/HIP.yml +++ b/.azuredevops/components/HIP.yml @@ -107,6 +107,7 @@ jobs: componentName: clr cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build' cmakeSourceDir: '$(Build.SourcesDirectory)/clr' + os: ${{ job.os }} extraBuildFlags: >- -DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP -DHIP_PLATFORM=amd @@ -176,6 +177,7 @@ jobs: componentName: clr cmakeBuildDir: '$(Build.SourcesDirectory)/clr/build' cmakeSourceDir: '$(Build.SourcesDirectory)/clr' + os: ${{ job.os }} extraBuildFlags: >- -DHIP_COMMON_DIR=$(Build.SourcesDirectory)/HIP -DHIP_PLATFORM=nvidia diff --git a/.azuredevops/components/HIPIFY.yml b/.azuredevops/components/HIPIFY.yml index 8fe5b3ae8..4c2d56663 100644 --- a/.azuredevops/components/HIPIFY.yml +++ b/.azuredevops/components/HIPIFY.yml @@ -95,6 +95,7 @@ jobs: cmakeBuildDir: $(Pipeline.Workspace)/llvm-project/llvm/build cmakeSourceDir: $(Pipeline.Workspace)/llvm-project/llvm installDir: $(Pipeline.Workspace)/llvm + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=clang @@ -115,6 +116,7 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: componentName: HIPIFY + os: ${{ job.os }} extraBuildFlags: >- -DHIPIFY_CLANG_TESTS=ON -DCMAKE_BUILD_TYPE=Release @@ -136,6 +138,7 @@ jobs: testExecutable: make testParameters: 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 diff --git a/.azuredevops/components/ROCR-Runtime.yml b/.azuredevops/components/ROCR-Runtime.yml index cad009fb2..3a4a240be 100644 --- a/.azuredevops/components/ROCR-Runtime.yml +++ b/.azuredevops/components/ROCR-Runtime.yml @@ -82,6 +82,7 @@ jobs: os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DBUILD_SHARED_LIBS=ON @@ -150,6 +151,9 @@ jobs: targetType: 'inline' workingDirectory: $(Build.SourcesDirectory)/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 @@ -159,6 +163,7 @@ jobs: testExecutable: BIN_DIR=$(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/build ./run_kfdtest.sh testParameters: '-p core --gtest_output=xml:./test_output.xml --gtest_color=yes' testDir: $(Build.SourcesDirectory)/libhsakmt/tests/kfdtest/scripts + os: ${{ job.os }} - task: Bash@3 displayName: Build rocrtst continueOnError: true @@ -166,6 +171,9 @@ jobs: targetType: 'inline' workingDirectory: $(Build.SourcesDirectory)/rocrtst/suites/test_common script: | + 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 @@ -183,6 +191,7 @@ jobs: testExecutable: ./rocrtst64 testParameters: '--gtest_filter="-rocrtstNeg.Memory_Negative_Tests:rocrtstFunc.Memory_Max_Mem" --gtest_output=xml:./test_output.xml --gtest_color=yes' testDir: $(Build.SourcesDirectory)/rocrtst/suites/test_common/build/${{ job.target }} + os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml parameters: aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/components/ROCdbgapi.yml b/.azuredevops/components/ROCdbgapi.yml index adbd51ec6..244ef5c4d 100644 --- a/.azuredevops/components/ROCdbgapi.yml +++ b/.azuredevops/components/ROCdbgapi.yml @@ -60,6 +60,7 @@ jobs: os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm diff --git a/.azuredevops/components/amdsmi.yml b/.azuredevops/components/amdsmi.yml index fe73d3018..b206cd978 100644 --- a/.azuredevops/components/amdsmi.yml +++ b/.azuredevops/components/amdsmi.yml @@ -58,10 +58,10 @@ jobs: checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DBUILD_TESTS=ON -GNinja - os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml parameters: os: ${{ job.os }} @@ -106,6 +106,7 @@ jobs: testDir: '$(Agent.BuildDirectory)' testExecutable: './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 }} diff --git a/.azuredevops/components/aomp.yml b/.azuredevops/components/aomp.yml index be529a39b..21e862079 100644 --- a/.azuredevops/components/aomp.yml +++ b/.azuredevops/components/aomp.yml @@ -133,43 +133,6 @@ jobs: -DLLVM_MAIN_INCLUDE_DIR=$(Build.SourcesDirectory)/llvm-project/llvm/include -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$(Build.SourcesDirectory)/llvm-project/llvm/include -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: flang - cmakeBuildDir: '$(Build.SourcesDirectory)/flang/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/flang' - installDir: '$(Build.BinariesDirectory)/llvm' - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)" - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DLLVM_CONFIG=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config - -DFLANG_OPENMP_GPU_AMD=ON - -DFLANG_OPENMP_GPU_NVIDIA=ON - -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON - -DFLANG_INCLUDE_TESTS=OFF - -DCMAKE_C_FLAGS="-I/usr/lib/gcc/x86_64-linux-gnu/11/include" - -DCMAKE_EXE_LINKER_FLAGS="-lquadmath" - -GNinja - - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml - parameters: - componentName: flang-rt - cmakeBuildDir: '$(Build.SourcesDirectory)/flang/build' - cmakeSourceDir: '$(Build.SourcesDirectory)/flang' - installDir: '$(Build.BinariesDirectory)/llvm' - extraBuildFlags: >- - -DCMAKE_PREFIX_PATH="$(Agent.BuildDirectory)/rocm;$(Build.BinariesDirectory)" - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang++ - -DCMAKE_C_COMPILER=$(Agent.BuildDirectory)/rocm/llvm/bin/clang - -DCMAKE_Fortran_COMPILER=$(Build.BinariesDirectory)/llvm/bin/flang-classic - -DLLVM_CONFIG=$(Agent.BuildDirectory)/rocm/llvm/bin/llvm-config - -DLLVM_INSTALL_RUNTIME=ON - -DFLANG_BUILD_RUNTIME=ON - -DOPENMP_BUILD_DIR=$(Build.SourcesDirectory)/llvm-project/openmp/runtime/src - -DFLANG_INCLUDE_TESTS=OFF - -GNinja - task: Bash@3 displayName: 'ROCm symbolic link' inputs: diff --git a/.azuredevops/components/llvm-project.yml b/.azuredevops/components/llvm-project.yml index 3314af24b..d35861542 100644 --- a/.azuredevops/components/llvm-project.yml +++ b/.azuredevops/components/llvm-project.yml @@ -68,6 +68,7 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: componentName: rocm-llvm + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH="$(Build.BinariesDirectory)/llvm;$(Build.BinariesDirectory)" -DCMAKE_BUILD_TYPE=Release @@ -107,6 +108,7 @@ jobs: 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 @@ -114,6 +116,7 @@ jobs: 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 @@ -121,6 +124,7 @@ jobs: 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: @@ -132,6 +136,7 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: componentName: device-libs + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build" -DCMAKE_BUILD_TYPE=Release @@ -140,6 +145,7 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: componentName: comgr + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH="$(Build.SourcesDirectory)/llvm/build;$(Build.SourcesDirectory)/amd/device-libs/build" -DCOMGR_DISABLE_SPIRV=1 @@ -152,9 +158,11 @@ jobs: 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 }} extraBuildFlags: >- -DCMAKE_BUILD_TYPE=Release -DHIPCC_BACKWARD_COMPATIBILITY=OFF diff --git a/.azuredevops/components/rocDecode.yml b/.azuredevops/components/rocDecode.yml index 69479276c..4874b99a7 100644 --- a/.azuredevops/components/rocDecode.yml +++ b/.azuredevops/components/rocDecode.yml @@ -86,6 +86,7 @@ jobs: os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_BUILD_TYPE=Release -GNinja @@ -139,6 +140,9 @@ jobs: inputs: targetType: inline script: | + if [ -e /opt/rh/gcc-toolset-14/enable ]; then + source /opt/rh/gcc-toolset-14/enable + fi mkdir rocDecode-tests cd rocDecode-tests cmake $(Agent.BuildDirectory)/rocm/share/rocdecode/test @@ -147,6 +151,7 @@ jobs: parameters: componentName: rocDecode testDir: 'rocDecode-tests' + os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml parameters: aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/components/rocm-cmake.yml b/.azuredevops/components/rocm-cmake.yml index 4b4d6a602..8ab81de5b 100644 --- a/.azuredevops/components/rocm-cmake.yml +++ b/.azuredevops/components/rocm-cmake.yml @@ -61,6 +61,8 @@ jobs: parameters: checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml + parameters: + os: ${{ job.os }} - task: Bash@3 displayName: CTest setup inputs: @@ -74,6 +76,7 @@ jobs: parameters: componentName: rocm-cmake testParameters: '-E "pass-version-parent" --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 }} diff --git a/.azuredevops/components/rocm-core.yml b/.azuredevops/components/rocm-core.yml index 0c9570af2..adc8f5b1e 100644 --- a/.azuredevops/components/rocm-core.yml +++ b/.azuredevops/components/rocm-core.yml @@ -47,6 +47,7 @@ jobs: checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_CURRENT_BINARY_DIR=$PWD -DCMAKE_CURRENT_SOURCE_DIR=$PWD/../ diff --git a/.azuredevops/components/rocm_smi_lib.yml b/.azuredevops/components/rocm_smi_lib.yml index 74e65d9d3..46c211cdd 100644 --- a/.azuredevops/components/rocm_smi_lib.yml +++ b/.azuredevops/components/rocm_smi_lib.yml @@ -52,6 +52,7 @@ jobs: checkoutRepo: ${{ parameters.checkoutRepo }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DBUILD_TESTS=ON -DROCM_DEP_ROCMCORE=ON @@ -100,6 +101,7 @@ jobs: testDir: '$(Agent.BuildDirectory)' testExecutable: './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 }} diff --git a/.azuredevops/components/rocminfo.yml b/.azuredevops/components/rocminfo.yml index b5c32f41e..a0ce8d998 100644 --- a/.azuredevops/components/rocminfo.yml +++ b/.azuredevops/components/rocminfo.yml @@ -70,6 +70,7 @@ jobs: os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm -DROCRTST_BLD_TYPE=release @@ -123,6 +124,7 @@ jobs: testExecutable: './rocm/bin/rocminfo' testParameters: '' testPublishResults: false + os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/test.yml parameters: componentName: rocm_agent_enumerator @@ -130,6 +132,7 @@ jobs: 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 }} diff --git a/.azuredevops/components/rocprofiler-register.yml b/.azuredevops/components/rocprofiler-register.yml index 7125a9f44..224a5b48b 100644 --- a/.azuredevops/components/rocprofiler-register.yml +++ b/.azuredevops/components/rocprofiler-register.yml @@ -48,6 +48,7 @@ jobs: - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: componentName: rocprofiler-register + os: ${{ job.os }} extraBuildFlags: >- -DCMAKE_PREFIX_PATH=$(Build.BinariesDirectory) -DROCPROFILER_REGISTER_BUILD_TESTS=ON diff --git a/.azuredevops/components/roctracer.yml b/.azuredevops/components/roctracer.yml index 506aaeb3c..d0e3b3ea3 100644 --- a/.azuredevops/components/roctracer.yml +++ b/.azuredevops/components/roctracer.yml @@ -92,24 +92,14 @@ jobs: os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/build-cmake.yml parameters: - ${{ if eq(job.os, 'almalinux8') }}: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=release - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib64/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm; - -DGPU_TARGETS=${{ job.target }} - -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_POSITION_INDEPENDENT_CODE=ON - -GNinja - ${{ else }}: - extraBuildFlags: >- - -DCMAKE_BUILD_TYPE=release - -DROCM_PATH=$(Agent.BuildDirectory)/rocm - -DCMAKE_MODULE_PATH=$(Agent.BuildDirectory)/rocm/lib/cmake/hip - -DCMAKE_PREFIX_PATH=$(Agent.BuildDirectory)/rocm; - -DGPU_TARGETS=${{ job.target }} - -GNinja + os: ${{ job.os }} + 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 }} + -GNinja - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/manifest.yml parameters: os: ${{ job.os }} @@ -168,6 +158,7 @@ jobs: testParameters: '' testDir: $(Agent.BuildDirectory) testPublishResults: false + os: ${{ job.os }} - template: ${{ variables.CI_TEMPLATE_PATH }}/steps/docker-container.yml parameters: aptPackages: ${{ parameters.aptPackages }} diff --git a/.azuredevops/templates/steps/build-cmake.yml b/.azuredevops/templates/steps/build-cmake.yml index b60d5e2ae..ae90d2083 100644 --- a/.azuredevops/templates/steps/build-cmake.yml +++ b/.azuredevops/templates/steps/build-cmake.yml @@ -39,6 +39,9 @@ parameters: 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 diff --git a/.azuredevops/templates/steps/dependencies-dnf.yml b/.azuredevops/templates/steps/dependencies-dnf.yml index 04c5e78c6..6f8b93afd 100644 --- a/.azuredevops/templates/steps/dependencies-dnf.yml +++ b/.azuredevops/templates/steps/dependencies-dnf.yml @@ -78,8 +78,6 @@ parameters: texinfo: texinfo zlib1g-dev: zlib-devel -### pciutils-devel expat-devel - steps: - ${{ if eq(parameters.registerROCmPackages, true) }}: - task: Bash@3 @@ -112,15 +110,7 @@ steps: 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: 'Create gcc-toolset-14 profile script' - inputs: - targetType: inline - script: | - echo '#!/bin/bash' | sudo tee /etc/profile.d/gcc-toolset-14.sh - echo 'source /opt/rh/gcc-toolset-14/enable' | sudo tee -a /etc/profile.d/gcc-toolset-14.sh - sudo chmod +x /etc/profile.d/gcc-toolset-14.sh -- task: Bash@3 - displayName: 'Show source script' + displayName: 'gcc-toolset-14 environment details' inputs: targetType: inline script: |