Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Promote amd-staging to amd-mainline #60

Merged
merged 6 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 43 additions & 6 deletions .github/workflows/containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
version: "20.04"
- distro: "ubuntu"
version: "22.04"
- distro: "ubuntu"
version: "24.04"
- distro: "opensuse"
version: "15.5"
- distro: "opensuse"
Expand Down Expand Up @@ -91,33 +93,55 @@ jobs:
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "6.3"
# ubuntu 22.04
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "6.3"
# ubuntu 24.04
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "6.3"
# opensuse 15.5
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "6.2"
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "6.3"
# opensuse 15.6
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "6.2"
# RHEL 8.8
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "6.3"
# RHEL 8.9
- os-distro: "rhel"
os-version: "8.8"
os-version: "8.9"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "8.8"
os-version: "8.9"
rocm-version: "6.2"
# RHEL 8.10
- os-distro: "rhel"
Expand All @@ -126,12 +150,15 @@ jobs:
- os-distro: "rhel"
os-version: "8.10"
rocm-version: "6.2"
# RHEL 9.2
- os-distro: "rhel"
os-version: "9.2"
os-version: "8.10"
rocm-version: "6.3"
# RHEL 9.3
- os-distro: "rhel"
os-version: "9.3"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.2"
os-version: "9.3"
rocm-version: "6.2"
# RHEL 9.4
- os-distro: "rhel"
Expand All @@ -140,6 +167,16 @@ jobs:
- os-distro: "rhel"
os-version: "9.4"
rocm-version: "6.2"
- os-distro: "rhel"
os-version: "9.4"
rocm-version: "6.3"
# RHEL 9.5
- os-distro: "rhel"
os-version: "9.5"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.5"
rocm-version: "6.3"

steps:
- uses: actions/checkout@v4
Expand Down
47 changes: 34 additions & 13 deletions .github/workflows/cpack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,34 +40,49 @@ jobs:
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "20.04"
rocm-version: "6.3"
# ubuntu 22.04
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "22.04"
rocm-version: "6.3"
# ubuntu 24.04
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "0.0"
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "6.2"
- os-distro: "ubuntu"
os-version: "24.04"
rocm-version: "6.3"
# opensuse 15.5
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "6.2"
- os-distro: "opensuse"
os-version: "15.5"
rocm-version: "6.3"
# opensuse 15.6
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "0.0"
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "6.2"
# RHEL 8.8
- os-distro: "rhel"
os-version: "8.8"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "8.8"
rocm-version: "6.2"
- os-distro: "opensuse"
os-version: "15.6"
rocm-version: "6.3"
# RHEL 8.9
- os-distro: "rhel"
os-version: "8.9"
Expand All @@ -82,13 +97,9 @@ jobs:
- os-distro: "rhel"
os-version: "8.10"
rocm-version: "6.2"
# RHEL 9.2
- os-distro: "rhel"
os-version: "9.2"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.2"
rocm-version: "6.2"
os-version: "8.10"
rocm-version: "6.3"
# RHEL 9.3
- os-distro: "rhel"
os-version: "9.3"
Expand All @@ -103,6 +114,16 @@ jobs:
- os-distro: "rhel"
os-version: "9.4"
rocm-version: "6.2"
- os-distro: "rhel"
os-version: "9.4"
rocm-version: "6.3"
# RHEL 9.5
- os-distro: "rhel"
os-version: "9.5"
rocm-version: "0.0"
- os-distro: "rhel"
os-version: "9.5"
rocm-version: "6.3"

steps:
- name: Free Disk Space
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/redhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ jobs:
fail-fast: false
matrix:
compiler: ['g++']
os-release: [ '8.8', '8.10', '9.2', '9.4' ]
rocm-version: [ '0.0', '6.2' ]
os-release: [ '8.10', '9.2', '9.4' ]
rocm-version: [ '0.0', '6.2', '6.3' ]
build-type: ['Release']

steps:
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/ubuntu-focal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -428,7 +428,12 @@ jobs:
max_attempts: 5
command: |
sudo apt-get update &&
sudo apt-get install -y autoconf bison build-essential clang environment-modules gettext libomp-dev libtool m4 python3-pip texinfo ${{ matrix.compiler }} ${{ matrix.deps }} &&
sudo apt-get install -y \
autoconf autotools-dev bash-completion bison build-essential \
bzip2 cmake curl environment-modules flex gettext git-core gnupg2 \
gzip libiberty-dev libomp-dev libpapi-dev libpfm4-dev libtool locales \
lsb-release m4 python3-pip texinfo unzip wget zip zlib1g-dev \
${{ matrix.deps }} ${{ matrix.compiler }} &&
if [ "${{ matrix.mpi }}" = "mpich" ]; then sudo apt-get install -y libmpich-dev mpich; fi &&
if [ "${{ matrix.mpi }}" = "openmpi" ]; then sudo apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi &&
wget https://commondatastorage.googleapis.com/perfetto-luci-artifacts/v47.0/linux-amd64/trace_processor_shell -P /opt/trace_processor/bin &&
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ubuntu-jammy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ jobs:
apt-get update &&
apt-get install -y software-properties-common &&
apt-get upgrade -y &&
apt-get install -y autoconf bison build-essential clang environment-modules gettext libfabric-dev libiberty-dev libomp-dev libopenmpi-dev libtool m4 openmpi-bin python3-pip texinfo ${{ matrix.compiler }} &&
apt-get install -y autoconf bison build-essential clang environment-modules \
gettext libfabric-dev libiberty-dev libomp-dev libopenmpi-dev libtool m4 \
openmpi-bin python3-pip texinfo ${{ matrix.compiler }} &&
python3 -m pip install --upgrade pip &&
python3 -m pip install --upgrade numpy perfetto dataclasses &&
python3 -m pip install 'cmake==3.18.4' &&
Expand Down
112 changes: 112 additions & 0 deletions .github/workflows/ubuntu-noble.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Ubuntu 24.04 (GCC, Python, ROCm)
run-name: ubuntu-noble

on:
push:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
- '*.md'
- 'docs/**'
- 'source/docs/**'
- 'source/python/gui/**'
- '.github/workflows/docs.yml'
- '.github/workflows/cpack.yml'
- '.github/workflows/containers.yml'
- '.github/workflows/formatting.yml'
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'
pull_request:
branches: [ amd-mainline, amd-staging, release/** ]
paths-ignore:
- '*.md'
- 'docs/**'
- 'source/docs/**'
- 'source/python/gui/**'
- '.github/workflows/docs.yml'
- '.github/workflows/cpack.yml'
- '.github/workflows/containers.yml'
- '.github/workflows/formatting.yml'
- '.github/workflows/weekly-mainline-sync.yml'
- 'docker/**'

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

env:
ROCPROFSYS_CI: ON
ROCPROFSYS_TMPDIR: "%env{PWD}%/testing-tmp"

jobs:
ubuntu-noble:
runs-on: ubuntu-20.04
container:
image: dgaliffiamd/rocprofiler-systems:ci-base-ubuntu-24.04
strategy:
fail-fast: false
matrix:
compiler: ['g++']
build-type: ['Release', 'Debug']
strip: ['OFF']
build-dyninst: ['OFF']
rocm-version: ['0.0', '6.3']

env:
ROCPROFSYS_CI: 'ON'

steps:
- uses: actions/checkout@v4

- name: Install Packages
timeout-minutes: 25
uses: nick-fields/retry@v3
with:
retry_wait_seconds: 30
timeout_minutes: 25
max_attempts: 5
command: |
apt-get -y update && apt-get upgrade -y &&
apt-get install -y \
libiberty-dev clang libomp-dev libopenmpi-dev libfabric-dev \
openmpi-bin ${{ matrix.compiler }} &&
for i in 8 9 10 11 12; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done

- name: Install ROCm Packages
if: ${{ matrix.rocm-version > 0 }}
timeout-minutes: 30
shell: bash
run: |
ROCM_VERSION=${{ matrix.rocm-version }}
ROCM_MAJOR=$(echo ${ROCM_VERSION} | sed 's/\./ /g' | awk '{print $1}')
ROCM_MINOR=$(echo ${ROCM_VERSION} | sed 's/\./ /g' | awk '{print $2}')
ROCM_VERSN=$(( (${ROCM_MAJOR}*10000)+(${ROCM_MINOR}*100) ))
echo "ROCM_MAJOR=${ROCM_MAJOR} ROCM_MINOR=${ROCM_MINOR} ROCM_VERSN=${ROCM_VERSN}"
wget -q https://repo.radeon.com/amdgpu-install/${{ matrix.rocm-version }}/ubuntu/noble/amdgpu-install_${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1_all.deb
apt-get install -y ./amdgpu-install_${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1_all.deb
apt-get update
apt-get install -y rocm-dev

- name: Configure
timeout-minutes: 30
shell: bash
run: |
git config --global --add safe.directory ${PWD} &&
cmake --version
USE_ROCM=OFF
if [ ${{ matrix.rocm-version }} != "0.0" ]; then USE_ROCM=ON; fi
cmake -B build \
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g') \
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-systems \
-DROCPROFSYS_BUILD_TESTING=ON \
-DROCPROFSYS_DISABLE_EXAMPLES="transpose;rccl" \
-DROCPROFSYS_USE_HIP=${USE_ROCM} \
-DRCOPROFSYS_USE_PYTHON=ON \
-DROCPROFSYS_STRIP_LIBRARIES=${{ matrix.strip }} \
-DROCPROFSYS_PYTHON_PREFIX=/opt/conda/envs \
-DROCPROFSYS_PYTHON_ENVS="py3.8;py3.9;py3.10;py3.11;py3.12"

- name: Build
timeout-minutes: 115
run: cmake --build build --parallel 2
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
0.2.0
3 changes: 2 additions & 1 deletion cmake/ElfUtils.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ externalproject_add(
CXXFLAGS=-fPIC\ -O3\ -Wno-error=null-dereference
[=[LDFLAGS=-Wl,-rpath='$$ORIGIN']=] <SOURCE_DIR>/configure --enable-install-elfh
--prefix=${_eu_root} --disable-libdebuginfod --disable-debuginfod --disable-nls
--enable-thread-safety --enable-silent-rules --libdir=${_eu_root}/lib
--enable-thread-safety --enable-silent-rules ${ElfUtils_CONFIG_OPTIONS}
--libdir=${_eu_root}/lib
BUILD_COMMAND ${MAKE_COMMAND} install -s
BUILD_BYPRODUCTS "${_eu_build_byproducts}"
INSTALL_COMMAND "")
Expand Down
3 changes: 2 additions & 1 deletion cmake/Templates/rocprof-sys-install.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ from urllib import request
from urllib.error import HTTPError

rocprofsys_version = "@ROCPROFSYS_VERSION@"
rocprofsys_git_tag = "@ROCPROFSYS_GIT_TAG@"
_rocm_path = os.environ.get("ROCM_PATH", "/opt/rocm")
_rocm_version = None

Expand Down Expand Up @@ -232,7 +233,7 @@ if __name__ == "__main__":
)

script = f"rocprofiler-systems-{rocprofsys_version}-{os_distrib}-{os_version}{rocm_version}{extensions}.sh"
url = f"https://github.com/ROCm/rocprofiler-systems/releases/download/v{rocprofsys_version}/{script}"
url = f"https://github.com/ROCm/rocprofiler-systems/releases/download/{rocprofsys_git_tag}/{script}"
download_dir = (
tempfile.mkdtemp(prefix="rocprof-sys-install-")
if args.download_path is None
Expand Down
9 changes: 7 additions & 2 deletions docker/Dockerfile.ubuntu
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,15 @@ ENV PATH ${HOME}/.local/bin:${PATH}
RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y apt-utils autoconf autotools-dev bash-completion bison \
build-essential cmake curl git-core gnupg2 libnuma1 libopenmpi-dev \
build-essential cmake curl flex gettext git-core gnupg2 libnuma1 libopenmpi-dev \
libpapi-dev libpfm4-dev librpm-dev libtool libudev1 lsb-release m4 \
python3-pip rpm texinfo wget && \
python3 -m pip install 'cmake==3.18.4'
OS_VERSION=$(cat /etc/os-release | grep VERSION_ID | sed 's/=/ /'1 | awk '{print $NF}' | sed 's/"//g') && \
if [ "${OS_VERSION}" == "24.04" ]; then \
python3 -m pip install --break-system-packages 'cmake==3.18.4'; \
else \
python3 -m pip install 'cmake==3.18.4'; \
fi

RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
wget https://repo.radeon.com/amdgpu-install/${ROCM_VERSION}/ubuntu/${ROCM_REPO_DIST}/${AMDGPU_DEB} && \
Expand Down
Loading
Loading