diff --git a/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml b/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml index 11a746c933..2e8c20bf95 100644 --- a/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml +++ b/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml @@ -56,11 +56,11 @@ jobs: strategy: # fail-fast: false matrix: - runner: ['mi300a'] + runner: ['mi300x'] os: ['ubuntu-22.04'] build-type: ['Release'] - runs-on: ${{ matrix.runner }}-emu-runner-set + runs-on: rocprof-ubuntu-22 # define this for containers env: diff --git a/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml b/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml index d568c05570..90e058d236 100644 --- a/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml +++ b/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml @@ -52,12 +52,13 @@ jobs: strategy: fail-fast: false matrix: - runner: ['navi3', 'navi4', 'mi300a'] - os: ['ubuntu-22.04'] - build-type: ['RelWithDebInfo'] - ci-flags: ['--linter clang-tidy'] + system: [ + {gpu: 'navi3', runner: 'navi3-emu-runner-set', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'}, + {gpu: 'navi4', runner: 'navi4-emu-runner-set', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'}, + {gpu: 'mi3xx', runner: 'rocprof-ubuntu-22', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'} + ] - runs-on: ${{ matrix.runner == 'mi3xx' && 'rocprof-azure' || matrix.runner }}-emu-runner-set + runs-on: ${{ matrix.system.runner }} # define this for containers env: @@ -90,7 +91,7 @@ jobs: ls -la - name: Enable PC Sampling - if: ${{ contains(matrix.runner, 'mi200') || contains(matrix.runner, 'mi300a') }} + if: ${{ contains(matrix.system.gpu, 'mi200') || contains(matrix.system.gpu, 'mi300a') }} shell: bash run: | echo 'ROCPROFILER_PC_SAMPLING_BETA_ENABLED=1' >> $GITHUB_ENV @@ -100,39 +101,39 @@ jobs: shell: bash run: python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-core + --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.system.os }}-${{ matrix.system.gpu }}-core --build-jobs 16 --site ${RUNNER_HOSTNAME} --gpu-targets ${{ env.GPU_TARGETS }} --run-attempt ${{ github.run_attempt }} - ${{ matrix.ci-flags }} + ${{ matrix.system.ci-flags }} -- -DROCPROFILER_DEP_ROCMCORE=ON -DROCPROFILER_BUILD_DOCS=OFF - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} + -DCMAKE_BUILD_TYPE=${{ matrix.system.build-type }} -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)" -DPython3_EXECUTABLE=$(which python3) ${{ env.GLOBAL_CMAKE_OPTIONS }} -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" + -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" + -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" - name: Install - if: ${{ contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} timeout-minutes: 10 run: cmake --build build --target install --parallel 16 - name: Build Packaging - if: ${{ contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} timeout-minutes: 10 run: cmake --build build --target package --parallel 16 - name: Test Install Build - if: ${{ contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} timeout-minutes: 20 shell: bash run: | @@ -141,11 +142,11 @@ jobs: export LD_LIBRARY_PATH=/opt/rocprofiler-sdk/lib:${LD_LIBRARY_PATH} cmake --build build-samples --target all --parallel 16 cmake --build build-tests --target all --parallel 16 - ctest --test-dir build-samples -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - ctest --test-dir build-tests -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" --output-on-failure + ctest --test-dir build-samples -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure + ctest --test-dir build-tests -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - name: Install Packages - if: ${{ contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} timeout-minutes: 5 shell: bash run: | @@ -157,7 +158,7 @@ jobs: for i in $(ls -S ./build/rocprofiler-sdk*.deb | egrep -v 'roctx|rocpd'); do dpkg --force-all -i ${i}; done; - name: Test Installed Packages - if: ${{ contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} timeout-minutes: 20 shell: bash run: | @@ -165,11 +166,11 @@ jobs: CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-tests-deb -DGPU_TARGETS="gfx942" /opt/rocm/share/rocprofiler-sdk/tests cmake --build build-samples-deb --target all --parallel 16 cmake --build build-tests-deb --target all --parallel 16 - ctest --test-dir build-samples-deb -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - ctest --test-dir build-tests-deb -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" --output-on-failure + ctest --test-dir build-samples-deb -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure + ctest --test-dir build-tests-deb -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - name: Archive production artifacts - if: ${{ github.event_name == 'workflow_dispatch' && contains(matrix.runner, env.CORE_EXT_RUNNER) }} + if: ${{ github.event_name == 'workflow_dispatch' && contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} uses: actions/upload-artifact@v4 with: name: installers-deb @@ -184,11 +185,11 @@ jobs: fail-fast: false matrix: runner: ['mi300'] - os: ['rhel', 'sles'] + os: ['rhel-8', 'sles-15'] build-type: ['RelWithDebInfo'] ci-flags: [''] - runs-on: rocprof-azure-${{ matrix.os }}-emu-runner-set + runs-on: rocprof-${{ matrix.os }} # define this for containers env: @@ -203,7 +204,7 @@ jobs: shell: bash run: | git config --global --add safe.directory '*' - if [ "${OS_TYPE}" == "rhel" ]; then + if [ "${OS_TYPE}" == "rhel-8" ]; then dnf makecache dnf groupinstall -y "Development Tools" dnf remove -y gcc-c++ @@ -255,13 +256,13 @@ jobs: strategy: fail-fast: false matrix: - runner: ['mi300'] + runner: ['mi3xx'] sanitizer: ['AddressSanitizer', 'ThreadSanitizer', 'LeakSanitizer', 'UndefinedBehaviorSanitizer'] os: ['ubuntu-22.04'] build-type: ['RelWithDebInfo'] if: ${{ contains(github.event_name, 'pull_request') }} - runs-on: ${{ matrix.runner == 'mi3xx' && 'rocprof-azure' || matrix.runner }}-emu-runner-set + runs-on: ${{ matrix.runner == 'mi3xx' && 'rocprof-ubuntu-22' || matrix.runner }} # define this for containers env: diff --git a/projects/rocprofiler-sdk/.github/workflows/generate_afar.yml b/projects/rocprofiler-sdk/.github/workflows/generate_afar.yml deleted file mode 100644 index 8c3a49bb7e..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/generate_afar.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Generate AFAR - -on: - workflow_dispatch: - inputs: - rocm-release: - description: 'ROCm Release Version' - required: true - type: string - build-number: - description: 'ROCm CI Build Number' - required: true - type: string - build-job-name: - description: 'ROCm CI Build Job Name' - required: true - type: string - rocprofiler-sdk-revision: - description: 'ROCProfiler-SDK Commit Hash' - default: 'amd-staging' - required: true - type: string - extra-cmake-args: - description: 'Extra Arguments to give to cmake configuration' - required: false - type: string - package-types: - description: 'Package types provided to `CPACK_GENERATOR`' - required: true - default: 'STGZ' - type: string - -jobs: - generate-packages-ubuntu-22: - runs-on: rocprof-azure-emu-runner-set - - steps: - - - uses: actions/checkout@v4 - with: - ref: '${{ inputs.rocprofiler-sdk-revision }}' - path: 'rocprofiler-sdk' - - - name: Install Requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '${{github.workspace}}/*' - apt-get update - amdgpu-repo --rocm-build=${{ inputs.build-job-name }}/${{ inputs.build-number }} - apt-get upgrade -y - apt-get install -y build-essential cmake rocm-llvm-dev python3-pip libdw-dev libsqlite3-dev - python3 -m pip install -r ${{github.workspace}}/rocprofiler-sdk/requirements.txt - - - name: Building ROCProfiler-SDK Packages - shell: bash - run: | - cmake -B build-rocprofiler-sdk -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/opt/rocm -DCPACK_GENERATOR="${{ inputs.package-types }}" -DROCPROFILER_BUILD_{TESTS,SAMPLES}=ON ${{ inputs.extra-cmake-args }} ${{github.workspace}}/rocprofiler-sdk - cmake --build build-rocprofiler-sdk --parallel 16 - cmake --build build-rocprofiler-sdk --target package --parallel 16 - - - name: Archive Packages - uses: actions/upload-artifact@v4 - with: - name: Packages-${{ inputs.rocm-release }} - path: | - ${{github.workspace}}/build-*/*.sh - ${{github.workspace}}/build-*/*.deb - ${{github.workspace}}/build-*/*.rpm - ${{github.workspace}}/build-*/*.tar.gz