diff --git a/.github/workflows/opensuse.yml b/.github/workflows/opensuse.yml index f6de06e6..89ae9ba7 100644 --- a/.github/workflows/opensuse.yml +++ b/.github/workflows/opensuse.yml @@ -13,6 +13,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' pull_request: branches: [ amd-mainline, amd-staging, release/** ] @@ -25,6 +26,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' concurrency: diff --git a/.github/workflows/redhat.yml b/.github/workflows/redhat.yml index d48ab579..aee533bf 100644 --- a/.github/workflows/redhat.yml +++ b/.github/workflows/redhat.yml @@ -13,6 +13,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' pull_request: branches: [ amd-mainline, amd-staging, release/** ] @@ -25,6 +26,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' concurrency: diff --git a/.github/workflows/ubuntu-focal.yml b/.github/workflows/ubuntu-focal.yml index 93ed6182..67c72611 100644 --- a/.github/workflows/ubuntu-focal.yml +++ b/.github/workflows/ubuntu-focal.yml @@ -13,6 +13,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' pull_request: branches: [ amd-mainline, amd-staging, release/** ] @@ -25,6 +26,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' concurrency: diff --git a/.github/workflows/ubuntu-jammy.yml b/.github/workflows/ubuntu-jammy.yml index b69b0634..0bdc77ff 100644 --- a/.github/workflows/ubuntu-jammy.yml +++ b/.github/workflows/ubuntu-jammy.yml @@ -13,6 +13,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' pull_request: branches: [ amd-mainline, amd-staging, release/** ] @@ -25,6 +26,7 @@ on: - '.github/workflows/cpack.yml' - '.github/workflows/containers.yml' - '.github/workflows/formatting.yml' + - '.github/workflows/weekly-mainline-sync.yml' - 'docker/**' concurrency: diff --git a/.github/workflows/weekly-mainline-sync.yml b/.github/workflows/weekly-mainline-sync.yml new file mode 100644 index 00000000..b175c36d --- /dev/null +++ b/.github/workflows/weekly-mainline-sync.yml @@ -0,0 +1,27 @@ +name: Sync Mainline with Staging +on: + workflow_dispatch: + schedule: + - cron: 0 5 * * sun + +jobs: + promote-stg-to-main: + if: github.repository == 'ROCm/rocprofiler-systems' + runs-on: ubuntu-latest + name: Promote Staging to Mainline + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: amd-mainline + fetch-depth: '0' + + - name: Merge - Fast Forward Only + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git checkout amd-mainline + git checkout -b promote-staging-$(date +%F) + git merge --ff-only origin/amd-staging + git push -u origin HEAD + gh pr create --base amd-mainline --title "Promote \`amd-staging\` to \`amd-mainline\`" --fill --label "automerge" diff --git a/cmake/ConfigCPack.cmake b/cmake/ConfigCPack.cmake index 14ed2fcc..ce5fa731 100644 --- a/cmake/ConfigCPack.cmake +++ b/cmake/ConfigCPack.cmake @@ -45,6 +45,10 @@ set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") set(CPACK_PACKAGE_CONTACT "https://github.com/ROCm/rocprofiler-systems") set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF) + +# For handling the project rebranding from "omnitrace" to "rocprofiler-systems" +set(OMNITRACE_PACKAGE_NAME "omnitrace") + set(ROCPROFSYS_CPACK_SYSTEM_NAME "${_SYSTEM_NAME}" CACHE STRING "System name, e.g. Linux or Ubuntu-20.04") @@ -184,6 +188,11 @@ set(CPACK_DEBIAN_PACKAGE_DEPENDS set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +# Handle the project rebranding from "omnitrace" to "rocprofiler-systems" +set(CPACK_DEBIAN_PACKAGE_PROVIDES ${OMNITRACE_PACKAGE_NAME}) +set(CPACK_DEBIAN_PACKAGE_REPLACES ${OMNITRACE_PACKAGE_NAME}) +set(CPACK_DEBIAN_PACKAGE_BREAKS ${OMNITRACE_PACKAGE_NAME}) + # -------------------------------------------------------------------------------------- # # # RPM package specific variables @@ -200,7 +209,10 @@ string(REGEX REPLACE "([a-zA-Z])-([0-9])" "\\1\\2" CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}") string(REPLACE "-" "~" CPACK_RPM_PACKAGE_RELEASE "${CPACK_RPM_PACKAGE_RELEASE}") -set(_RPM_PACKAGE_PROVIDES "") +# Handle the project rebranding from "omnitrace" to "rocprofiler-systems" +set(CPACK_RPM_PACKAGE_OBSOLETES ${OMNITRACE_PACKAGE_NAME}) +set(CPACK_RPM_PACKAGE_CONFLICTS ${OMNITRACE_PACKAGE_NAME}) +set(_RPM_PACKAGE_PROVIDES ${OMNITRACE_PACKAGE_NAME}) if(ROCPROFSYS_BUILD_LIBUNWIND) list(APPEND _RPM_PACKAGE_PROVIDES "libunwind.so.99()(64bit)") diff --git a/cmake/PAPI.cmake b/cmake/PAPI.cmake index 7c933669..780dd101 100644 --- a/cmake/PAPI.cmake +++ b/cmake/PAPI.cmake @@ -45,6 +45,9 @@ if(NOT EXISTS "${ROCPROFSYS_PAPI_INSTALL_DIR}") ${ROCPROFSYS_PAPI_INSTALL_DIR}/lib/libpfm.so) endif() +# Set ROCPROFSYS_PAPI_CONFIGURE_JOBS for commands that need to be run nonparallel +set(ROCPROFSYS_PAPI_CONFIGURE_JOBS 1) + rocprofiler_systems_add_option(ROCPROFSYS_PAPI_AUTO_COMPONENTS "Automatically enable components" OFF) @@ -212,8 +215,10 @@ externalproject_add( --with-perf-events --with-tests=no --with-components=${_ROCPROFSYS_PAPI_COMPONENTS} --libdir=${ROCPROFSYS_PAPI_INSTALL_DIR}/lib - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E env CFLAGS=-fPIC\ -O3\ -Wno-stringop-truncation - ${ROCPROFSYS_PAPI_EXTRA_ENV} ${MAKE_EXECUTABLE} static install -s + CONFIGURE_COMMAND + ${CMAKE_COMMAND} -E env CFLAGS=-fPIC\ -O3\ -Wno-stringop-truncation + ${ROCPROFSYS_PAPI_EXTRA_ENV} ${MAKE_EXECUTABLE} static install -s -j + ${ROCPROFSYS_PAPI_CONFIGURE_JOBS} BUILD_COMMAND ${CMAKE_COMMAND} -E env CFLAGS=-fPIC\ -O3\ -Wno-stringop-truncation ${ROCPROFSYS_PAPI_EXTRA_ENV} ${MAKE_EXECUTABLE} utils install-utils -s INSTALL_COMMAND "" diff --git a/cmake/Templates/console-script.in b/cmake/Templates/console-script.in index 039de3e4..76a5fafb 100755 --- a/cmake/Templates/console-script.in +++ b/cmake/Templates/console-script.in @@ -14,4 +14,4 @@ run-script() eval $@ } -run-script ${PYTHON_EXECUTABLE} -m @SCRIPT_SUBMODULE@ $@ +run-script ${PYTHON_EXECUTABLE} -m @SCRIPT_SUBMODULE@ "$(printf ' %q' "$@")" diff --git a/docs/sphinx/requirements.in b/docs/sphinx/requirements.in index ad94caa9..09799066 100644 --- a/docs/sphinx/requirements.in +++ b/docs/sphinx/requirements.in @@ -1 +1 @@ -rocm-docs-core[api_reference]==1.8.3 +rocm-docs-core[api_reference]==1.10.0 diff --git a/docs/sphinx/requirements.txt b/docs/sphinx/requirements.txt index 1b5eb1e0..ba69857a 100644 --- a/docs/sphinx/requirements.txt +++ b/docs/sphinx/requirements.txt @@ -25,9 +25,18 @@ cffi==1.17.1 charset-normalizer==3.3.2 # via requests click==8.1.7 - # via sphinx-external-toc + # via + # click-log + # doxysphinx + # sphinx-external-toc +click-log==0.4.0 + # via doxysphinx +contourpy==1.3.1 + # via matplotlib cryptography==43.0.1 # via pyjwt +cycler==0.12.1 + # via matplotlib deprecated==1.2.14 # via pygithub docutils==0.21.2 @@ -36,8 +45,12 @@ docutils==0.21.2 # myst-parser # pydata-sphinx-theme # sphinx +doxysphinx==3.3.12 + # via rocm-docs-core fastjsonschema==2.20.0 # via rocm-docs-core +fonttools==4.55.0 + # via matplotlib gitdb==4.0.11 # via gitpython gitpython==3.1.43 @@ -50,22 +63,40 @@ jinja2==3.1.4 # via # myst-parser # sphinx +kiwisolver==1.4.7 + # via matplotlib +libsass==0.22.0 + # via doxysphinx +lxml==5.2.1 + # via doxysphinx markdown-it-py==3.0.0 # via # mdit-py-plugins # myst-parser markupsafe==2.1.5 # via jinja2 +matplotlib==3.9.2 + # via doxysphinx mdit-py-plugins==0.4.2 # via myst-parser mdurl==0.1.2 # via markdown-it-py +mpire==2.10.2 + # via doxysphinx myst-parser==4.0.0 # via rocm-docs-core +numpy==1.26.4 + # via + # contourpy + # doxysphinx + # matplotlib packaging==24.1 # via + # matplotlib # pydata-sphinx-theme # sphinx +pillow==11.0.0 + # via matplotlib pycparser==2.22 # via cffi pydata-sphinx-theme==0.15.4 @@ -77,12 +108,21 @@ pygithub==2.4.0 pygments==2.18.0 # via # accessible-pygments + # mpire # pydata-sphinx-theme # sphinx +pyjson5==1.6.7 + # via doxysphinx pyjwt[crypto]==2.9.0 # via pygithub pynacl==1.5.0 # via pygithub +pyparsing==3.2.0 + # via + # doxysphinx + # matplotlib +python-dateutil==2.9.0.post0 + # via matplotlib pyyaml==6.0.2 # via # myst-parser @@ -92,8 +132,10 @@ requests==2.32.3 # via # pygithub # sphinx -rocm-docs-core[api-reference]==1.8.3 +rocm-docs-core[api-reference]==1.10.0 # via -r requirements.in +six==1.16.0 + # via python-dateutil smmap==5.0.1 # via gitdb snowballstemmer==2.2.0 @@ -135,6 +177,8 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx tomli==2.0.2 # via sphinx +tqdm==4.67.1 + # via mpire typing-extensions==4.12.2 # via # pydata-sphinx-theme diff --git a/tests/rocprof-sys-openmp-tests.cmake b/tests/rocprof-sys-openmp-tests.cmake index 94d072c6..91a5cb9d 100644 --- a/tests/rocprof-sys-openmp-tests.cmake +++ b/tests/rocprof-sys-openmp-tests.cmake @@ -38,6 +38,16 @@ rocprofiler_systems_add_test( REWRITE_RUN_PASS_REGEX "${_OMPT_PASS_REGEX}" REWRITE_FAIL_REGEX "0 instrumented loops in procedure") +rocprofiler_systems_add_test( + SKIP_RUNTIME SKIP_REWRITE + NAME openmp-target + TARGET openmp-target + GPU ON + LABELS "openmp;openmp-target" + ENVIRONMENT + "${_ompt_environment};ROCPROFSYS_ROCTRACER_HSA_ACTIVITY=OFF;ROCPROFSYS_ROCTRACER_HSA_API=OFF" + ) + set(_ompt_sampling_environ "${_ompt_environment}" "ROCPROFSYS_VERBOSE=2"