Adding installer for Ubuntu 24.04 (#14)
* Add installers for ubuntu 24.04
* Formatting change to the ubuntu-focal and ubuntu-jammy workflows
* Initial Ubuntu 24.04 workflow - just build test
[ROCm/rocprofiler-systems commit: 398ea62629]
This commit is contained in:
@@ -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"
|
||||
@@ -104,6 +106,16 @@ jobs:
|
||||
- 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"
|
||||
|
||||
@@ -53,6 +53,16 @@ jobs:
|
||||
- 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"
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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' &&
|
||||
|
||||
@@ -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
|
||||
@@ -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} && \
|
||||
|
||||
@@ -26,11 +26,15 @@ ENV CMAKE_PREFIX_PATH /usr/local:${CMAKE_PREFIX_PATH}
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y autoconf autotools-dev bash-completion bison build-essential \
|
||||
bzip2 cmake curl environment-modules git-core gnupg2 gzip libiberty-dev \
|
||||
libpapi-dev libpfm4-dev libtool locales lsb-release m4 python3-pip texinfo \
|
||||
unzip wget zip zlib1g-dev && \
|
||||
bzip2 cmake curl environment-modules flex gettext git-core gnupg2 gzip \
|
||||
libiberty-dev libpapi-dev libpfm4-dev libtool locales lsb-release m4 \
|
||||
python3-pip texinfo unzip wget zip zlib1g-dev && \
|
||||
apt-get autoclean && \
|
||||
python3 -m pip install 'cmake==3.18.4'
|
||||
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
|
||||
|
||||
COPY ./dyninst-source /tmp/dyninst
|
||||
|
||||
|
||||
@@ -176,6 +176,9 @@ do
|
||||
case "${ROCM_VERSION}" in
|
||||
6.*)
|
||||
case "${VERSION}" in
|
||||
24.04)
|
||||
ROCM_REPO_DIST="noble"
|
||||
;;
|
||||
22.04)
|
||||
ROCM_REPO_DIST="jammy"
|
||||
;;
|
||||
|
||||
@@ -63,11 +63,11 @@ auto&
|
||||
get_sampling_on_child_threads_history(int64_t _idx = utility::get_thread_index())
|
||||
{
|
||||
static auto _v = utility::get_filled_array<ROCPROFSYS_MAX_THREADS>(
|
||||
[]() { return utility::get_reserved_vector<bool>(32); });
|
||||
[]() { return utility::get_reserved_vector<bool>(64); });
|
||||
|
||||
if(_idx >= ROCPROFSYS_MAX_THREADS)
|
||||
{
|
||||
static thread_local auto _tl_v = utility::get_reserved_vector<bool>(32);
|
||||
static thread_local auto _tl_v = utility::get_reserved_vector<bool>(128);
|
||||
return _tl_v;
|
||||
}
|
||||
|
||||
|
||||
مرجع در شماره جدید
Block a user