cpack workflow for building installers (#35)
* cpack workflow for building installers
- ConfigCPack.cmake update
- STGZ and DEB + containers + test artifact
- DEBIAN_FRONTEND + set -v
- submodule fix
- actions checkout
- OMNITRACE_ROCM_VERSION + continue-on-error
- Change CPack generators + fix path to DEB
- separate configure, build, and package steps
- use cd instead of pushd
- FindROCmVersion + fix to cpack testing
- use ${ROCM_PATH}/.info/version for ROCm version info
- Tweaks for debian installer
- Packaging fixes
- Use CMAKE_SHARED_LIBRARY_SUFFIX instead of .so
- Split cpack.yml into 4 workflows
- Replace source with export in cpack
- Dyninst boost uses tar.gz instead of zip on Unix
* Fix to common join
* Update VERSION to 1.0.0
[ROCm/rocprofiler-systems commit: 5c4d5c394f]
This commit is contained in:
committed by
GitHub
parent
5f08854a3a
commit
4ddb8405ac
@@ -54,6 +54,13 @@ parse:
|
||||
PASS_REGULAR_EXPRESSION: '*'
|
||||
FAIL_REGULAR_EXPRESSION: '*'
|
||||
SKIP_REGULAR_EXPRESSION: '*'
|
||||
rocm_version_message:
|
||||
flags:
|
||||
- STATUS
|
||||
- WARNING
|
||||
- SEND_ERROR
|
||||
- FATAL_ERROR
|
||||
- AUTHOR_WARNING
|
||||
override_spec: {}
|
||||
vartags: []
|
||||
proptags: []
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
name: cancel-builds-on-update
|
||||
on:
|
||||
workflow_run:
|
||||
# workflows: ['formatting', 'ubuntu-bionic', 'ubuntu-focal-dyninst-package', 'ubuntu-focal-external-rocm', 'ubuntu-focal-external', 'ubuntu-focal']
|
||||
workflows: ['formatting', 'ubuntu-focal-external', 'ubuntu-focal-external-rocm']
|
||||
workflows: ['formatting', 'ubuntu-bionic', 'ubuntu-focal-dyninst-package', 'ubuntu-focal-external-rocm', 'ubuntu-focal-external', 'ubuntu-focal', 'cpack-bionic', 'cpack-bionic-rocm', 'cpack-focal', cpack-focal-rocm']
|
||||
types: ['requested']
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
name: cpack-bionic-rocm
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [releases/**]
|
||||
pull_request:
|
||||
branches: [releases/**]
|
||||
|
||||
env:
|
||||
CMAKE_BUILD_PARALLEL_LEVEL: 2
|
||||
CORE_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF -DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
OMNITRACE_CMAKE_ARGS: -DOMNITRACE_MAX_THREADS=2048 -DOMNITRACE_BUILD_TESTING=OFF -DOMNITRACE_USE_MPI_HEADERS=ON -DOMNITRACE_USE_HIP=ON
|
||||
TIMEMORY_CMAKE_ARGS: -DTIMEMORY_USE_LIBUNWIND=ON -DTIMEMORY_BUILD_LIBUNWIND=ON -DTIMEMORY_BUILD_PORTABLE=ON
|
||||
DYNINST_CMAKE_ARGS: -DOMNITRACE_BUILD_DYNINST=ON -DDYNINST_BUILD_TBB=ON -DDYNINST_BUILD_BOOST=ON -DDYNINST_BUILD_ELFUTILS=ON -DDYNINST_BUILD_LIBIBERTY=ON -DDYNINST_USE_OpenMP=ON
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
|
||||
jobs:
|
||||
cpack:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: ubuntu:${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [18.04]
|
||||
rocm-latest: [5.0]
|
||||
rocm-version: [4.5, 5.0]
|
||||
extensions: ["", "all"]
|
||||
|
||||
steps:
|
||||
- name: Patch Git
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:git-core/ppa
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install System Packages
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y build-essential cmake libnuma-dev wget gnupg2 m4 git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev-dev libopenmpi-dev openmpi-bin rpm librpm-dev
|
||||
python3 -m pip install 'cmake==3.18.4'
|
||||
|
||||
- name: Install HIP Packages
|
||||
if: ${{ matrix.rocm-version != matrix.rocm-latest }}
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev rocm-smi-lib
|
||||
|
||||
- name: Install HIP Packages
|
||||
if: ${{ matrix.rocm-version == matrix.rocm-latest }}
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev rocm-smi-lib
|
||||
|
||||
- name: Configure Env
|
||||
run: |
|
||||
export OMNITRACE_VERSION=$(cat VERSION)
|
||||
export OMNITRACE_DISTRO=$(lsb_release -i | awk '{print $NF}')-$(lsb_release -r | awk '{print $NF}')
|
||||
echo "OMNITRACE_VERSION=${OMNITRACE_VERSION}" >> $GITHUB_ENV
|
||||
echo "OMNITRACE_DISTRO=${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "COMMON_CMAKE_ARGS=${CORE_CMAKE_ARGS} ${OMNITRACE_CMAKE_ARGS} ${TIMEMORY_CMAKE_ARGS} ${DYNINST_CMAKE_ARGS}" >> $GITHUB_ENV
|
||||
echo "PACKAGE_BASE_TAG=omnitrace-${OMNITRACE_VERSION}-${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "PATH=${HOME}/.local/bin:${PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Print Env
|
||||
run: |
|
||||
env
|
||||
|
||||
# HIP without extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == '' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} .
|
||||
|
||||
# HIP with extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == 'all' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DOMNITRACE_USE_PAPI=ON -DOMNITRACE_USE_OMPT=ON .
|
||||
|
||||
# Build
|
||||
- name: Build Package
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cmake --build build-release --target all
|
||||
|
||||
# Generate STGZ
|
||||
- name: Generate STGZ
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G STGZ
|
||||
|
||||
# Generate DEB
|
||||
- name: Generate DEB
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omnitrace
|
||||
|
||||
- name: List Files
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
find . -type f | egrep '\.(sh|deb|rpm)$'
|
||||
|
||||
- name: STGZ Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stgz-installers
|
||||
path: |
|
||||
build-release/omnitrace-*.sh
|
||||
|
||||
- name: DEB Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: deb-installers
|
||||
path: |
|
||||
build-release/omnitrace_*.deb
|
||||
|
||||
# before testing remove any artifacts of the build
|
||||
- name: Remove Build and Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
mv build-release/omnitrace-*.sh ./
|
||||
mv build-release/omnitrace_*.deb ./
|
||||
rm -rf build-release
|
||||
rm -rf /opt/omnitrace
|
||||
|
||||
- name: STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
mkdir /opt/omnitrace-stgz
|
||||
./omnitrace-*.sh --prefix=/opt/omnitrace-stgz --skip-license --exclude-dir
|
||||
|
||||
- name: List STGZ Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace-stgz
|
||||
|
||||
- name: Test STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace-stgz/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace-stgz/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
|
||||
- name: DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
dpkg --contents ./omnitrace_*.deb
|
||||
dpkg -i ./omnitrace_*.deb
|
||||
|
||||
- name: List DEB Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace
|
||||
|
||||
- name: Test DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
@@ -0,0 +1,180 @@
|
||||
name: cpack-bionic
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [releases/**]
|
||||
pull_request:
|
||||
branches: [releases/**]
|
||||
|
||||
env:
|
||||
CMAKE_BUILD_PARALLEL_LEVEL: 2
|
||||
CORE_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF -DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
OMNITRACE_CMAKE_ARGS: -DOMNITRACE_MAX_THREADS=2048 -DOMNITRACE_BUILD_TESTING=OFF -DOMNITRACE_USE_MPI_HEADERS=ON -DOMNITRACE_USE_HIP=OFF
|
||||
TIMEMORY_CMAKE_ARGS: -DTIMEMORY_USE_LIBUNWIND=ON -DTIMEMORY_BUILD_LIBUNWIND=ON -DTIMEMORY_BUILD_PORTABLE=ON
|
||||
DYNINST_CMAKE_ARGS: -DOMNITRACE_BUILD_DYNINST=ON -DDYNINST_BUILD_TBB=ON -DDYNINST_BUILD_BOOST=ON -DDYNINST_BUILD_ELFUTILS=ON -DDYNINST_BUILD_LIBIBERTY=ON
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
|
||||
jobs:
|
||||
cpack:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: ubuntu:${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [18.04]
|
||||
extensions: ["", "all"]
|
||||
|
||||
steps:
|
||||
- name: Patch Git
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:git-core/ppa
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install System Packages
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y build-essential cmake libnuma-dev wget gnupg2 m4 git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev-dev libopenmpi-dev openmpi-bin rpm librpm-dev
|
||||
python3 -m pip install 'cmake==3.18.4'
|
||||
|
||||
- name: Configure Env
|
||||
run: |
|
||||
export OMNITRACE_VERSION=$(cat VERSION)
|
||||
export OMNITRACE_DISTRO=$(lsb_release -i | awk '{print $NF}')-$(lsb_release -r | awk '{print $NF}')
|
||||
echo "OMNITRACE_VERSION=${OMNITRACE_VERSION}" >> $GITHUB_ENV
|
||||
echo "OMNITRACE_DISTRO=${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "COMMON_CMAKE_ARGS=${CORE_CMAKE_ARGS} ${OMNITRACE_CMAKE_ARGS} ${TIMEMORY_CMAKE_ARGS} ${DYNINST_CMAKE_ARGS}" >> $GITHUB_ENV
|
||||
echo "PACKAGE_BASE_TAG=omnitrace-${OMNITRACE_VERSION}-${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "PATH=${HOME}/.local/bin:${PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Print Env
|
||||
run: |
|
||||
env
|
||||
|
||||
# CORE without extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == '' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DDYNINST_USE_OpenMP=OFF .
|
||||
|
||||
# CORE with extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == 'all' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DDYNINST_USE_OpenMP=ON -DOMNITRACE_USE_PAPI=ON -DOMNITRACE_USE_OMPT=ON .
|
||||
|
||||
# Build
|
||||
- name: Build Package
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cmake --build build-release --target all
|
||||
|
||||
# Generate STGZ
|
||||
- name: Generate STGZ
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G STGZ
|
||||
|
||||
# Generate DEB
|
||||
- name: Generate DEB
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omnitrace
|
||||
|
||||
- name: List Files
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
find . -type f | egrep '\.(sh|deb|rpm)$'
|
||||
|
||||
- name: STGZ Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stgz-installers
|
||||
path: |
|
||||
build-release/omnitrace-*.sh
|
||||
|
||||
- name: DEB Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: deb-installers
|
||||
path: |
|
||||
build-release/omnitrace_*.deb
|
||||
|
||||
# before testing remove any artifacts of the build
|
||||
- name: Remove Build and Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
mv build-release/omnitrace-*.sh ./
|
||||
mv build-release/omnitrace_*.deb ./
|
||||
rm -rf build-release
|
||||
rm -rf /opt/omnitrace
|
||||
|
||||
- name: STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
mkdir /opt/omnitrace-stgz
|
||||
./omnitrace-*.sh --prefix=/opt/omnitrace-stgz --skip-license --exclude-dir
|
||||
|
||||
- name: List STGZ Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace-stgz
|
||||
|
||||
- name: Test STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace-stgz/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace-stgz/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
|
||||
- name: DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
dpkg --contents ./omnitrace_*.deb
|
||||
dpkg -i ./omnitrace_*.deb
|
||||
|
||||
- name: List DEB Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace
|
||||
|
||||
- name: Test DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
@@ -0,0 +1,204 @@
|
||||
name: cpack-focal-rocm
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [releases/**]
|
||||
pull_request:
|
||||
branches: [releases/**]
|
||||
|
||||
env:
|
||||
CMAKE_BUILD_PARALLEL_LEVEL: 2
|
||||
CORE_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF -DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
OMNITRACE_CMAKE_ARGS: -DOMNITRACE_MAX_THREADS=2048 -DOMNITRACE_BUILD_TESTING=OFF -DOMNITRACE_USE_MPI_HEADERS=ON -DOMNITRACE_USE_HIP=ON
|
||||
TIMEMORY_CMAKE_ARGS: -DTIMEMORY_USE_LIBUNWIND=ON -DTIMEMORY_BUILD_LIBUNWIND=ON -DTIMEMORY_BUILD_PORTABLE=ON
|
||||
DYNINST_CMAKE_ARGS: -DOMNITRACE_BUILD_DYNINST=ON -DDYNINST_BUILD_TBB=ON -DDYNINST_BUILD_BOOST=ON -DDYNINST_BUILD_ELFUTILS=ON -DDYNINST_BUILD_LIBIBERTY=ON -DDYNINST_USE_OpenMP=ON
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
|
||||
jobs:
|
||||
cpack:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: ubuntu:${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [20.04]
|
||||
rocm-latest: [5.0]
|
||||
rocm-version: [4.5, 5.0]
|
||||
extensions: ["", "all"]
|
||||
|
||||
steps:
|
||||
- name: Patch Git
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:git-core/ppa
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install System Packages
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y build-essential cmake libnuma-dev wget gnupg2 m4 git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev-dev libopenmpi-dev openmpi-bin rpm librpm-dev
|
||||
python3 -m pip install 'cmake==3.18.4'
|
||||
|
||||
- name: Install HIP Packages
|
||||
if: ${{ matrix.rocm-version != matrix.rocm-latest }}
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev rocm-smi-lib
|
||||
|
||||
- name: Install HIP Packages
|
||||
if: ${{ matrix.rocm-version == matrix.rocm-latest }}
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y rocm-dev rocm-utils roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev rocm-smi-lib
|
||||
|
||||
- name: Configure Env
|
||||
run: |
|
||||
export OMNITRACE_VERSION=$(cat VERSION)
|
||||
export OMNITRACE_DISTRO=$(lsb_release -i | awk '{print $NF}')-$(lsb_release -r | awk '{print $NF}')
|
||||
echo "OMNITRACE_VERSION=${OMNITRACE_VERSION}" >> $GITHUB_ENV
|
||||
echo "OMNITRACE_DISTRO=${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "COMMON_CMAKE_ARGS=${CORE_CMAKE_ARGS} ${OMNITRACE_CMAKE_ARGS} ${TIMEMORY_CMAKE_ARGS} ${DYNINST_CMAKE_ARGS}" >> $GITHUB_ENV
|
||||
echo "PACKAGE_BASE_TAG=omnitrace-${OMNITRACE_VERSION}-${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "PATH=${HOME}/.local/bin:${PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Print Env
|
||||
run: |
|
||||
env
|
||||
|
||||
# HIP without extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == '' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} .
|
||||
|
||||
# HIP with extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == 'all' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DOMNITRACE_USE_PAPI=ON -DOMNITRACE_USE_OMPT=ON .
|
||||
|
||||
# Build
|
||||
- name: Build Package
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cmake --build build-release --target all
|
||||
|
||||
# Generate STGZ
|
||||
- name: Generate STGZ
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G STGZ
|
||||
|
||||
# Generate DEB
|
||||
- name: Generate DEB
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omnitrace
|
||||
|
||||
- name: List Files
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
find . -type f | egrep '\.(sh|deb|rpm)$'
|
||||
|
||||
- name: STGZ Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stgz-installers
|
||||
path: |
|
||||
build-release/omnitrace-*.sh
|
||||
|
||||
- name: DEB Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: deb-installers
|
||||
path: |
|
||||
build-release/omnitrace_*.deb
|
||||
|
||||
# before testing remove any artifacts of the build
|
||||
- name: Remove Build and Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
mv build-release/omnitrace-*.sh ./
|
||||
mv build-release/omnitrace_*.deb ./
|
||||
rm -rf build-release
|
||||
rm -rf /opt/omnitrace
|
||||
|
||||
- name: STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
mkdir /opt/omnitrace-stgz
|
||||
./omnitrace-*.sh --prefix=/opt/omnitrace-stgz --skip-license --exclude-dir
|
||||
|
||||
- name: List STGZ Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace-stgz
|
||||
|
||||
- name: Test STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace-stgz/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace-stgz/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
|
||||
- name: DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
dpkg --contents ./omnitrace_*.deb
|
||||
dpkg -i ./omnitrace_*.deb
|
||||
|
||||
- name: List DEB Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace
|
||||
|
||||
- name: Test DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
@@ -0,0 +1,180 @@
|
||||
name: cpack-focal
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [releases/**]
|
||||
pull_request:
|
||||
branches: [releases/**]
|
||||
|
||||
env:
|
||||
CMAKE_BUILD_PARALLEL_LEVEL: 2
|
||||
CORE_CMAKE_ARGS: -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF -DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
OMNITRACE_CMAKE_ARGS: -DOMNITRACE_MAX_THREADS=2048 -DOMNITRACE_BUILD_TESTING=OFF -DOMNITRACE_USE_MPI_HEADERS=ON -DOMNITRACE_USE_HIP=OFF
|
||||
TIMEMORY_CMAKE_ARGS: -DTIMEMORY_USE_LIBUNWIND=ON -DTIMEMORY_BUILD_LIBUNWIND=ON -DTIMEMORY_BUILD_PORTABLE=ON
|
||||
DYNINST_CMAKE_ARGS: -DOMNITRACE_BUILD_DYNINST=ON -DDYNINST_BUILD_TBB=ON -DDYNINST_BUILD_BOOST=ON -DDYNINST_BUILD_ELFUTILS=ON -DDYNINST_BUILD_LIBIBERTY=ON
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
|
||||
|
||||
jobs:
|
||||
cpack:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: ubuntu:${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [20.04]
|
||||
extensions: ["", "all"]
|
||||
|
||||
steps:
|
||||
- name: Patch Git
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
add-apt-repository -y ppa:git-core/ppa
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install System Packages
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
set -v
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt-get install -y build-essential cmake libnuma-dev wget gnupg2 m4 git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev-dev libopenmpi-dev openmpi-bin rpm librpm-dev
|
||||
python3 -m pip install 'cmake==3.18.4'
|
||||
|
||||
- name: Configure Env
|
||||
run: |
|
||||
export OMNITRACE_VERSION=$(cat VERSION)
|
||||
export OMNITRACE_DISTRO=$(lsb_release -i | awk '{print $NF}')-$(lsb_release -r | awk '{print $NF}')
|
||||
echo "OMNITRACE_VERSION=${OMNITRACE_VERSION}" >> $GITHUB_ENV
|
||||
echo "OMNITRACE_DISTRO=${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "COMMON_CMAKE_ARGS=${CORE_CMAKE_ARGS} ${OMNITRACE_CMAKE_ARGS} ${TIMEMORY_CMAKE_ARGS} ${DYNINST_CMAKE_ARGS}" >> $GITHUB_ENV
|
||||
echo "PACKAGE_BASE_TAG=omnitrace-${OMNITRACE_VERSION}-${OMNITRACE_DISTRO}" >> $GITHUB_ENV
|
||||
echo "PATH=${HOME}/.local/bin:${PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Print Env
|
||||
run: |
|
||||
env
|
||||
|
||||
# CORE without extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == '' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DDYNINST_USE_OpenMP=OFF .
|
||||
|
||||
# CORE with extensions
|
||||
- name: Configure Package
|
||||
if: ${{ matrix.extensions == 'all' }}
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
cmake -B build-release ${COMMON_CMAKE_ARGS} -DDYNINST_USE_OpenMP=ON -DOMNITRACE_USE_PAPI=ON -DOMNITRACE_USE_OMPT=ON .
|
||||
|
||||
# Build
|
||||
- name: Build Package
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cmake --build build-release --target all
|
||||
|
||||
# Generate STGZ
|
||||
- name: Generate STGZ
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G STGZ
|
||||
|
||||
# Generate DEB
|
||||
- name: Generate DEB
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
set -v
|
||||
cd build-release
|
||||
cpack -G DEB -D CPACK_PACKAGING_INSTALL_PREFIX=/opt/omnitrace
|
||||
|
||||
- name: List Files
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
find . -type f | egrep '\.(sh|deb|rpm)$'
|
||||
|
||||
- name: STGZ Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: stgz-installers
|
||||
path: |
|
||||
build-release/omnitrace-*.sh
|
||||
|
||||
- name: DEB Artifacts
|
||||
timeout-minutes: 10
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: deb-installers
|
||||
path: |
|
||||
build-release/omnitrace_*.deb
|
||||
|
||||
# before testing remove any artifacts of the build
|
||||
- name: Remove Build and Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
mv build-release/omnitrace-*.sh ./
|
||||
mv build-release/omnitrace_*.deb ./
|
||||
rm -rf build-release
|
||||
rm -rf /opt/omnitrace
|
||||
|
||||
- name: STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
mkdir /opt/omnitrace-stgz
|
||||
./omnitrace-*.sh --prefix=/opt/omnitrace-stgz --skip-license --exclude-dir
|
||||
|
||||
- name: List STGZ Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace-stgz
|
||||
|
||||
- name: Test STGZ Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace-stgz/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace-stgz/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
|
||||
- name: DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
dpkg --contents ./omnitrace_*.deb
|
||||
dpkg -i ./omnitrace_*.deb
|
||||
|
||||
- name: List DEB Install
|
||||
timeout-minutes: 10
|
||||
continue-on-error: true
|
||||
run: |
|
||||
find /opt/omnitrace
|
||||
|
||||
- name: Test DEB Install
|
||||
timeout-minutes: 10
|
||||
run: |
|
||||
set -v
|
||||
export PATH=/opt/omnitrace/bin:${PATH}
|
||||
export LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}
|
||||
omnitrace-avail --help
|
||||
omnitrace --help
|
||||
omnitrace-critical-trace --help
|
||||
@@ -142,19 +142,6 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
include(Formatting) # format target
|
||||
include(Packages) # finds third-party libraries
|
||||
|
||||
if(OMNITRACE_USE_HIP OR OMNITRACE_USE_ROCTRACER)
|
||||
find_package(HIP QUIET)
|
||||
if(HIP_VERSION_MAJOR GREATER_EQUAL 4 AND HIP_VERSION_MINOR GREATER 3)
|
||||
set(roctracer_kfdwrapper_LIBRARY)
|
||||
endif()
|
||||
omnitrace_add_feature(HIP_VERSION "HIP version")
|
||||
else()
|
||||
set(HIP_VERSION "0.0.0")
|
||||
set(HIP_VERSION_MAJOR 0)
|
||||
set(HIP_VERSION_MINOR 0)
|
||||
set(HIP_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
omnitrace_activate_clang_tidy()
|
||||
|
||||
# custom visibility settings
|
||||
|
||||
@@ -1 +1 @@
|
||||
0.1.0
|
||||
1.0.0
|
||||
|
||||
@@ -1,4 +1,28 @@
|
||||
# Add packaging directives for timemory
|
||||
if(DYNINST_BUILD_ELFUTILS AND DYNINST_ELFUTILS_DOWNLOAD_VERSION)
|
||||
foreach(_LIB dw elf)
|
||||
install(
|
||||
FILES
|
||||
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib/lib${_LIB}${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib/lib${_LIB}${CMAKE_SHARED_LIBRARY_SUFFIX}.1
|
||||
${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib/lib${_LIB}-${DYNINST_ELFUTILS_DOWNLOAD_VERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/dyninst-tpls/lib
|
||||
OPTIONAL)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(EXISTS /etc/lsb-release AND NOT IS_DIRECTORY /etc/lsb-release)
|
||||
file(READ /etc/lsb-release _LSB_RELEASE)
|
||||
if(_LSB_RELEASE)
|
||||
string(REGEX REPLACE "DISTRIB_ID=(.*)\nDISTRIB_RELEASE=(.*)\nDISTRIB_CODENAME=.*"
|
||||
"\\1-\\2" _SYSTEM_NAME "${_LSB_RELEASE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT _SYSTEM_NAME)
|
||||
set(_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
|
||||
endif()
|
||||
|
||||
# Add packaging directives
|
||||
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
|
||||
set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||
@@ -8,53 +32,162 @@ set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
||||
set(CPACK_PACKAGE_CONTACT "jonathan.madsen@amd.com")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
set(OMNITRACE_CPACK_SYSTEM_NAME
|
||||
"${_SYSTEM_NAME}"
|
||||
CACHE STRING "System name, e.g. Linux or Ubuntu-18.04")
|
||||
set(OMNITRACE_CPACK_PACKAGE_SUFFIX "")
|
||||
|
||||
if(DYNINST_BUILD_BOOST
|
||||
OR DYNINST_BUILD_TBB
|
||||
OR DYNINST_BUILD_ELFUTILS
|
||||
OR DYNINST_BUILD_LIBIBERTY)
|
||||
set(CPACK_INSTALLED_DIRECTORIES
|
||||
"${CMAKE_INSTALL_PREFIX}/lib/dyninst-tpls/include" "lib/dyninst-tpls/include"
|
||||
"${CMAKE_INSTALL_PREFIX}/lib/dyninst-tpls/lib" "lib/dyninst-tpls/lib")
|
||||
if(OMNITRACE_USE_HIP
|
||||
OR OMNITRACE_USE_ROCTRACER
|
||||
OR OMNITRACE_USE_ROCM_SMI)
|
||||
set(OMNITRACE_CPACK_PACKAGE_SUFFIX
|
||||
"${OMNITRACE_CPACK_PACKAGE_SUFFIX}-ROCm-${ROCmVersion_NUMERIC_VERSION}")
|
||||
endif()
|
||||
|
||||
if(DYNINST_BUILD_ELFUTILS)
|
||||
list(APPEND CPACK_INSTALLED_DIRECTORIES
|
||||
"${CMAKE_INSTALL_PREFIX}/lib/dyninst-tpls/bin" "lib/dyninst-tpls/bin"
|
||||
"${CMAKE_INSTALL_PREFIX}/lib/dyninst-tpls/share" "lib/dyninst-tpls/share")
|
||||
if(OMNITRACE_USE_PAPI)
|
||||
set(OMNITRACE_CPACK_PACKAGE_SUFFIX "${OMNITRACE_CPACK_PACKAGE_SUFFIX}-PAPI")
|
||||
endif()
|
||||
|
||||
if(OMNITRACE_USE_OMPT)
|
||||
set(OMNITRACE_CPACK_PACKAGE_SUFFIX "${OMNITRACE_CPACK_PACKAGE_SUFFIX}-OMPT")
|
||||
endif()
|
||||
|
||||
if(OMNITRACE_USE_MPI)
|
||||
set(VALID_MPI_IMPLS "mpich" "openmpi")
|
||||
if("${MPI_C_COMPILER_INCLUDE_DIRS}" MATCHES "openmpi")
|
||||
set(OMNITRACE_MPI_IMPL "openmpi")
|
||||
elseif("${MPI_C_COMPILER_INCLUDE_DIRS}" MATCHES "mpich")
|
||||
set(OMNITRACE_MPI_IMPL "mpich")
|
||||
else()
|
||||
message(
|
||||
WARNING
|
||||
"MPI implementation could not be determined. Please set OMNITRACE_MPI_IMPL to one of the following for CPack: ${VALID_MPI_IMPLS}"
|
||||
)
|
||||
endif()
|
||||
if(OMNITRACE_MPI_IMPL AND NOT "${OMNITRACE_MPI_IMPL}" IN_LIST VALID_MPI_IMPLS)
|
||||
message(
|
||||
SEND_ERROR
|
||||
"Invalid OMNITRACE_MPI_IMPL (${OMNITRACE_MPI_IMPL}). Should be one of: ${VALID_MPI_IMPLS}"
|
||||
)
|
||||
else()
|
||||
omnitrace_add_feature(OMNITRACE_MPI_IMPL
|
||||
"MPI implementation for CPack DEBIAN depends")
|
||||
endif()
|
||||
|
||||
if("${OMNITRACE_MPI_IMPL}" STREQUAL "openmpi")
|
||||
set(OMNITRACE_MPI_IMPL_UPPER "OpenMPI")
|
||||
elseif("${OMNITRACE_MPI_IMPL}" STREQUAL "mpich")
|
||||
set(OMNITRACE_MPI_IMPL_UPPER "MPICH")
|
||||
endif()
|
||||
set(OMNITRACE_CPACK_PACKAGE_SUFFIX
|
||||
"${OMNITRACE_CPACK_PACKAGE_SUFFIX}-${OMNITRACE_MPI_IMPL_UPPER}")
|
||||
endif()
|
||||
|
||||
set(CPACK_PACKAGE_FILE_NAME
|
||||
"${CPACK_PACKAGE_NAME}-${OMNITRACE_VERSION}-${OMNITRACE_CPACK_SYSTEM_NAME}${OMNITRACE_CPACK_PACKAGE_SUFFIX}"
|
||||
)
|
||||
if(DEFINED ENV{CPACK_PACKAGE_FILE_NAME})
|
||||
set(CPACK_PACKAGE_FILE_NAME $ENV{CPACK_PACKAGE_FILE_NAME})
|
||||
endif()
|
||||
|
||||
set(OMNITRACE_PACKAGE_FILE_NAME
|
||||
${CPACK_PACKAGE_NAME}-${OMNITRACE_VERSION}-${OMNITRACE_CPACK_SYSTEM_NAME}${OMNITRACE_CPACK_PACKAGE_SUFFIX}
|
||||
)
|
||||
omnitrace_add_feature(OMNITRACE_PACKAGE_FILE_NAME "CPack filename")
|
||||
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
#
|
||||
# Debian package specific variables
|
||||
#
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/AARInternal/omnitrace")
|
||||
set(CPACK_DEBIAN_PACKAGE_RELEASE "${CMAKE_SYSTEM_NAME}${OMNITRACE_CPACK_PACKAGE_SUFFIX}")
|
||||
string(REGEX REPLACE "([a-zA-Z])-([0-9])" "\\1\\2" CPACK_DEBIAN_PACKAGE_RELEASE
|
||||
"${CPACK_DEBIAN_PACKAGE_RELEASE}")
|
||||
string(REPLACE "-" "~" 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()
|
||||
|
||||
set(_DEBIAN_PACKAGE_DEPENDS "")
|
||||
if(DYNINST_USE_OpenMP)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS libgomp1)
|
||||
endif()
|
||||
if(TIMEMORY_USE_PAPI)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS libpapi-dev libpfm4)
|
||||
endif()
|
||||
if(NOT OMNITRACE_BUILD_DYNINST)
|
||||
if(NOT DYNINST_BUILD_BOOST)
|
||||
foreach(_BOOST_COMPONENT atomic system thread date-time filesystem)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS
|
||||
"libboost-${_BOOST_COMPONENT}-dev (>= 1.67.0)")
|
||||
endforeach()
|
||||
endif()
|
||||
if(NOT DYNINST_BUILD_TBB)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "libtbb-dev (>= 2018.6)")
|
||||
endif()
|
||||
if(NOT DYNINST_BUILD_LIBIBERTY)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "libiberty-dev (>= 20170913)")
|
||||
endif()
|
||||
endif()
|
||||
if(ROCmVersion_FOUND)
|
||||
set(_ROCTRACER_SUFFIX " (>= 1.0.0.${ROCmVersion_NUMERIC_VERSION})")
|
||||
set(_ROCM_SMI_SUFFIX
|
||||
" (>= ${ROCmVersion_MAJOR_VERSION}.0.0.${ROCmVersion_NUMERIC_VERSION})")
|
||||
endif()
|
||||
if(OMNITRACE_USE_ROCM_SMI)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "rocm-smi-lib${_ROCM_SMI_SUFFIX}")
|
||||
endif()
|
||||
if(OMNITRACE_USE_ROCTRACER)
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "roctracer-dev${_ROCTRACER_SUFFIX}")
|
||||
endif()
|
||||
if(OMNITRACE_USE_MPI)
|
||||
if("${OMNITRACE_MPI_IMPL}" STREQUAL "openmpi")
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "libopenmpi-dev")
|
||||
elseif("${OMNITRACE_MPI_IMPL}" STREQUAL "mpich")
|
||||
list(APPEND _DEBIAN_PACKAGE_DEPENDS "libmpich-dev")
|
||||
endif()
|
||||
endif()
|
||||
string(REPLACE ";" ", " _DEBIAN_PACKAGE_DEPENDS "${_DEBIAN_PACKAGE_DEPENDS}")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS
|
||||
"${_DEBIAN_PACKAGE_DEPENDS}"
|
||||
CACHE STRING "Debian package dependencies")
|
||||
omnitrace_add_feature(CPACK_DEBIAN_PACKAGE_DEPENDS "Debian package dependencies")
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
#
|
||||
# RPM package specific variables
|
||||
#
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
|
||||
if(DEFINED CPACK_PACKAGING_INSTALL_PREFIX)
|
||||
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "${CPACK_PACKAGING_INSTALL_PREFIX}")
|
||||
endif()
|
||||
|
||||
set(CPACK_RPM_PACKAGE_RELEASE "${CMAKE_SYSTEM_NAME}${OMNITRACE_CPACK_PACKAGE_SUFFIX}")
|
||||
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}")
|
||||
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()
|
||||
|
||||
# Get rpm distro
|
||||
if(CPACK_RPM_PACKAGE_RELEASE)
|
||||
set(CPACK_RPM_PACKAGE_RELEASE_DIST ON)
|
||||
endif()
|
||||
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
||||
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
#
|
||||
# Prepare final version for the CPACK use
|
||||
#
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
|
||||
set(CPACK_PACKAGE_VERSION
|
||||
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}"
|
||||
)
|
||||
|
||||
# Set the names now using CPACK utility
|
||||
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
|
||||
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")
|
||||
|
||||
include(CPack)
|
||||
|
||||
@@ -0,0 +1,294 @@
|
||||
#[=======================================================================[.rst:
|
||||
FindROCmVersion
|
||||
---------------
|
||||
|
||||
Search the <ROCM_PATH>/.info/version* files to determine the version of ROCm
|
||||
|
||||
Use this module by invoking find_package with the form::
|
||||
|
||||
find_package(ROCmVersion
|
||||
[version] [EXACT]
|
||||
[REQUIRED])
|
||||
|
||||
This module finds the version info for ROCm. The cached variables are::
|
||||
|
||||
ROCmVersion_FOUND - Whether the ROCm versioning was found
|
||||
ROCmVersion_FULL_VERSION - The exact string from `<ROCM_PATH>/.info/version` or similar
|
||||
ROCmVersion_MAJOR_VERSION - Major version, e.g. 4 in 4.5.2.100-40502
|
||||
ROCmVersion_MINOR_VERSION - Minor version, e.g. 5 in 4.5.2.100-40502
|
||||
ROCmVersion_PATCH_VERSION - Patch version, e.g. 2 in 4.5.2.100-40502
|
||||
ROCmVersion_TWEAK_VERSION - Tweak version, e.g. 100 in 4.5.2.100-40502
|
||||
ROCmVersion_REVISION_VERSION - Revision version, e.g. 40502 in 4.5.2.100-40502.
|
||||
ROCmVersion_EPOCH_VERSION - See deb-version for a description of epochs. Epochs are used when versioning system change
|
||||
ROCmVersion_CANONICAL_VERSION - `[<EPOCH>:]<MAJOR>.<MINOR>.<MINOR>[.<TWEAK>][-<REVISION>]`
|
||||
ROCmVersion_NUMERIC_VERSION - e.g. `10000*<MAJOR> + 100*<MINOR> + <PATCH>`, e.g. 40502 for ROCm 4.5.2
|
||||
ROCmVersion_TRIPLE_VERSION - e.g. `<MAJOR>.<MINOR>.<PATCH>`, e.g. 4.5.2 for ROCm 4.5.2
|
||||
|
||||
These variables are relevant for the find procedure::
|
||||
|
||||
ROCmVersion_DEBUG - Print info about processing
|
||||
ROCmVersion_VERSION_FILE - `<FILE>` to read from in `<ROCM_PATH>/.info/<FILE>`, e.g. `version`, `version-dev`, `version-hip-libraries`, etc.
|
||||
It may also be a full path
|
||||
ROCmVersion_DIR - Root location for <ROCM_PATH>
|
||||
#]=======================================================================]
|
||||
|
||||
# scope this to a function to avoid leaking local variables
|
||||
function(ROCM_VERSION_PARSE_VERSION_FILES)
|
||||
|
||||
function(ROCM_VERSION_MESSAGE _TYPE)
|
||||
if(ROCmVersion_DEBUG)
|
||||
message(${_TYPE} "[ROCmVersion] ${ARGN}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# the list of variables set by module. when one of these changes, we need to unset the
|
||||
# cache variables after it
|
||||
foreach(
|
||||
_V
|
||||
EPOCH
|
||||
MAJOR
|
||||
MINOR
|
||||
PATCH
|
||||
TWEAK
|
||||
REVISION
|
||||
TRIPLE
|
||||
NUMERIC
|
||||
FULL
|
||||
CANONICAL)
|
||||
list(APPEND _ALL_VARIABLES ROCmVersion_${_V}_VERSION)
|
||||
endforeach()
|
||||
set(_REMAIN_VARIABLES ${_ALL_VARIABLES})
|
||||
|
||||
# this macro watches for changes in the variables and unsets the remaining cache
|
||||
# varaible when they change
|
||||
function(ROCM_VERSION_WATCH_FOR_CHANGE _var)
|
||||
set(_rocm_version_watch_var_name ROCmVersion_WATCH_VALUE_${_var})
|
||||
if(DEFINED ${_rocm_version_watch_var_name})
|
||||
if("${${_var}}" STREQUAL "${${_rocm_version_watch_var_name}}")
|
||||
if(NOT "${${_var}}" STREQUAL "")
|
||||
rocm_version_message(STATUS "${_var} :: ${${_var}}")
|
||||
endif()
|
||||
list(REMOVE_ITEM _REMAIN_VARIABLES ${_var})
|
||||
set(_REMAIN_VARIABLES
|
||||
"${_REMAIN_VARIABLES}"
|
||||
PARENT_SCOPE)
|
||||
return()
|
||||
else()
|
||||
rocm_version_message(
|
||||
STATUS
|
||||
"${_var} changed :: ${${_rocm_version_watch_var_name}} --> ${${_var}}"
|
||||
)
|
||||
foreach(_V ${_REMAIN_VARIABLES})
|
||||
rocm_version_message(
|
||||
STATUS "${_var} changed :: Unsetting cache variable ${_V}...")
|
||||
unset(${_V} CACHE)
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
if(NOT "${${_var}}" STREQUAL "")
|
||||
rocm_version_message(STATUS "${_var} :: ${${_var}}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# store the value for the next run
|
||||
set(${_rocm_version_watch_var_name}
|
||||
"${${_var}}"
|
||||
CACHE INTERNAL "Last value of ${_var}" FORCE)
|
||||
endfunction()
|
||||
|
||||
# read a .info/version* file and propagate the variables to the calling scope
|
||||
function(ROCM_VERSION_READ_FILE _FILE _VAR_PREFIX)
|
||||
file(READ "${_FILE}" FULL_VERSION_STRING LIMIT_COUNT 1)
|
||||
|
||||
# remove any line endings
|
||||
string(REGEX REPLACE "(\n|\r)" "" FULL_VERSION_STRING "${FULL_VERSION_STRING}")
|
||||
|
||||
# store the full version so it can be set later
|
||||
set(FULL_VERSION "${FULL_VERSION_STRING}")
|
||||
|
||||
# get number and remove from full version string
|
||||
string(REGEX REPLACE "([0-9]+)\:(.*)" "\\1" EPOCH_VERSION
|
||||
"${FULL_VERSION_STRING}")
|
||||
string(REGEX REPLACE "([0-9]+)\:(.*)" "\\2" FULL_VERSION_STRING
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
if(EPOCH_VERSION STREQUAL FULL_VERSION)
|
||||
set(EPOCH_VERSION)
|
||||
endif()
|
||||
|
||||
# get number and remove from full version string
|
||||
string(REGEX REPLACE "([0-9]+)(.*)" "\\1" MAJOR_VERSION "${FULL_VERSION_STRING}")
|
||||
string(REGEX REPLACE "([0-9]+)(.*)" "\\2" FULL_VERSION_STRING
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
# get number and remove from full version string
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\1" MINOR_VERSION
|
||||
"${FULL_VERSION_STRING}")
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\2" FULL_VERSION_STRING
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
# get number and remove from full version string
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\1" PATCH_VERSION
|
||||
"${FULL_VERSION_STRING}")
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\2" FULL_VERSION_STRING
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
# get number and remove from full version string
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\1" TWEAK_VERSION
|
||||
"${FULL_VERSION_STRING}")
|
||||
string(REGEX REPLACE "\.([0-9]+)(.*)" "\\2" FULL_VERSION_STRING
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
# get number
|
||||
string(REGEX REPLACE "-([0-9A-Za-z+~]+)" "\\1" REVISION_VERSION
|
||||
"${FULL_VERSION_STRING}")
|
||||
|
||||
set(CANONICAL_VERSION)
|
||||
set(_MAJOR_SEP ":")
|
||||
set(_MINOR_SEP ".")
|
||||
set(_PATCH_SEP ".")
|
||||
set(_TWEAK_SEP ".")
|
||||
set(_REVISION_SEP "-")
|
||||
foreach(_V EPOCH MAJOR MINOR PATCH TWEAK REVISION)
|
||||
if(${_V}_VERSION)
|
||||
set(CANONICAL_VERSION "${CANONICAL_VERSION}${_${_V}_SEP}${${_V}_VERSION}")
|
||||
else()
|
||||
set(CANONICAL_VERSION "${CANONICAL_VERSION}${_${_V}_SEP}0")
|
||||
endif()
|
||||
endforeach()
|
||||
set(_MAJOR_SEP "")
|
||||
foreach(_V MAJOR MINOR PATCH)
|
||||
if(${_V}_VERSION)
|
||||
set(TRIPLE_VERSION "${TRIPLE_VERSION}${_${_V}_SEP}${${_V}_VERSION}")
|
||||
else()
|
||||
set(TRIPLE_VERSION "${TRIPLE_VERSION}${_${_V}_SEP}0")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
math(
|
||||
EXPR
|
||||
NUMERIC_VERSION
|
||||
"(10000 * (${MAJOR_VERSION}+0)) + (100 * (${MINOR_VERSION}+0)) + (${PATCH_VERSION}+0)"
|
||||
)
|
||||
|
||||
# propagate to parent scopes
|
||||
foreach(
|
||||
_V
|
||||
EPOCH
|
||||
MAJOR
|
||||
MINOR
|
||||
PATCH
|
||||
TWEAK
|
||||
REVISION
|
||||
TRIPLE
|
||||
NUMERIC
|
||||
CANONICAL
|
||||
FULL)
|
||||
set(${_VAR_PREFIX}_${_V}_VERSION
|
||||
${${_V}_VERSION}
|
||||
PARENT_SCOPE)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# search for HIP to set ROCM_PATH
|
||||
if(NOT hip_FOUND)
|
||||
find_package(hip)
|
||||
endif()
|
||||
|
||||
function(COMPUTE_ROCM_VERSION_DIR)
|
||||
if(EXISTS "${ROCmVersion_VERSION_FILE}" AND IS_ABSOLUTE
|
||||
"${ROCmVersion_VERSION_FILE}")
|
||||
get_filename_component(_VERSION_DIR "${ROCmVersion_VERSION_FILE}" PATH)
|
||||
get_filename_component(_VERSION_DIR "${_VERSION_DIR}/.." ABSOLUTE)
|
||||
set(ROCmVersion_DIR
|
||||
"${_VERSION_DIR}"
|
||||
CACHE PATH "Root path to ROCm's .info/${ROCmVersion_VERSION_FILE}"
|
||||
${ARGN})
|
||||
rocm_version_watch_for_change(ROCmVersion_DIR)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if(ROCmVersion_VERSION_FILE)
|
||||
get_filename_component(_VERSION_FILE "${ROCmVersion_VERSION_FILE}" NAME)
|
||||
set(_VERSION_FILES ${_VERSION_FILE})
|
||||
compute_rocm_version_dir(FORCE)
|
||||
else()
|
||||
set(_VERSION_FILES version version-dev version-hip-libraries version-hiprt
|
||||
version-hiprt-devel version-hip-sdk version-libs version-utils)
|
||||
rocm_version_message(STATUS "ROCmVersion version files: ${_VERSION_FILES}")
|
||||
endif()
|
||||
|
||||
# convert env to cache if not defined
|
||||
foreach(_PATH ROCmVersion_DIR ROCmVersion_ROOT ROCmVersion_ROOT_DIR ROCM_PATH)
|
||||
if(NOT DEFINED ${_PATH} AND DEFINED ENV{${_PATH}})
|
||||
set(${_PATH}
|
||||
"$ENV{${_PATH}}"
|
||||
CACHE PATH "Search path for ROCm version for ROCmVersion")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ROCmVersion_DIR)
|
||||
set(_PATHS ${ROCmVersion_DIR})
|
||||
else()
|
||||
set(_PATHS ${ROCmVersion_DIR} ${ROCmVersion_ROOT} ${ROCmVersion_ROOT_DIR}
|
||||
${ROCM_PATH} $ENV{CMAKE_PREFIX_PATH} ${CMAKE_PREFIX_PATH} /opt/rocm)
|
||||
rocm_version_message(STATUS "ROCmVersion search paths: ${_PATHS}")
|
||||
endif()
|
||||
|
||||
string(REPLACE ":" ";" _PATHS "${_PATHS}")
|
||||
|
||||
foreach(_PATH ${_PATHS})
|
||||
foreach(_FILE ${_VERSION_FILES})
|
||||
set(_F ${_PATH}/.info/${_FILE})
|
||||
if(EXISTS ${_F})
|
||||
set(ROCmVersion_VERSION_FILE
|
||||
"${_F}"
|
||||
CACHE FILEPATH "File with versioning info")
|
||||
rocm_version_watch_for_change(ROCmVersion_VERSION_FILE)
|
||||
compute_rocm_version_dir()
|
||||
else()
|
||||
rocm_version_message(AUTHOR_WARNING "File does not exist: ${_F}")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
if(EXISTS "${ROCmVersion_VERSION_FILE}")
|
||||
set(_F "${ROCmVersion_VERSION_FILE}")
|
||||
rocm_version_message(STATUS "Reading ${_F}...")
|
||||
get_filename_component(_B "${_F}" NAME)
|
||||
string(REPLACE "." "_" _B "${_B}")
|
||||
string(REPLACE "-" "_" _B "${_B}")
|
||||
rocm_version_read_file(${_F} ${_B})
|
||||
foreach(
|
||||
_V
|
||||
EPOCH
|
||||
MAJOR
|
||||
MINOR
|
||||
PATCH
|
||||
TWEAK
|
||||
REVISION
|
||||
TRIPLE
|
||||
NUMERIC
|
||||
FULL
|
||||
CANONICAL)
|
||||
set(_CACHE_VAR ROCmVersion_${_V}_VERSION)
|
||||
set(_LOCAL_VAR ${_B}_${_V}_VERSION)
|
||||
set(ROCmVersion_${_V}_VERSION
|
||||
"${${_LOCAL_VAR}}"
|
||||
CACHE STRING "ROCm ${_V} version")
|
||||
rocm_version_watch_for_change(${_CACHE_VAR})
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# execute
|
||||
rocm_version_parse_version_files()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
ROCmVersion
|
||||
VERSION_VAR ROCmVersion_FULL_VERSION
|
||||
REQUIRED_VARS ROCmVersion_FULL_VERSION ROCmVersion_TRIPLE_VERSION ROCmVersion_DIR
|
||||
ROCmVersion_VERSION_FILE)
|
||||
# don't add major/minor/patch/etc. version variables to required vars because they might
|
||||
# be zero, which will cause CMake to evaluate it as not set
|
||||
@@ -97,6 +97,33 @@ if(OMNITRACE_USE_ROCM_SMI)
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:${rocm-smi_LIBRARY_DIRS}")
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
#
|
||||
# hip version
|
||||
#
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
|
||||
if(OMNITRACE_USE_HIP
|
||||
OR OMNITRACE_USE_ROCTRACER
|
||||
OR OMNITRACE_USE_ROCM_SMI)
|
||||
find_package(ROCmVersion REQUIRED)
|
||||
set(OMNITRACE_ROCM_VERSION ${ROCmVersion_FULL_VERSION})
|
||||
set(OMNITRACE_HIP_VERSION_MAJOR ${ROCmVersion_MAJOR_VERSION})
|
||||
set(OMNITRACE_HIP_VERSION_MINOR ${ROCmVersion_MINOR_VERSION})
|
||||
set(OMNITRACE_HIP_VERSION_PATCH ${ROCmVersion_PATCH_VERSION})
|
||||
set(OMNITRACE_HIP_VERSION ${ROCmVersion_TRIPLE_VERSION})
|
||||
if(OMNITRACE_HIP_VERSION_MAJOR GREATER_EQUAL 4 AND OMNITRACE_HIP_VERSION_MINOR
|
||||
GREATER 3)
|
||||
set(roctracer_kfdwrapper_LIBRARY)
|
||||
endif()
|
||||
omnitrace_add_feature(OMNITRACE_ROCM_VERSION "ROCm version used by omnitrace")
|
||||
else()
|
||||
set(OMNITRACE_HIP_VERSION "0.0.0")
|
||||
set(OMNITRACE_HIP_VERSION_MAJOR 0)
|
||||
set(OMNITRACE_HIP_VERSION_MINOR 0)
|
||||
set(OMNITRACE_HIP_VERSION_PATCH 0)
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------------------------------#
|
||||
#
|
||||
# MPI
|
||||
|
||||
+1
-1
Submodule projects/rocprofiler-systems/external/dyninst updated: 82b10fdcf5...1cb91f1eea
@@ -41,13 +41,15 @@ join(DelimT&& _delim, Args&&... _args)
|
||||
{
|
||||
std::stringstream _ss{};
|
||||
OMNITRACE_FOLD_EXPRESSION(_ss << _delim << _args);
|
||||
auto _ret = _ss.str();
|
||||
if constexpr(std::is_same<DelimT, char>::value)
|
||||
{
|
||||
return _ss.str().substr(1);
|
||||
return (_ret.length() > 1) ? _ret.substr(1) : std::string{};
|
||||
}
|
||||
else
|
||||
{
|
||||
return _ss.str().substr(std::string{ _delim }.length());
|
||||
auto&& _len = std::string{ _delim }.length();
|
||||
return (_ret.length() > _len) ? _ret.substr(_len) : std::string{};
|
||||
}
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
#pragma once
|
||||
|
||||
// clang-format off
|
||||
#define OMNITRACE_HIP_VERSION_STRING "@HIP_VERSION@"
|
||||
#define OMNITRACE_HIP_VERSION_MAJOR @HIP_VERSION_MAJOR@
|
||||
#define OMNITRACE_HIP_VERSION_MINOR @HIP_VERSION_MINOR@
|
||||
#define OMNITRACE_HIP_VERSION_PATCH @HIP_VERSION_PATCH@
|
||||
#define OMNITRACE_HIP_VERSION_STRING "@OMNITRACE_HIP_VERSION@"
|
||||
#define OMNITRACE_HIP_VERSION_MAJOR @OMNITRACE_HIP_VERSION_MAJOR@
|
||||
#define OMNITRACE_HIP_VERSION_MINOR @OMNITRACE_HIP_VERSION_MINOR@
|
||||
#define OMNITRACE_HIP_VERSION_PATCH @OMNITRACE_HIP_VERSION_PATCH@
|
||||
|
||||
#if defined(OMNITRACE_USE_ROCTRACER)
|
||||
# define OMNITRACE_ROCTRACER_LIBKFDWRAPPER "@roctracer_kfdwrapper_LIBRARY@"
|
||||
|
||||
Reference in New Issue
Block a user