-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b15c9e9
commit 21eac21
Showing
6 changed files
with
205 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
name: Ubuntu 22.04 (GCC, Python, ROCm) | ||
run-name: ubuntu-noble | ||
|
||
on: | ||
push: | ||
branches: [ amd-mainline, amd-staging, release/** ] | ||
paths-ignore: | ||
- '*.md' | ||
- 'docs/**' | ||
- 'source/docs/**' | ||
- 'source/python/gui/**' | ||
- '.github/workflows/docs.yml' | ||
- '.github/workflows/cpack.yml' | ||
- '.github/workflows/containers.yml' | ||
- '.github/workflows/formatting.yml' | ||
- 'docker/**' | ||
pull_request: | ||
branches: [ amd-mainline, amd-staging, release/** ] | ||
paths-ignore: | ||
- '*.md' | ||
- 'docs/**' | ||
- 'source/docs/**' | ||
- 'source/python/gui/**' | ||
- '.github/workflows/docs.yml' | ||
- '.github/workflows/cpack.yml' | ||
- '.github/workflows/containers.yml' | ||
- '.github/workflows/formatting.yml' | ||
- 'docker/**' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
ROCPROFSYS_CI: ON | ||
ROCPROFSYS_TMPDIR: "%env{PWD}%/testing-tmp" | ||
|
||
jobs: | ||
ubuntu-noble-external: | ||
runs-on: ubuntu-20.04 | ||
container: | ||
image: dgaliffiamd/rocprofiler-systems:ci-base-ubuntu-22.04 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
compiler: ['g++'] | ||
build-type: ['Release'] | ||
build-dyninst: ['OFF'] | ||
rocm-version: ['0.0', '6.2'] | ||
|
||
env: | ||
ROCPROFSYS_CI: 'ON' | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Packages | ||
timeout-minutes: 25 | ||
uses: nick-fields/retry@v3 | ||
with: | ||
retry_wait_seconds: 30 | ||
timeout_minutes: 25 | ||
max_attempts: 5 | ||
command: | | ||
apt-get -y update && apt-get upgrade -y && | ||
apt-get install -y ${{ matrix.compiler }} && | ||
wget https://commondatastorage.googleapis.com/perfetto-luci-artifacts/v46.0/linux-amd64/trace_processor_shell -P /opt/trace_processor/bin && | ||
chmod +x /opt/trace_processor/bin/trace_processor_shell && | ||
for i in 8 9 10 11 12; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done | ||
- name: Install ROCm Packages | ||
timeout-minutes: 25 | ||
if: ${{ matrix.rocm-version != '0.0' }} | ||
uses: nick-fields/retry@v3 | ||
with: | ||
retry_wait_seconds: 30 | ||
timeout_minutes: 25 | ||
max_attempts: 5 | ||
shell: bash | ||
command: | | ||
# Parse the ROCm version | ||
ROCM_VERSION=${{ matrix.rocm-version }} | ||
ROCM_MAJOR=$(echo ${ROCM_VERSION} | sed 's/\./ /g' | awk '{print $1}') | ||
ROCM_MINOR=$(echo ${ROCM_VERSION} | sed 's/\./ /g' | awk '{print $2}') | ||
ROCM_VERSN=$(( (${ROCM_MAJOR}*10000)+(${ROCM_MINOR}*100) )) | ||
# Get the ROCm installer - https://repo.radeon.com/amdgpu-install/6.2.2/ubuntu/noble/amdgpu-install_6.2.60202-1_all.deb | ||
wget -q -O https://repo.radeon.com/amdgpu-install/${{ matrix.rocm-version }}/ubuntu/noble/amdgpu-install_${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1_all.deb | ||
apt-get install -y ./amdgpu-install_${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1_all.deb | ||
apt-get update | ||
# Install ROCm | ||
apt-get install -y rocm-dev | ||
- name: Configure, Build, and Test | ||
timeout-minutes: 115 | ||
shell: bash | ||
run: | ||
git config --global --add safe.directory ${PWD} && | ||
cmake --version && | ||
TAG="${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-24.04-${{ matrix.compiler }}-python-mpip" && | ||
USE_HIP=OFF && | ||
if [ ${{ matrix.rocm-version }} != "0.0" ]; then USE_HIP=ON; TAG="${TAG}-rocm-${{ matrix.rocm-version }}"; fi && | ||
python3 ./scripts/run-ci.py -B build | ||
--name ${TAG} | ||
--build-jobs 2 | ||
--site GitHub | ||
-- | ||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g') | ||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }} | ||
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} | ||
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-systems | ||
-DROCPROFSYS_BUILD_TESTING=ON | ||
-DROCPROFSYS_USE_MPI=OFF | ||
-DROCPROFSYS_USE_HIP=${USE_HIP} | ||
-DROCPROFSYS_USE_OMPT=OFF | ||
-DROCPROFSYS_USE_PYTHON=ON | ||
-DROCPROFSYS_USE_MPI_HEADERS=ON | ||
-DROCPROFSYS_CI_MPI_RUN_AS_ROOT=ON | ||
-DROCPROFSYS_MAX_THREADS=64 | ||
-DROCPROFSYS_INSTALL_PERFETTO_TOOLS=OFF | ||
-DROCPROFSYS_PYTHON_PREFIX=/opt/conda/envs | ||
-DROCPROFSYS_PYTHON_ENVS="py3.8;py3.9;py3.10;py3.11;py3.12" | ||
-DROCPROFSYS_DISABLE_EXAMPLES="transpose;rccl" | ||
-DROCPROFSYS_BUILD_NUMBER=${{ github.run_attempt }} | ||
-- | ||
-LE "transpose|rccl" | ||
|
||
- name: Install | ||
timeout-minutes: 10 | ||
run: | ||
cmake --build build --target install --parallel 2 | ||
|
||
- name: CPack and Install | ||
run: | | ||
cd build | ||
cpack -G STGZ | ||
mkdir -p /opt/rocprofiler-systems | ||
./rocprofiler-systems-*.sh --prefix=/opt/rocprofiler-systems --exclude-subdir --skip-license | ||
- name: Test Install | ||
timeout-minutes: 10 | ||
shell: bash | ||
run: | | ||
set -v | ||
source /opt/rocprofiler-systems/share/rocprofiler-systems/setup-env.sh | ||
./scripts/test-install.sh --test-rocprof-sys-{instrument,avail,sample,rewrite,runtime,python}=1 | ||
- name: Test User API | ||
timeout-minutes: 10 | ||
run: | | ||
set -v | ||
./scripts/test-find-package.sh --install-dir /opt/rocprofiler-systems | ||
- name: CTest Artifacts | ||
if: failure() | ||
continue-on-error: True | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ctest-${{ github.job }}-${{ strategy.job-index }}-log | ||
path: | | ||
build/*.log | ||
- name: Data Artifacts | ||
if: failure() | ||
continue-on-error: True | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: data-${{ github.job }}-${{ strategy.job-index }}-files | ||
path: | | ||
build/rocprofsys-tests-config/*.cfg | ||
build/rocprofsys-tests-output/**/*.txt | ||
build/rocprofsys-tests-output/**/*-instr*.json | ||
- name: Kill Perfetto | ||
if: success() || failure() | ||
continue-on-error: True | ||
run: | | ||
set +e | ||
RUNNING_PROCS=$(pgrep trace_processor_shell) | ||
if [ -n "${RUNNING_PROCS}" ]; then kill -s 9 ${RUNNING_PROCS}; fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters