diff --git a/CMakeLists.txt b/CMakeLists.txt index f1578eee14..dfb1e92b33 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,7 @@ set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm" set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.") if (NOT DEFINED CPACK_PACKAGE_VENDOR) - set(CPACK_PACKAGE_VENDOR "AMD") + set(CPACK_PACKAGE_VENDOR "Advanced Micro Devices, Inc.") endif() if (NOT DEFINED CPACK_PACKAGE_CONTACT) @@ -63,11 +63,13 @@ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD System Management libraries") endif() -if (NOT AMD_SMI_PACKAGE) - set(AMD_SMI_PACKAGE rocm-smi-lib64) +if (NOT ROCM_SMI_PACKAGE) + set(ROCM_SMI_PACKAGE rocm-smi-lib64) endif() -set(CPACK_PACKAGE_FILE_NAME "${AMD_SMI_PACKAGE}-${PKG_VERSION_STR}") +set(CPACK_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) +set(CPACK_PACKAGE_VERSION ${PKG_VERSION_STR}) +set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/package.txt) project(${AMD_SMI_LIBS_TARGET}) @@ -145,9 +147,6 @@ set(CMN_INC_LIST ${CMN_INC_LIST} "${SHR_MUTEX_DIR}/shared_mutex.h") add_subdirectory("rocm_smi") add_subdirectory("oam") -# Generate Doxygen documentation -find_package(Doxygen) -find_package(LATEX COMPONENTS PDFLATEX) # install(TARGETS ${ROCM_SMI_TARGET} # LIBRARY DESTINATION ${ROCM_SMI}/lib COMPONENT ${ROCM_SMI_COMPONENT}) # install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/rocm_smi.h @@ -159,7 +158,7 @@ find_package(LATEX COMPONENTS PDFLATEX) set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst; ${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm") -set (CPACK_DEBIAN_PACKAGE_NAME ${AMD_SMI_PACKAGE}) +set (CPACK_DEBIAN_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) set (CPACK_DEBIAN_PACKAGE_VERSION ${PKG_VERSION_STR}) # RPM package specific variables @@ -167,7 +166,7 @@ set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_post") set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/RPM/rpm_postun") -set (CPACK_RPM_PACKAGE_NAME ${AMD_SMI_PACKAGE}) +set (CPACK_RPM_PACKAGE_NAME ${ROCM_SMI_PACKAGE}) set (CPACK_RPM_PACKAGE_VERSION ${PKG_VERSION_STR}) include (CPack) diff --git a/cmake_modules/utils.cmake b/cmake_modules/utils.cmake index 3d0496aca9..9c9fea5ea4 100755 --- a/cmake_modules/utils.cmake +++ b/cmake_modules/utils.cmake @@ -103,7 +103,7 @@ endfunction() function(num_change_since_prev_pkg VERSION_PREFIX) find_program(get_commits NAMES version_util.sh - PATHS ${COMMON_PROJ_ROOT}/cmake_modules) + PATHS ${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules) if (get_commits) execute_process( COMMAND ${get_commits} -c ${VERSION_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/include/rocm_smi/rocm_smi_common.h b/include/rocm_smi/rocm_smi_common.h index d95040b74d..11de51ff52 100755 --- a/include/rocm_smi/rocm_smi_common.h +++ b/include/rocm_smi/rocm_smi_common.h @@ -79,7 +79,8 @@ #define DEVICE_MUTEX \ amd::smi::pthread_wrap _pw(*amd::smi::GetMutex(dv_ind)); \ amd::smi::RocmSMI& smi_ = amd::smi::RocmSMI::getInstance(); \ - bool blocking_ = !(smi_.init_options() && RSMI_INIT_FLAG_RESRV_TEST1); \ + bool blocking_ = !(smi_.init_options() && \ + static_cast(RSMI_INIT_FLAG_RESRV_TEST1)); \ amd::smi::ScopedPthread _lock(_pw, blocking_); \ if (!blocking_ && _lock.mutex_not_acquired()) { \ return RSMI_STATUS_BUSY; \ diff --git a/package.txt b/package.txt new file mode 100644 index 0000000000..6fdb491473 --- /dev/null +++ b/package.txt @@ -0,0 +1,6 @@ +if (CPACK_GENERATOR MATCHES "DEB") + set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_amd64") +elseif (CPACK_GENERATOR MATCHES "RPM") + set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}.x86_64") +endif() + diff --git a/rocm_smi/CMakeLists.txt b/rocm_smi/CMakeLists.txt index 3875e9bb06..39c49c3f48 100755 --- a/rocm_smi/CMakeLists.txt +++ b/rocm_smi/CMakeLists.txt @@ -28,6 +28,9 @@ set(ROCM_SMI "rocm_smi") set(ROCM_SMI_COMPONENT "lib${ROCM_SMI}") set(ROCM_SMI_TARGET "${ROCM_SMI}64") +## Include common cmake modules +include(utils) + ################# Determine the library version ######################### set(SO_VERSION_GIT_TAG_PREFIX "rsmi_so_ver") @@ -113,15 +116,18 @@ install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/rocm_smi.h install(FILES ${COMMON_SRC_ROOT}/include/rocm_smi/kfd_ioctl.h DESTINATION rocm_smi/include/rocm_smi) # Generate Doxygen documentation +find_package(Doxygen) +find_package(LATEX COMPONENTS PDFLATEX) + if (DOXYGEN_FOUND AND LATEX_FOUND) set (RSMI_MANUAL_NAME "ROCm_SMI_Manual") - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/rsmi_doxygen.cfg + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.tex COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/rsmi_doxygen.cfg - "${INC_DIR}/rocm_smi.h" + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docs/amd_smi_doxygen.cfg + "${COMMON_SRC_ROOT}/include/rocm_smi/rocm_smi.h" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf COMMAND make > /dev/null diff --git a/rocm_smi/docs/amd_smi_doxygen.cfg b/rocm_smi/docs/amd_smi_doxygen.cfg index b502f89e93..3ecd26bae2 100644 --- a/rocm_smi/docs/amd_smi_doxygen.cfg +++ b/rocm_smi/docs/amd_smi_doxygen.cfg @@ -758,7 +758,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/docs/README.md \ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/rocm_smi/docs/README.md \ @CMAKE_CURRENT_SOURCE_DIR@/include/rocm_smi/rocm_smi.h # This tag can be used to specify the character encoding of the source files diff --git a/src/rocm_smi.cc b/src/rocm_smi.cc index cc5102aa9c..07b04ab861 100755 --- a/src/rocm_smi.cc +++ b/src/rocm_smi.cc @@ -3370,7 +3370,7 @@ static bool check_evt_notif_support(int kfd_fd) { struct kfd_ioctl_get_version_args args = {0, 0}; if (ioctl(kfd_fd, AMDKFD_IOC_GET_VERSION, &args) == -1) { - return RSMI_STATUS_INIT_ERROR; + return false; } if (args.minor_version < 3) { @@ -3578,7 +3578,8 @@ rsmi_test_sleep(uint32_t dv_ind, uint32_t seconds) { // DEVICE_MUTEX amd::smi::pthread_wrap _pw(*amd::smi::GetMutex(dv_ind)); amd::smi::RocmSMI& smi_ = amd::smi::RocmSMI::getInstance(); - bool blocking_ = !(smi_.init_options() && RSMI_INIT_FLAG_RESRV_TEST1); + bool blocking_ = !(smi_.init_options() && + static_cast(RSMI_INIT_FLAG_RESRV_TEST1)); amd::smi::ScopedPthread _lock(_pw, blocking_); if (!blocking_ && _lock.mutex_not_acquired()) { return RSMI_STATUS_BUSY;