Skip to content

Commit

Permalink
Rename Omniperf to ROCm Compute Profiler (#428)
Browse files Browse the repository at this point in the history
- 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>
  • Loading branch information
xuchen-amd authored Nov 1, 2024
1 parent 2de2faf commit 31b4de1
Show file tree
Hide file tree
Showing 379 changed files with 1,977 additions and 1,844 deletions.
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ body:
required: true

- type: input
id: omniperf-version
id: rocprofiler-compute-version
attributes:
label: Omniperf Version
label: ROCm Compute Profiler Version
description: |
What version of Omniperf are you using? Hint:
What version of ROCm Compute Profiler are you using? Hint:
```shell
omniperf --version
rocprof-compute --version
```
placeholder: e.g. 2.1.0
validations:
Expand Down Expand Up @@ -115,7 +115,7 @@ body:
id: logs
attributes:
label: Relevant log output
description: Please copy and paste Omniperf's `log.txt` file. This will be automatically formatted into code, so no need for backticks.
description: Please copy and paste rocprofiler-compute's `log.txt` file. This will be automatically formatted into code, so no need for backticks.
render: shell

- type: textarea
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/mi-rhel9.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,17 +85,17 @@ jobs:
run: |
cd build
make
srun -N 1 -J omniperf -p $CI_QUEUE -t 00:20:00 ctest -j 4 --resource-spec-file ../tests/4gpus.json --verbose -L profile
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 omniperf -p $CI_QUEUE -t 00:10:00 ctest --verbose -R test_analyze_workloads
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 omniperf -p $CI_QUEUE -t 00:10:00 ctest --verbose -R test_analyze_commands
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()
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,29 +37,29 @@ jobs:
cd build
make package_source
- name: Rename tarball
run: mv build/omniperf-*.tar.gz build/omniperf-${{github.ref_name}}.tar.gz
run: mv build/rocprofiler-compute-*.tar.gz build/rocprofiler-compute-${{github.ref_name}}.tar.gz
- name: Archive tarball
uses: actions/upload-artifact@v4
with:
name: omniperf-${{github.ref_name}}.tar.gz
path: build/omniperf-${{github.ref_name}}.tar.gz
name: rocprofiler-compute-${{github.ref_name}}.tar.gz
path: build/rocprofiler-compute-${{github.ref_name}}.tar.gz
- name: Set version
run: echo "VERSION=$(cat VERSION)" >> $GITHUB_ENV
- name: Determine release name
run: |
if [[ ${{github.ref_name}} == rocm-* ]]; then
echo "RELEASE_NAME=Omniperf ${{ env.VERSION }} for ${{github.ref_name}}"
echo "RELEASE_NAME=rocprofiler-compute ${{ env.VERSION }} for ${{github.ref_name}}"
else
echo "RELEASE_NAME=Omniperf ${{ env.VERSION }}"
echo "RELEASE_NAME=rocprofiler-compute ${{ env.VERSION }}"
fi >> $GITHUB_ENV
- name: Upload tarball Release Asset
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'ROCm/omniperf'
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'ROCm/rocprofiler-compute'
with:
fail_on_unmatched: True
generate_release_notes: True
draft: False # toggle for debugging
files: |
build/omniperf-${{github.ref_name}}.tar.gz
build/rocprofiler-compute-${{github.ref_name}}.tar.gz
name: ${{ env.RELEASE_NAME }}

2 changes: 1 addition & 1 deletion .github/workflows/rhel-8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/omniperf -DPYTEST_NUMPROCS=4 ..
cmake -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-compute -DPYTEST_NUMPROCS=4 ..
make install
- name: CTest- Analyze Commands
run: |
Expand Down
44 changes: 22 additions & 22 deletions .github/workflows/tarball.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 Expand Up @@ -47,7 +47,7 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: tarball-testing
path: build/omniperf-*.tar.gz
path: build/rocprofiler-compute-*.tar.gz
retention-days: 3
disttest:
runs-on: ubuntu-latest
Expand All @@ -61,47 +61,47 @@ jobs:
with:
name: tarball-testing
- name: Expand
run: tar xfz omniperf-*.tar.gz; rm omniperf-*.tar.gz
run: tar xfz rocprofiler-compute-*.tar.gz; rm rocprofiler-compute-*.tar.gz
- name: Python dependency installs
run: |
cd omniperf-*
cd rocprofiler-compute-*
python3 -m pip install -t${INSTALL_DIR}/python-libs -r requirements.txt
- name: Configure
run: |
cd omniperf-*
cd rocprofiler-compute-*
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/omniperf \
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}/rocprofiler-compute \
-DPYTHON_DEPS=${INSTALL_DIR}/python-libs ..
- name: Install
run: |
cd omniperf-*
cd rocprofiler-compute-*
cd build
make install
- name: Verify expected paths
run: |
# find $INSTALL_DIR
test -d $INSTALL_DIR/omniperf
test -x $INSTALL_DIR/omniperf/bin/omniperf
test -s $INSTALL_DIR/omniperf/libexec/omniperf/VERSION
test -s $INSTALL_DIR/omniperf/libexec/omniperf/VERSION.sha
test -d $INSTALL_DIR/omniperf/libexec/omniperf/omniperf_analyze
test -d $INSTALL_DIR/omniperf/libexec/omniperf/omniperf_profile
test -d $INSTALL_DIR/omniperf/libexec/omniperf/omniperf_soc
test -d $INSTALL_DIR/omniperf/libexec/omniperf/utils
test -s $INSTALL_DIR/omniperf/share/omniperf/sample/vcopy.cpp
test -d $INSTALL_DIR/omniperf/share/omniperf/modulefiles
test -d $INSTALL_DIR/rocprofiler-compute
test -x $INSTALL_DIR/rocprofiler-compute/bin/rocprof-compute
test -s $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/VERSION
test -s $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/VERSION.sha
test -d $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/rocprof_compute_analyze
test -d $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/rocprof_compute_profile
test -d $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/rocprof_compute_soc
test -d $INSTALL_DIR/rocprofiler-compute/libexec/rocprofiler-compute/utils
test -s $INSTALL_DIR/rocprofiler-compute/share/rocprofiler-compute/sample/vcopy.cpp
test -d $INSTALL_DIR/rocprofiler-compute/share/rocprofiler-compute/modulefiles
- name: Query version (setting PYTHONPATH by hand)
run: |
export PYTHONPATH=${INSTALL_DIR}/python-libs:$PYTHONPATH
$INSTALL_DIR/omniperf/bin/omniperf --version
$INSTALL_DIR/rocprofiler-compute/bin/rocprof-compute --version
- name: Install Lmod
run: sudo apt-get install -y lmod
- name: Access omniperf using modulefile
- name: Access rocprofiler-compute using modulefile
run: |
. /etc/profile.d/lmod.sh
module use $INSTALL_DIR/omniperf/share/omniperf/modulefiles
module load omniperf
module use $INSTALL_DIR/rocprofiler-compute/share/rocprofiler-compute/modulefiles
module load rocprofiler-compute
module list
omniperf --version
rocprof-compute --version
2 changes: 1 addition & 1 deletion .github/workflows/ubuntu-jammy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/omniperf -DPYTEST_NUMPROCS=4 ..
cmake -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-compute -DPYTEST_NUMPROCS=4 ..
make install
- name: CTest- Analyze Commands
run: |
Expand Down
2 changes: 1 addition & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This is the list of Omniperf's significant contributors.
# This is the list of ROCm Compute Profiler's significant contributors.
#
# This does not necessarily list everyone who has contributed code,
# especially since many employees of one corporation may be contributing.
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog for Omniperf
# Changelog for ROCm Compute Profiler

Full documentation for Omniperf is available at [https://rocm.docs.amd.com/projects/omniperf/en/latest/](https://rocm.docs.amd.com/projects/omniperf/en/latest/).
Full documentation for ROCm Compute Profiler is available at [https://rocm.docs.amd.com/projects/rocprofiler-compute/en/latest/](https://rocm.docs.amd.com/projects/rocprofiler-compute/en/latest/).

## Omniperf 2.1.0 for ROCm 6.2.2

Expand Down
74 changes: 42 additions & 32 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,27 @@ message(STATUS "Hostname: ${LOCALHOST}")
# Versioning info derived from file
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" FULL_VERSION_STRING LIMIT_COUNT 1)
string(REGEX REPLACE "(\n|\r)" "" FULL_VERSION_STRING "${FULL_VERSION_STRING}")
set(OMNIPERF_FULL_VERSION "${FULL_VERSION_STRING}")
string(REGEX REPLACE "([0-9]+)\.([0-9]+)\.([0-9]+)(.*)" "\\1.\\2.\\3" OMNIPERF_VERSION
"${FULL_VERSION_STRING}")
set(ROCPROFCOMPUTE_FULL_VERSION "${FULL_VERSION_STRING}")
string(REGEX REPLACE "([0-9]+)\.([0-9]+)\.([0-9]+)(.*)" "\\1.\\2.\\3"
ROCPROFCOMPUTE_VERSION "${FULL_VERSION_STRING}")

# string(REGEX REPLACE "(${OMNIPERF_VERSION})(.*)" "\\2" OMNIPERF_VERSION_TWEAK
# string(REGEX REPLACE "(${ROCPROFCOMPUTE_VERSION})(.*)" "\\2"
# ROCPROFCOMPUTE_VERSION_TWEAK
# "${FULL_VERSION_STRING}")
# string(REGEX REPLACE "^\\." "" OMNIPERF_VERSION_TWEAK "${OMNIPERF_VERSION_TWEAK}")
# string(REGEX REPLACE "^\\." "" ROCPROFCOMPUTE_VERSION_TWEAK
# "${ROCPROFCOMPUTE_VERSION_TWEAK}")

project(
omniperf
VERSION ${OMNIPERF_VERSION}
rocprofiler-compute
VERSION ${ROCPROFCOMPUTE_VERSION}
LANGUAGES C
DESCRIPTION "OmniPerf"
HOMEPAGE_URL "https://github.com/ROCm/omniperf")
DESCRIPTION
"A kernel-level profiling tool for machine learning/HPC workloads running on AMD MI GPUs"
HOMEPAGE_URL "https://github.com/ROCm/rocprofiler-compute")

set(PACKAGE_NAME "rocprofiler-compute")
set(PACKAGE_NAME_UNDERSCORE "rocprofiler_compute")
set(EXECUTABLE_NAME "rocprof-compute")

include(ExternalProject)
include(GNUInstallDirs)
Expand All @@ -39,9 +46,9 @@ find_package(Git)
if(Git_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
execute_process(
COMMAND git log --pretty=format:%h -n 1
OUTPUT_VARIABLE OMNIPERF_GIT_REV
OUTPUT_VARIABLE ROCPROFCOMPUTE_GIT_REV
OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "Git revision: ${OMNIPERF_GIT_REV}")
message(STATUS "Git revision: ${ROCPROFCOMPUTE_GIT_REV}")
set(GIT_CLONE TRUE)
else()
set(GIT_CLONE FALSER)
Expand Down Expand Up @@ -133,18 +140,19 @@ set(MOD_INSTALL_PATH
CACHE STRING "Install path for modulefile")
message(STATUS "Modulefile install path: ${MOD_INSTALL_PATH}")

set(moduleFileTemplate "omniperf.lua.in")
set(moduleFileTemplate "rocprofcompute.lua.in")

configure_file(
${PROJECT_SOURCE_DIR}/cmake/${moduleFileTemplate}
${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${OMNIPERF_FULL_VERSION}.lua @ONLY)
${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${ROCPROFCOMPUTE_FULL_VERSION}.lua @ONLY)

# Thera mods
if(LOCALHOST MATCHES "TheraS01|.*\.thera\.amd\.com|thera-hn")
list(APPEND CMAKE_MESSAGE_INDENT " ")
message(STATUS "Using thera-specific modulefile modification")
file(READ ${PROJECT_SOURCE_DIR}/cmake/modfile.thera.mod mod_additions)
file(APPEND ${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${OMNIPERF_FULL_VERSION}.lua
file(APPEND
${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${ROCPROFCOMPUTE_FULL_VERSION}.lua
${mod_additions})
list(POP_BACK CMAKE_MESSAGE_INDENT)
endif()
Expand Down Expand Up @@ -274,9 +282,9 @@ add_test(
# Install
# ---------

# top-level omniperf utility
# top-level rocprofiler-compute utility
install(
PROGRAMS src/omniperf
PROGRAMS src/${EXECUTABLE_NAME}
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}
COMPONENT main)
# python dependency requirements
Expand All @@ -286,16 +294,16 @@ install(
COMPONENT main)
# support files and version info
install(
FILES src/argparser.py src/config.py src/omniperf_base.py src/roofline.py VERSION
VERSION.sha
FILES src/argparser.py src/config.py src/rocprof_compute_base.py src/roofline.py
VERSION VERSION.sha
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}
COMPONENT main)
# src/omniperf_analyze
# src/rocprof_compute_analyze
install(
DIRECTORY src/omniperf_analyze
DIRECTORY src/rocprof_compute_analyze
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}
COMPONENT main
PATTERN src/omniperf_analyze/tests EXCLUDE
PATTERN src/rocprof_compute_analyze/tests EXCLUDE
PATTERN "__pycache__" EXCLUDE)
# src/utils
install(
Expand All @@ -310,15 +318,15 @@ install(
PROGRAMS ${rooflinebins}
DESTINATION ${CMAKE_INSTALL_BINDIR}
COMPONENT main)
# src/omniperf_soc
# src/rocprof_compute_soc
install(
DIRECTORY src/omniperf_soc
DIRECTORY src/rocprof_compute_soc
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}
COMPONENT main
PATTERN "__pycache__" EXCLUDE)
# src/omniperf_profile
# src/rocprof_compute_profile
install(
DIRECTORY src/omniperf_profile
DIRECTORY src/rocprof_compute_profile
DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}
COMPONENT main
PATTERN "__pycache__" EXCLUDE)
Expand All @@ -339,16 +347,16 @@ install(
PATTERN "workloads" EXCLUDE)
# modulefile
install(
FILES ${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${OMNIPERF_FULL_VERSION}.lua
FILES ${PROJECT_BINARY_DIR}/${MOD_INSTALL_PATH}/${ROCPROFCOMPUTE_FULL_VERSION}.lua
DESTINATION ${MOD_INSTALL_PATH}
COMPONENT main)

# top-level symlink for bin/omniperf
# top-level symlink for bin/rocprof-compute
install(
CODE "execute_process(
COMMAND bash -c \"set -e
cd \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}
ln -sf ../${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}/omniperf ${CMAKE_INSTALL_BINDIR}/omniperf
ln -sf ../${CMAKE_INSTALL_LIBEXECDIR}/${PROJECT_NAME}/${EXECUTABLE_NAME} ${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}
\")"
COMPONENT main)

Expand All @@ -361,7 +369,7 @@ add_custom_target(
COMMAND
${PROJECT_SOURCE_DIR}/utils/update_license.py --source ${PROJECT_SOURCE_DIR}
--license ${PROJECT_SOURCE_DIR}/LICENSE --file
"src/omniperf,cmake/Dockerfile,cmake/rocm_install.sh,docker/docker-entrypoint.sh,src/omniperf_analyze/convertor/mongodb/convert"
"src/${PACKAGE_NAME},cmake/Dockerfile,cmake/rocm_install.sh,docker/docker-entrypoint.sh,src/rocprof_compute_analyze/convertor/mongodb/convert"
)

# TEST collateral
Expand Down Expand Up @@ -396,9 +404,11 @@ set(CPACK_GENERATOR
set(CPACK_PACKAGE_NAME
"${PROJECT_NAME}"
CACHE STRING "")
set(CPACK_PACKAGE_CONTACT "https://github.com/ROCm/omniperf")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Omniperf: tool for GPU performance profiling")
set(CPACK_RPM_PACKAGE_DESCRIPTION "Omniperf is a performance analysis tool for profiling
set(CPACK_PACKAGE_CONTACT "https://github.com/ROCm/rocprofiler-compute")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
"ROCm Compute Profiler: tool for GPU performance profiling")
set(CPACK_RPM_PACKAGE_DESCRIPTION
"ROCm Compute Profiler is a performance analysis tool for profiling
machine learning/HPC workloads running on AMD GPUs.")
set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.")

Expand Down
Loading

0 comments on commit 31b4de1

Please sign in to comment.