From 1216fd99a76275beda3ddb3ad6bad0c57d0bfcb1 Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Tue, 12 Sep 2023 20:19:26 -0500 Subject: [PATCH] Reduce release packaging (#300) * Bump version to 1.10.3 * Drop releases for ROCm < 5.3 - ROCm is no longer providing release for Ubuntu 18.04 starting with 5.3 so omnitrace is dropping support for Ubuntu 18.04 + ROCm - Dropping ROCm 5.2 releases for Ubuntu 20.04 - Dropping ROCm 5.2 releases for OpenSUSE 15.4 * Update redhat workflow - Test RedHat 9.1 + ROCm 5.5 - Test RedHat 9.1 + ROCm 5.6 * Update ubuntu-focal workflow - drop ROCm 5.2 testing - add ROCm 5.6 testing * Update Findroctracer.cmake - provide /opt/amdgpu to HINTS/PATHS for drm and drm_amdgpu libraries * Update Findrocprofiler.cmake - prefer librocprofiler64.so.1 * Update librocprofiler64.so to librocprofiler64.so.1 - search for the SOVERSION 1 library of librocprofiler64.so if ROCm > 5.5.0 * Update Findrocprofiler.cmake - link to libpciaccess for ROCm 5.5.0 * Update redhat CI workflow - install libpciaccess for rocm CI * Update cpack workflow - Remove all RHEL 9.0 packaging - Remove all packaging for ROCm 5.3 on OSes supporting where releases are provided for 5.4, 5.5, and 5.6 * Update ubuntu focal workflow - remove rocm 5.3 jobs --- .github/workflows/cpack.yml | 49 ----------------------------- .github/workflows/redhat.yml | 11 ++++++- .github/workflows/ubuntu-focal.yml | 2 +- VERSION | 2 +- cmake/Modules/Findrocprofiler.cmake | 16 ++++++++-- cmake/Modules/Findroctracer.cmake | 4 +-- source/lib/common/setup.hpp | 10 ++++-- 7 files changed, 36 insertions(+), 58 deletions(-) diff --git a/.github/workflows/cpack.yml b/.github/workflows/cpack.yml index 6ec771ab8..1956e7915 100644 --- a/.github/workflows/cpack.yml +++ b/.github/workflows/cpack.yml @@ -35,28 +35,10 @@ jobs: - 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" rocm-version: "0.0" - - os-distro: "ubuntu" - os-version: "20.04" - rocm-version: "5.2" - - os-distro: "ubuntu" - os-version: "20.04" - rocm-version: "5.3" - os-distro: "ubuntu" os-version: "20.04" rocm-version: "5.4" @@ -70,9 +52,6 @@ jobs: - os-distro: "ubuntu" os-version: "22.04" rocm-version: "0.0" - - os-distro: "ubuntu" - os-version: "22.04" - rocm-version: "5.3" - os-distro: "ubuntu" os-version: "22.04" rocm-version: "5.4" @@ -86,9 +65,6 @@ jobs: - os-distro: "opensuse" os-version: "15.3" rocm-version: "0.0" - - os-distro: "opensuse" - os-version: "15.3" - rocm-version: "5.2" - os-distro: "opensuse" os-version: "15.3" rocm-version: "5.3" @@ -102,12 +78,6 @@ jobs: - os-distro: "opensuse" os-version: "15.4" rocm-version: "0.0" - - os-distro: "opensuse" - os-version: "15.4" - rocm-version: "5.2" - - os-distro: "opensuse" - os-version: "15.4" - rocm-version: "5.3" - os-distro: "opensuse" os-version: "15.4" rocm-version: "5.4" @@ -121,9 +91,6 @@ jobs: - os-distro: "rhel" os-version: "8.7" rocm-version: "0.0" - - os-distro: "rhel" - os-version: "8.7" - rocm-version: "5.3" - os-distro: "rhel" os-version: "8.7" rocm-version: "5.4" @@ -133,26 +100,10 @@ jobs: - os-distro: "rhel" os-version: "8.7" rocm-version: "5.6" - # RHEL 9.0 - - os-distro: "rhel" - os-version: "9.0" - rocm-version: "0.0" - - os-distro: "rhel" - os-version: "9.0" - rocm-version: "5.3" - - os-distro: "rhel" - os-version: "9.0" - rocm-version: "5.4" - - os-distro: "rhel" - os-version: "9.0" - rocm-version: "5.5" # RHEL 9.1 - os-distro: "rhel" os-version: "9.1" rocm-version: "0.0" - - os-distro: "rhel" - os-version: "9.1" - rocm-version: "5.3" - os-distro: "rhel" os-version: "9.1" rocm-version: "5.4" diff --git a/.github/workflows/redhat.yml b/.github/workflows/redhat.yml index ea6edb7ee..d283e8044 100644 --- a/.github/workflows/redhat.yml +++ b/.github/workflows/redhat.yml @@ -35,6 +35,15 @@ jobs: os-release: [ '8.7', '9.0', '9.1' ] rocm-version: [ '0.0', '5.3', '5.4' ] build-type: ['Release'] + include: + - compiler: 'g++' + os-release: '9.1' + rocm-version: '5.5' + build-type: 'Release' + - compiler: 'g++' + os-release: '9.1' + rocm-version: '5.6' + build-type: 'Release' steps: - uses: actions/checkout@v3 @@ -60,7 +69,7 @@ jobs: if [ "${OS_VERSION_MAJOR}" -eq 8 ]; then PERL_REPO=powertools; else PERL_REPO=crb; fi && \ dnf -y --enablerepo=${PERL_REPO} install perl-File-BaseDir yum install -y https://repo.radeon.com/amdgpu-install/${{ matrix.rocm-version }}/rhel/${{ matrix.os-release }}/amdgpu-install-${ROCM_MAJOR}.${ROCM_MINOR}.${ROCM_VERSN}-1${RPM_TAG}.noarch.rpm - yum install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev + yum install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev libpciaccess - name: Configure, Build, and Test timeout-minutes: 115 diff --git a/.github/workflows/ubuntu-focal.yml b/.github/workflows/ubuntu-focal.yml index 7a52b1b1d..0e232bd63 100644 --- a/.github/workflows/ubuntu-focal.yml +++ b/.github/workflows/ubuntu-focal.yml @@ -226,7 +226,7 @@ jobs: fail-fast: false matrix: compiler: ['g++'] - rocm-version: ['5.2', '5.3', '5.4', '5.5'] + rocm-version: ['5.4', '5.5', '5.6'] mpi-headers: ['OFF'] build-jobs: ['3'] ctest-exclude: ['-LE "mpi-example|transpose"'] diff --git a/VERSION b/VERSION index 5ad2491cf..587c5f0c7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.10.2 +1.10.3 diff --git a/cmake/Modules/Findrocprofiler.cmake b/cmake/Modules/Findrocprofiler.cmake index a877ec9b5..2c91fa683 100644 --- a/cmake/Modules/Findrocprofiler.cmake +++ b/cmake/Modules/Findrocprofiler.cmake @@ -51,7 +51,8 @@ mark_as_advanced(rocprofiler_hsa_INCLUDE_DIR) find_library( rocprofiler_LIBRARY - NAMES rocprofiler64 rocprofiler + NAMES ${CMAKE_SHARED_LIBRARY_PREFIX}rocprofiler64${CMAKE_SHARED_LIBRARY_SUFFIX}.1 + rocprofiler64 rocprofiler HINTS ${rocprofiler_ROOT_DIR}/rocprofiler ${rocprofiler_ROOT_DIR} ${_ROCM_ROCPROFILER_PATHS} PATHS ${rocprofiler_ROOT_DIR}/rocprofiler ${rocprofiler_ROOT_DIR} @@ -73,6 +74,14 @@ endif() mark_as_advanced(rocprofiler_LIBRARY rocprofiler_hsa-runtime_LIBRARY) unset(_ROCM_ROCPROFILER_PATHS) +if(ROCmVersion_NUMERIC_VERSION EQUAL 50500) + find_library( + rocprofiler_pciaccess_LIBRARY + NAMES pciaccess + PATH_SUFFIXES lib lib64) + mark_as_advanced(rocprofiler_pciaccess_LIBRARY) +endif() + # ----------------------------------------------------------------------------------------# find_package_handle_standard_args( @@ -86,8 +95,11 @@ if(rocprofiler_FOUND) add_library(rocprofiler::roctx INTERFACE IMPORTED) set(rocprofiler_INCLUDE_DIRS ${rocprofiler_INCLUDE_DIR} ${rocprofiler_hsa_INCLUDE_DIR}) - set(rocprofiler_LIBRARIES ${rocprofiler_LIBRARY} ${rocprofiler_hsa-runtime_LIBRARY}) set(rocprofiler_LIBRARY_DIRS ${rocprofiler_LIBRARY_DIR}) + set(rocprofiler_LIBRARIES ${rocprofiler_LIBRARY} ${rocprofiler_hsa-runtime_LIBRARY}) + if(rocprofiler_pciaccess_LIBRARY) + list(APPEND rocprofiler_LIBRARIES ${rocprofiler_pciaccess_LIBRARY}) + endif() target_include_directories( rocprofiler::rocprofiler INTERFACE ${rocprofiler_INCLUDE_DIR} diff --git a/cmake/Modules/Findroctracer.cmake b/cmake/Modules/Findroctracer.cmake index 6ae3571be..7b94f9645 100644 --- a/cmake/Modules/Findroctracer.cmake +++ b/cmake/Modules/Findroctracer.cmake @@ -98,8 +98,8 @@ if(hsakmt_FOUND) find_library( hsakmt_${_LIB}_LIBRARY NAMES ${_LIB_NAMES} - HINTS ${_ROCM_ROCTRACER_PATHS} - PATHS ${_ROCM_ROCTRACER_PATHS} + HINTS ${_ROCM_ROCTRACER_PATHS} /opt/amdgpu + PATHS ${_ROCM_ROCTRACER_PATHS} /opt/amdgpu PATH_SUFFIXES ${CMAKE_INSTALL_LIBDIR} lib lib64) if(NOT hsakmt_${_LIB}_LIBRARY) set(hsakmt_FOUND_LIBS OFF) diff --git a/source/lib/common/setup.hpp b/source/lib/common/setup.hpp index 3173a517f..08546e529 100644 --- a/source/lib/common/setup.hpp +++ b/source/lib/common/setup.hpp @@ -119,6 +119,12 @@ get_environ(int _verbose, std::string _search_paths = {}, # else # define ROCPROFILER_METRICS_DIR "rocprofiler/lib" # endif +# if OMNITRACE_HIP_VERSION <= 50500 +# define ROCPROFILER_LIBNAME "librocprofiler64.so" +# else +# define ROCPROFILER_LIBNAME "librocprofiler64.so.1" +# endif + _data.emplace_back(env_config{ "HSA_TOOLS_LIB", _omnilib.c_str(), 0 }); _data.emplace_back(env_config{ "ROCP_TOOL_LIB", _omnilib.c_str(), 0 }); _data.emplace_back(env_config{ "ROCPROFILER_LOG", "1", 0 }); @@ -134,11 +140,11 @@ get_environ(int _verbose, std::string _search_paths = {}, _possible_rocp_metrics.emplace_back( common::join('/', getenv(itr), "lib/rocprofiler")); _possible_rocprof_libs.emplace_back( - common::join('/', getenv(itr), "lib/rocprofiler", "librocprofiler64.so")); + common::join('/', getenv(itr), "lib/rocprofiler", ROCPROFILER_LIBNAME)); _possible_rocp_metrics.emplace_back( common::join('/', getenv(itr), "rocprofiler/lib")); _possible_rocprof_libs.emplace_back( - common::join('/', getenv(itr), "rocprofiler/lib", "librocprofiler64.so")); + common::join('/', getenv(itr), "rocprofiler/lib", ROCPROFILER_LIBNAME)); } }