diff --git a/.github/workflows/containers.yml b/.github/workflows/containers.yml index ea982f58c7..6c9cbbefb5 100644 --- a/.github/workflows/containers.yml +++ b/.github/workflows/containers.yml @@ -29,14 +29,10 @@ jobs: fail-fast: false matrix: include: - - distro: "ubuntu" - version: "18.04" - distro: "ubuntu" version: "20.04" - distro: "ubuntu" version: "22.04" - - distro: "opensuse" - version: "15.2" - distro: "opensuse" version: "15.3" - distro: "opensuse" @@ -86,22 +82,6 @@ jobs: fail-fast: false matrix: include: - # ubuntu 18.04 - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "0.0" - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "4.5" - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "5.0" - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "5.1" - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "5.2" # ubuntu 20.04 - os-distro: "ubuntu" os-version: "20.04" diff --git a/.github/workflows/cpack.yml b/.github/workflows/cpack.yml index 16eab94be3..c374342dc1 100644 --- a/.github/workflows/cpack.yml +++ b/.github/workflows/cpack.yml @@ -31,10 +31,6 @@ jobs: fail-fast: false matrix: include: - # ubuntu 18.04 - - os-distro: "ubuntu" - os-version: "18.04" - rocm-version: "0.0" # ubuntu 20.04 - os-distro: "ubuntu" os-version: "20.04" diff --git a/.github/workflows/opensuse.yml b/.github/workflows/opensuse.yml index d623111978..fa65650bd7 100644 --- a/.github/workflows/opensuse.yml +++ b/.github/workflows/opensuse.yml @@ -42,7 +42,7 @@ jobs: fail-fast: false matrix: compiler: ['g++'] - os-release: [ '15.2', '15.3', '15.4' ] + os-release: [ '15.3', '15.4' ] build-type: ['Release'] steps: diff --git a/.github/workflows/ubuntu-bionic.yml b/.github/workflows/ubuntu-bionic.yml deleted file mode 100644 index 48c14ffd7f..0000000000 --- a/.github/workflows/ubuntu-bionic.yml +++ /dev/null @@ -1,184 +0,0 @@ -name: Ubuntu 18.04 (GCC, MPICH, Python) -run-name: ubuntu-bionic - -on: - push: - branches: [ main, develop ] - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'source/python/gui/**' - - '.github/workflows/docs.yml' - - '.github/workflows/cpack.yml' - - '.github/workflows/containers.yml' - - '.github/workflows/formatting.yml' - - 'docker/**' - pull_request: - branches: [ main, develop ] - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'source/python/gui/**' - - '.github/workflows/docs.yml' - - '.github/workflows/cpack.yml' - - '.github/workflows/containers.yml' - - '.github/workflows/formatting.yml' - - 'docker/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - BUILD_TYPE: Release - OMNITRACE_CI: ON - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - OMNITRACE_TMPDIR: "%env{PWD}%/testing-tmp" - -jobs: - ubuntu-bionic: - runs-on: ubuntu-latest - container: - image: jrmadsen/omnitrace:ci-base-ubuntu-18.04 - strategy: - fail-fast: false - matrix: - compiler: ['g++-7', 'g++-8'] - mpi: [ 'nompi', 'mpich' ] - - steps: - - name: Patch Git - timeout-minutes: 25 - 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 Packages - timeout-minutes: 25 - uses: nick-fields/retry@v2 - with: - retry_wait_seconds: 30 - timeout_minutes: 25 - max_attempts: 5 - command: | - apt-get update && - apt-get upgrade -y && - apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} && - if [ "${{ matrix.mpi }}" = "mpich" ]; then apt-get install -y libmpich-dev mpich; fi && - if [ "${{ matrix.mpi }}" = "openmpi" ]; then apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi && - python3 -m pip install --upgrade pip && - python3 -m pip install numpy && - python3 -m pip install perfetto && - python3 -m pip install 'cmake==3.16.3' && - for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done - - - name: Install Kokkos - timeout-minutes: 10 - run: - cd examples/lulesh/external/kokkos && - cmake -B build -DKokkos_ENABLE_OPENMP=ON -DKokkos_ENABLE_SERIAL=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_STANDARD=17 . && - cmake --build build --target all --parallel 2 && - cmake --build build --target install && - rm -rf build - - - name: Configure Env - run: - echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV && - echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV && - echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH && - echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV - - - name: Configure, Build, and Test - timeout-minutes: 115 - shell: bash - run: - git config --global --add safe.directory ${PWD} && - cmake --version && - if [ "${{ matrix.mpi }}" = "nompi" ]; then USE_MPI=OFF; else USE_MPI=ON; fi && - append-tagname() { if [ "${1}" == "ON" ]; then TAG="${TAG}-${2}"; fi; } && - python3 ./scripts/run-ci.py -B build - --name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-bionic-${{ matrix.compiler }}-${{ matrix.mpi }}-python - --build-jobs 2 - --site GitHub - -- - -DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g') - -DCMAKE_CXX_COMPILER=${{ matrix.compiler }} - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} - -DCMAKE_INSTALL_PREFIX=/opt/omnitrace - -DOMNITRACE_BUILD_TESTING=ON - -DOMNITRACE_BUILD_DYNINST=OFF - -DOMNITRACE_USE_MPI=${USE_MPI} - -DOMNITRACE_USE_HIP=OFF - -DOMNITRACE_USE_PYTHON=ON - -DOMNITRACE_PYTHON_PREFIX=/opt/conda/envs - -DOMNITRACE_PYTHON_ENVS="py3.6;py3.7;py3.8;py3.9;py3.10;py3.11" - -DLULESH_BUILD_KOKKOS=OFF - -DOMNITRACE_MAX_THREADS=64 - -DOMNITRACE_DISABLE_EXAMPLES="transpose;rccl" - -DOMNITRACE_BUILD_NUMBER=${{ github.run_attempt }} - - - name: Install - run: - cmake --build build --target install --parallel 2 - - - name: Test Install - timeout-minutes: 10 - run: | - set -v - export OMNITRACE_DEBUG=ON - which omnitrace-avail - ldd $(which omnitrace-avail) - omnitrace-avail --help - omnitrace-avail -a - which omnitrace - ldd $(which omnitrace) - omnitrace-instrument --help - omnitrace-instrument -e -v 1 -o ls.inst --simulate -- ls - for i in $(find omnitrace-ls.inst-output -type f); do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done - omnitrace-instrument -e -v 1 -o ls.inst -- ls - omnitrace-run -- ./ls.inst - omnitrace-instrument -e -v 1 --simulate -- ls - for i in $(find omnitrace-ls-output -type f); do echo -e "\n\n --> ${i} \n\n"; cat ${i}; done - omnitrace-instrument -e -v 1 -- ls - - - name: Test User API - timeout-minutes: 10 - run: | - set -v - ./scripts/test-find-package.sh --install-dir /opt/omnitrace - - - name: CTest Artifacts - if: failure() - continue-on-error: True - uses: actions/upload-artifact@v3 - with: - name: ctest-${{ github.job }}-${{ strategy.job-index }}-log - path: | - build/*.log - - - name: Data Artifacts - if: failure() - continue-on-error: True - uses: actions/upload-artifact@v3 - with: - name: data-${{ github.job }}-${{ strategy.job-index }}-files - path: | - build/omnitrace-tests-config/*.cfg - build/omnitrace-tests-output/**/*.txt - build/omnitrace-tests-output/**/*-instr*.json - - - name: Kill Perfetto - if: success() || failure() - continue-on-error: True - run: | - set +e - RUNNING_PROCS=$(pgrep trace_processor_shell) - if [ -n "${RUNNING_PROCS}" ]; then kill -s 9 ${RUNNING_PROCS}; fi diff --git a/README.md b/README.md index a938f0af11..011f9fe2b8 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # Omnitrace: Application Profiling, Tracing, and Analysis -[![Ubuntu 18.04 with GCC and MPICH](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-bionic.yml/badge.svg)](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-bionic.yml) [![Ubuntu 20.04 with GCC, ROCm, and MPI](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-focal.yml/badge.svg)](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-focal.yml) [![Ubuntu 22.04 (GCC, Python, ROCm)](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-jammy.yml/badge.svg)](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-jammy.yml) [![OpenSUSE 15.x with GCC](https://github.com/ROCm/omnitrace/actions/workflows/opensuse.yml/badge.svg)](https://github.com/ROCm/omnitrace/actions/workflows/opensuse.yml) diff --git a/cmake/ConfigCPack.cmake b/cmake/ConfigCPack.cmake index 208e6beb6a..5f8ecbbe32 100644 --- a/cmake/ConfigCPack.cmake +++ b/cmake/ConfigCPack.cmake @@ -47,7 +47,7 @@ set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE") set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF) set(OMNITRACE_CPACK_SYSTEM_NAME "${_SYSTEM_NAME}" - CACHE STRING "System name, e.g. Linux or Ubuntu-18.04") + CACHE STRING "System name, e.g. Linux or Ubuntu-20.04") set(OMNITRACE_CPACK_PACKAGE_SUFFIX "") if(OMNITRACE_USE_HIP diff --git a/cmake/Templates/omnitrace-install.py.in b/cmake/Templates/omnitrace-install.py.in index c55bb44adc..bcf94ffac5 100755 --- a/cmake/Templates/omnitrace-install.py.in +++ b/cmake/Templates/omnitrace-install.py.in @@ -103,8 +103,8 @@ def get_os_info(os_distrib, os_version): if "debian" in _os_info["ID_LIKE"]: os_distrib = "ubuntu" if os_version is None: - # fallback on 18.04 if ID is not ubuntu but debian-like - os_version = "18.04" + # fallback on 20.04 if ID is not ubuntu but debian-like + os_version = "20.04" elif "suse" in _os_info["ID_LIKE"]: os_distrib = "opensuse" # fallback on 15.3 if ID is not opensuse but suse-like diff --git a/docker/build-docker-release.sh b/docker/build-docker-release.sh index e44fa8e76b..d4338711f7 100755 --- a/docker/build-docker-release.sh +++ b/docker/build-docker-release.sh @@ -98,7 +98,7 @@ reset-last : ${USER:=$(whoami)} : ${DISTRO:=ubuntu} -: ${VERSIONS:=20.04 18.04} +: ${VERSIONS:=22.04 20.04} : ${ROCM_VERSIONS:=5.0 4.5 4.3} : ${MPI:=0} : ${PYTHON_VERSIONS:="6 7 8 9 10 11 12"}