Skip to content

Commit

Permalink
Merge branch 'release/rocm-rel-6.2' into determine_gpu_model_from_chi…
Browse files Browse the repository at this point in the history
…p_id
  • Loading branch information
xuchen-amd authored Oct 2, 2024
2 parents efc70df + afa43ff commit f04ddfe
Show file tree
Hide file tree
Showing 322 changed files with 17,027 additions and 355 deletions.
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
* @koomie @coleramos425

# Documentation files
docs/* @ROCm/rocm-documentation
docs/ @ROCm/rocm-documentation
*.md @ROCm/rocm-documentation
*.rst @ROCm/rocm-documentation
.readthedocs.yaml @ROCm/rocm-documentation
18 changes: 18 additions & 0 deletions .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/docs/sphinx" # Location of package manifests
open-pull-requests-limit: 10
schedule:
interval: "daily"
target-branch: "dev"
labels:
- "documentation"
- "dependencies"
reviewers:
- "samjwu"
21 changes: 10 additions & 11 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@ name: Documentation

on:
push:
branches: ["main"]
branches: [ amd-mainline ]
paths:
- 'src/docs'
- 'src/archive/docs-1.x'
- 'docs/archive/docs-2.x/**'
- 'docs/archive/docs-1.x/**'
- '.github/workflows/docs.yml'
- 'VERSION'

workflow_dispatch:

Expand All @@ -31,24 +30,24 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Additional python packages
run: pip3 install -r requirements-doc.txt
run: pip3 install -r docs/archive/requirements-doc.txt
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Build 1.x docs
run: |
cd src/archive/docs-1.x
make html
- name: Build current docs
cd docs/archive/docs-1.x
make html
- name: Build 2.x docs
run: |
cd src/docs
cd docs/archive/docs-2.x
make html
- name: Relocate 1.x docs
run: |
mv src/archive/docs-1.x/_build/html src/docs/_build/html/1.x
mv docs/archive/docs-1.x/_build/html docs/archive/_build/html/1.x
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./src/docs/_build/html
path: ./docs/archive/_build/html

# Deployment job
deploy:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ name: Formatting

on:
push:
branches: [ main, dev, 2.x ]
branches: [ amd-mainline, amd-staging, release/** ]
pull_request:
branches: [ main, dev, 2.x ]
branches: [ amd-mainline, amd-staging, release/** ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/mi-rhel9.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ name: mi-rhel9

on:
push:
branches:
- 'main'
branches: [ amd-mainline, release/** ]

# Allows manual execution
workflow_dispatch:
workflow_dispatch:

permissions:
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
distbuild:
runs-on: ubuntu-latest
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/rhel-8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ name: RHEL 8
# Controls when the workflow will run
on:
push:
branches: [ main, dev ]
branches: [ amd-mainline, amd-staging, release/** ]
pull_request:
branches: [ main, dev ]
branches: [ amd-mainline, amd-staging, release/** ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@ name: tarball

on:
push:
branches:
- main
- 2.x
branches: [ amd-mainline, release/** ]
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
distbuild:
runs-on: ubuntu-latest
Expand All @@ -25,7 +23,7 @@ jobs:
echo "sha=${{github.event.pull_request.head.sha}}" >> $GITHUB_OUTPUT
else
echo "sha=$GITHUB_SHA" >> $GITHUB_OUTPUT
fi
fi
- name: Checkout code
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -101,9 +99,9 @@ jobs:
run: sudo apt-get install -y lmod
- name: Access omniperf using modulefile
run: |
. /etc/profile.d/lmod.sh
. /etc/profile.d/lmod.sh
module use $INSTALL_DIR/omniperf/share/omniperf/modulefiles
module load omniperf
module list
omniperf --version
4 changes: 2 additions & 2 deletions .github/workflows/ubuntu-jammy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ name: Ubuntu 22.04

on:
push:
branches: [ main, dev ]
branches: [ amd-mainline, amd-staging, release/** ]
pull_request:
branches: [ main, dev ]
branches: [ amd-mainline, amd-staging, release/** ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,8 @@ VERSION.sha

# temp files
/tests/Testing

# documentation artifacts
/_build
_toc.yml

13 changes: 13 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

version: 2

build:
os: ubuntu-22.04
tools:
python: "3.10"

python:
install:
- requirements: docs/sphinx/requirements.txt
59 changes: 37 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -189,46 +189,51 @@ message(STATUS "Pytest CPU threadcount: ${PYTEST_NUMPROCS}")

add_test(
NAME test_profile_kernel_execution
COMMAND pytest -m kernel_execution --junitxml=tests/test_profile_kernel_execution.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND
${Python3_EXECUTABLE} -m pytest -m kernel_execution
--junitxml=tests/test_profile_kernel_execution.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

add_test(
NAME test_profile_ipblocks
COMMAND pytest -m block --junitxml=tests/test_profile_blocks.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND
${Python3_EXECUTABLE} -m pytest -m block --junitxml=tests/test_profile_blocks.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
set_property(TEST test_profile_ipblocks PROPERTY COST 11)

add_test(
NAME test_profile_dispatch
COMMAND pytest -m dispatch --junitxml=tests/test_profile_dispatch.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND
${Python3_EXECUTABLE} -m pytest -m dispatch
--junitxml=tests/test_profile_dispatch.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
set_property(TEST test_profile_ipblocks PROPERTY COST 5)

add_test(
NAME test_profile_mem
COMMAND pytest -m mem --junitxml=tests/test_profile_mem.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND ${Python3_EXECUTABLE} -m pytest -m mem --junitxml=tests/test_profile_mem.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

add_test(
NAME test_profile_join
COMMAND pytest -m join --junitxml=tests/test_profile_join.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND ${Python3_EXECUTABLE} -m pytest -m join --junitxml=tests/test_profile_join.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

add_test(
NAME test_profile_sort
COMMAND pytest -m sort --junitxml=tests/test_profile_sort.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND ${Python3_EXECUTABLE} -m pytest -m sort --junitxml=tests/test_profile_sort.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

add_test(
NAME test_profile_misc
COMMAND pytest -m misc --junitxml=tests/test_profile_misc.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
COMMAND ${Python3_EXECUTABLE} -m pytest -m misc --junitxml=tests/test_profile_misc.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_profile_general.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

set_tests_properties(
Expand All @@ -247,8 +252,10 @@ set_tests_properties(

add_test(
NAME test_analyze_commands
COMMAND pytest -n ${PYTEST_NUMPROCS} --junitxml=tests/test_analyze_commands.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_analyze_commands.py
COMMAND
${Python3_EXECUTABLE} -m pytest -n ${PYTEST_NUMPROCS}
--junitxml=tests/test_analyze_commands.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_analyze_commands.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

# ---------------------------
Expand All @@ -257,8 +264,10 @@ add_test(

add_test(
NAME test_analyze_workloads
COMMAND pytest -n ${PYTEST_NUMPROCS} --junitxml=tests/test_analyze_workloads.xml
${COV_OPTION} ${PROJECT_SOURCE_DIR}/tests/test_analyze_workloads.py
COMMAND
${Python3_EXECUTABLE} -m pytest -n ${PYTEST_NUMPROCS}
--junitxml=tests/test_analyze_workloads.xml ${COV_OPTION}
${PROJECT_SOURCE_DIR}/tests/test_analyze_workloads.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

# ---------
Expand Down Expand Up @@ -407,6 +416,7 @@ set(CPACK_RPM_PACKAGE_PROVIDES "${CPACK_PACKAGE_NAME}")
set(CPACK_RPM_COMPONENT_INSTALL ON)
set(CPACK_RPM_PACKAGE_RELEASE_DIST ON)
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
set(CPACK_RPM_SPEC_MORE_DEFINE "%undefine __brp_mangle_shebangs")

if(DEFINED CPACK_PACKAGING_INSTALL_PREFIX)
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "${CPACK_PACKAGING_INSTALL_PREFIX}")
Expand All @@ -424,6 +434,11 @@ set(PACKAGE_REQUIRES
set(CPACK_RPM_PACKAGE_REQUIRES ${PACKAGE_REQUIRES})
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${PACKAGE_REQUIRES})

# Disable automatic dependency generation
set(CPACK_RPM_PACKAGE_AUTOREQPROV OFF)
set(CPACK_RPM_PACKAGE_AUTOREQ OFF)
set(CPACK_RPM_PACKAGE_AUTOPROV OFF)

if(INSTALL_TESTS)
set(CPACK_RPM_TESTS_PACKAGE_REQUIRES ${CPACK_PACKAGE_NAME})
set(CPACK_DEBIAN_TESTS_PACKAGE_DEPENDS ${CPACK_PACKAGE_NAME})
Expand All @@ -434,14 +449,14 @@ if(DEFINED ENV{ROCM_LIBPATCH_VERSION})
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION}.$ENV{ROCM_LIBPATCH_VERSION}")
endif()

if(DEFINED CPACK_RPM_PACKAGE_RELEASE)
set(CPACK_RPM_PACKAGE_RELEASE ${CPACK_RPM_PACKAGE_RELEASE})
if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE})
set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE})
else()
set(CPACK_RPM_PACKAGE_RELEASE "local")
endif()

if(DEFINED CPACK_DEBIAN_PACKAGE_RELEASE)
set(CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE})
if(DEFINED ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
set(CPACK_DEBIAN_PACKAGE_RELEASE $ENV{CPACK_DEBIAN_PACKAGE_RELEASE})
else()
set(CPACK_DEBIAN_PACKAGE_RELEASE "local")
endif()
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## How to fork from us

To keep our development fast and conflict free, we recommend you to [fork](https://github.com/ROCm/omniperf/fork) our repository and start your work from our `dev` branch in your private repository.
To keep our development fast and conflict free, we recommend you to [fork](https://github.com/ROCm/omniperf/fork) our repository and start your work from our `amd-staging` branch in your private repository.

Afterwards, git clone your repository to your local machine. But that is not it! To keep track of the original develop repository, add it as another remote.

```
git remote add mainline https://github.com/ROCm/omniperf.git
git checkout dev
git checkout amd-staging
```

As always in git, start a new branch with
Expand All @@ -31,9 +31,9 @@ and apply your changes there.

- Ensure the PR description clearly describes the problem and solution. If there is an existing GitHub issue open describing this bug, please include it in the description so we can close it.

- Ensure the PR is based on the `dev` branch of the Omniperf GitHub repository.
- Ensure the PR is based on the `amd-staging` branch of the Omniperf GitHub repository.

- Omniperf requires new commits to include a "Signed-off-by" token in the commit message (typically enabled via the `git commit -s` option), indicating your agreement to the projects's [Developer's Certificate of Origin](https://developercertificate.org/) and compatability with the project [LICENSE](https://github.com/ROCm/omniperf/blob/main/LICENSE):
- Omniperf requires new commits to include a "Signed-off-by" token in the commit message (typically enabled via the `git commit -s` option), indicating your agreement to the projects's [Developer's Certificate of Origin](https://developercertificate.org/) and compatability with the project [LICENSE](LICENSE):


> (a) The contribution was created in whole or in part by me and I
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,17 @@
[![Docs](https://github.com/ROCm/omniperf/actions/workflows/docs.yml/badge.svg)](https://rocm.github.io/omniperf/)
[![DOI](https://zenodo.org/badge/561919887.svg)](https://zenodo.org/badge/latestdoi/561919887)


# Omniperf

## General

Omniperf is a system performance profiling tool for machine
learning/HPC workloads running on AMD MI GPUs. The tool presently
targets usage on MI100, MI200, and MI300 accelerators.

* For more information on available features, installation steps, and
workload profiling and analysis, please refer to the online
[documentation](https://rocm.github.io/omniperf).
[documentation](https://rocm.docs.amd.com/projects/omniperf/en/latest/).

* Omniperf is an AMD open source research project and is not supported
as part of the ROCm software stack. We welcome contributions and
Expand All @@ -29,10 +29,10 @@ contribution process.
Omniperf follows a
[main-dev](https://nvie.com/posts/a-successful-git-branching-model/)
branching model. As a result, our latest stable release is shipped
from the `main` branch, while new features are developed in our
`dev` branch.
from the `amd-mainline` branch, while new features are developed in our
`amd-staging` branch.

Users may checkout `dev` to preview upcoming features.
Users may checkout `amd-staging` to preview upcoming features.

## How to Cite

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ $ omniperf analyze -p workloads/vcopy/mi200/ --list-metrics gfx90a
├─────────┼─────────────────────────────┤
...
```
2. Choose your own customized subset of metrics with `-b` (a.k.a. `--metric`), or build your own config following [config_template](https://github.com/ROCm/omniperf/blob/main/src/omniperf_analyze/configs/panel_config_template.yaml). Below shows how to generate a report containing only metric 2 (a.k.a. System Speed-of-Light).
2. Choose your own customized subset of metrics with `-b` (a.k.a. `--metric`), or build your own config following [config_template](https://github.com/ROCm/omniperf/blob/amd-mainline/src/omniperf_analyze/configs/panel_config_template.yaml). Below shows how to generate a report containing only metric 2 (a.k.a. System Speed-of-Light).
```shell-session
$ omniperf analyze -p workloads/vcopy/mi200/ -b 2
--------
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit f04ddfe

Please sign in to comment.