825440e7ba
- Update filenames.
- Update executable to `rocprof-compute`
- Update update package to `rocprofiler-compute`
- Update name in application output and logs
- Update name in README files
- Update testing and workflows
---------
Signed-off-by: Xuan Chen <xuchen@amd.com>
[ROCm/rocprofiler-compute commit: 31b4de1a38]
117 行
3.8 KiB
YAML
117 行
3.8 KiB
YAML
name: mi-rhel9
|
|
|
|
on:
|
|
push:
|
|
branches: [ amd-mainline, release/** ]
|
|
|
|
# Allows manual execution
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
checks: write
|
|
pull-requests: write
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
profile:
|
|
strategy:
|
|
matrix:
|
|
version: [5.7.1, 6.0.2]
|
|
hardware: [mi100, mi200]
|
|
profiler: [default, rocprofv2]
|
|
exclude:
|
|
- profiler: rocprofv2
|
|
hardware: mi100
|
|
fail-fast: false
|
|
runs-on: [mi100, rhel9]
|
|
|
|
env:
|
|
PYTHONPATH: /home1/ciuser/omniperf_deps
|
|
CI_VISIBLE_DEVICES: 1
|
|
name: ROCm v${{ matrix.version }} / ${{ matrix.hardware }} / ${{ matrix.profiler }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Python Path
|
|
run: echo ${PYTHONPATH}
|
|
- name: Setup hardware-specific run details
|
|
run: |
|
|
if [ ${{ matrix.hardware }} == "mi100" ];then
|
|
echo "CI_QUEUE=ci" >> $GITHUB_ENV
|
|
echo "CI_ARCH=gfx908" >> $GITHUB_ENV
|
|
elif [ ${{ matrix.hardware }} == "mi200" ];then
|
|
echo "CI_QUEUE=mi2104x" >> $GITHUB_ENV
|
|
echo "CI_ARCH=gfx90a" >> $GITHUB_ENV
|
|
else
|
|
echo "Unsupported hardware"
|
|
exit 1
|
|
fi
|
|
- name: Setup profiling mode
|
|
run: |
|
|
if [ ${{ matrix.profiler }} == "rocprofv2" ];then
|
|
echo "ROCPROF=rocprofv2" >> $GITHUB_ENV
|
|
fi
|
|
- name: Install Python collateral (build and test)
|
|
run: |
|
|
pip3 install -t ${PYTHONPATH} -r requirements.txt
|
|
pip3 install -t ${PYTHONPATH} -r requirements-test.txt
|
|
- name: Load ROCm ${{ matrix.version}}
|
|
run: |
|
|
module load cmake
|
|
module load rocm/${{ matrix.version }}
|
|
echo $PATH > $GITHUB_PATH
|
|
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> "$GITHUB_ENV"
|
|
echo "ROCM_PATH=$ROCM_PATH" >> "$GITHUB_ENV"
|
|
- name: Check Environment
|
|
run: |
|
|
echo "PATH=$PATH"
|
|
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
|
echo "ROCM_PATH=$ROCM_PATH"
|
|
echo "CI_QUEUE=$CI_QUEUE"
|
|
echo "CI_ARCH=$CI_ARCH"
|
|
echo "CI_VISIBLE_DEVICES=$CI_VISIBLE_DEVICES"
|
|
echo "ROCPROF=$ROCPROF"
|
|
- name: Configure
|
|
run: |
|
|
mkdir build
|
|
cd build
|
|
ml cmake
|
|
cmake -DENABLE_TESTS=ON -DCMAKE_HIP_ARCHITECTURES=$CI_ARCH -DENABLE_COVERAGE=ON -DPYTEST_NUMPROCS=8 ..
|
|
- name: Build tests and Run [profile] mode
|
|
run: |
|
|
cd build
|
|
make
|
|
srun -N 1 -J rocprof-compute -p $CI_QUEUE -t 00:20:00 ctest -j 4 --resource-spec-file ../tests/4gpus.json --verbose -L profile
|
|
- name: Run [analyze workloads] mode
|
|
if: '!cancelled()'
|
|
run: |
|
|
cd build
|
|
srun -N 1 -J rocprof-compute -p $CI_QUEUE -t 00:10:00 ctest --verbose -R test_analyze_workloads
|
|
- name: Run [analyze commands] mode
|
|
if: '!cancelled()'
|
|
run: |
|
|
cd build
|
|
srun -N 1 -J rocprof-compute -p $CI_QUEUE -t 00:10:00 ctest --verbose -R test_analyze_commands
|
|
- name: Publish Test Results
|
|
uses: EnricoMi/publish-unit-test-result-action/linux@v2
|
|
if: always()
|
|
with:
|
|
files: |
|
|
tests/**/test_*.xml
|
|
- name: Summarize code coverage
|
|
if: always()
|
|
run: coverage report
|
|
- name: Upload code coverage
|
|
uses: zgosalvez/github-actions-report-lcov@v4
|
|
if: always()
|
|
with:
|
|
coverage-files: tests/coverage.info
|
|
minimum-coverage: 35
|
|
artifact-name: code-coverage-report-rocm${{ matrix.version }}-${{ matrix.hardware }}-${{ matrix.profiler }}
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
update-comment: true
|