From 47755da59507747831830f5aef8598e8f74aeb5d Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 20:49:29 +0200 Subject: [PATCH 01/13] gitignore: add patterns Signed-off-by: P. Christeas --- .gitignore | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.gitignore b/.gitignore index de433396..8d4ec8b3 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,45 @@ _out/ .vscode/vscode-kanban.json tags cscope.out + +# CMake generated +CMakeFiles/ +CMakeCache.txt +Makefile +CPackConfig.cmake +CPackSourceConfig.cmake +CTestTestfile.cmake +DartConfiguration.tcl +Testing/ +cmake_install.cmake + +# generated +*tests_include-*.cmake +*_tests-*.cmake +dcgmi/dcgmi +dcgmi/testing/dcgmitests +dcgmi/tests/dcgmi_tests +dcgmlib/src/tests/dcgmlibtests +dcgmproftester/dcgmproftester11 +hostengine/nv-hostengine +modules/nvswitch/tests/nvswitchtests +nvvs/plugin_src/software/tests/softwaretests +nvvs/src/nvvs +nvvs/src/nvvs.log +nvvs/src/tests/nvvscoretests +common/DcgmBuildInfo.cpp +common/protobuf/dcgm.pb.cc +common/protobuf/dcgm.pb.h +common/tests/commontests +/rt.props +sdk_samples/*_sample +testing/stub/stub_library_test +testing/testdcgmunittests +testing/version.py + +# compiled +*.a +*.so +lib*.so.* + +dcgm_decode_db.txt From 6c6816ec9e495718c77e41a50f8bb88354d0f084 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Mon, 3 Jan 2022 17:29:17 +0200 Subject: [PATCH 02/13] scripts: typo in 'validate_format' Signed-off-by: P. Christeas --- validate_format.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validate_format.sh b/validate_format.sh index 813caff6..ca3a72b1 100755 --- a/validate_format.sh +++ b/validate_format.sh @@ -50,7 +50,7 @@ function usage() { echo "Formatting validation script for DCGM project Usage: ${0} [options] Where options are: - -d --diff : Show diff for files which does not complay + -d --diff : Show diff for files which does not comply -m --merged : Check merged files instead of staged files (for Jenkins) -h --help : This information From c456590d29def9dbcc6e0465786a36024fc645ce Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Mon, 3 Jan 2022 17:51:54 +0200 Subject: [PATCH 03/13] scripts: apply validate_format to commits Useful to post-validate commits sent in. Signed-off-by: P. Christeas --- validate_format.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/validate_format.sh b/validate_format.sh index ca3a72b1..9d48e3e7 100755 --- a/validate_format.sh +++ b/validate_format.sh @@ -36,6 +36,11 @@ function GetCppFiles(){ local sub_files=$(git submodule foreach --quiet --recursive "git diff-tree --name-only --diff-filter=d -r -m --no-commit-id HEAD | grep -E \"\.(cpp|h|hpp|c)$\" | xargs -r -n1 realpath --relative-to=${git_top_dir}") echo "${top_files}"$'\n'"${sub_files}" ;; + committed) + local top_files=$(git diff --name-only --diff-filter=d HEAD^ | grep -E "\.(cpp|h|hpp|c)$") + local sub_files=$(git submodule foreach --quiet --recursive "git diff --name-only --diff-filter=d HEAD^ | grep -E \"\.(cpp|h|hpp|c)$\" | xargs -r -n1 realpath --relative-to=${git_top_dir}") + echo "${top_files}"$'\n'"${sub_files}" + ;; *) ;; esac @@ -57,8 +62,8 @@ Usage: ${0} [options] Without --merged argument this script will validate changed AND staged C/CPP/H/HPP files." } -LONG_OPTS=merged,diff,help -SHORT_OPTS=m,d,h +LONG_OPTS=merged,diff,help,committed +SHORT_OPTS=m,d,h,c ! PARSED=$(getopt --options=${SHORT_OPTS} --longoptions=${LONG_OPTS} --name "${0}" -- "$@") if [[ ${PIPESTATUS[0]} -ne 0 ]]; then @@ -79,6 +84,10 @@ while true; do files_from=merged shift ;; + -c|--committed) + files_from=committed + shift + ;; -d|--diff) show_diff=1 shift From 9873336e09a0481db4a4942891ece0fb94867c5d Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:47:39 +0200 Subject: [PATCH 04/13] common: add missing header to DcgmLogging Signed-off-by: P. Christeas --- common/DcgmLogging.h | 1 + 1 file changed, 1 insertion(+) diff --git a/common/DcgmLogging.h b/common/DcgmLogging.h index 39637504..e07cb563 100644 --- a/common/DcgmLogging.h +++ b/common/DcgmLogging.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include From e922b40f1f00e52fbec875fc41c01749b6784491 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:48:17 +0200 Subject: [PATCH 05/13] protobuf: enforce Long for sizes Signed-off-by: P. Christeas --- common/protobuf/DcgmProtobuf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/protobuf/DcgmProtobuf.cpp b/common/protobuf/DcgmProtobuf.cpp index 4215c0ca..235e53c1 100644 --- a/common/protobuf/DcgmProtobuf.cpp +++ b/common/protobuf/DcgmProtobuf.cpp @@ -50,7 +50,7 @@ DcgmProtobuf::~DcgmProtobuf() *****************************************************************************/ dcgmReturn_t DcgmProtobuf::GetEncodedMessage(std::vector &encodedMessage) { - encodedMessage.resize(mpProtoMsg->ByteSize()); + encodedMessage.resize(mpProtoMsg->ByteSizeLong()); mpProtoMsg->SerializeToArray(encodedMessage.data(), encodedMessage.size()); return DCGM_ST_OK; } From 0ac9af03d93fda3e4e8f6ac96df1cae7a3a7edb8 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:53:33 +0200 Subject: [PATCH 06/13] cmake: build against configurable CUDA installations Do not assume that CUDA9,10,11 are all under /usr/local/cuda-xx , rather allow each to be configured in CMake and also turned off. Signed-off-by: P. Christeas --- CMakeLists.txt | 15 +++++++++++ cmake/FindCuda.cmake | 49 ++++++++++++++++++---------------- cublas_proxy/CMakeLists.txt | 10 +++---- cuda_loader/CMakeLists.txt | 2 +- dcgmproftester/CMakeLists.txt | 2 +- nvvs/plugin_src/CMakeLists.txt | 11 ++++---- 6 files changed, 53 insertions(+), 36 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4aa6ceb4..91c2d336 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,21 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${PROJECT_SOURCE_DIR}/cmake") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_POSITION_INDEPENDENT_CODE ON CACHE BOOL "Build Position Independent Code") +if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") + set(CUDA9_ENABLED OFF CACHE BOOL "Build with CUDA v9") + set(CUDA10_ENABLED OFF CACHE BOOL "Build with CUDA v10") + +else () + set(CUDA9_ENABLED ON CACHE BOOL "Build with CUDA v9") + set(CUDA10_ENABLED ON CACHE BOOL "Build with CUDA v10") +endif() + +set(CUDA11_ENABLED ON CACHE BOOL "Build with CUDA v11") + +if (NOT (${CUDA9_ENABLED} OR ${CUDA10_ENABLED} OR ${CUDA11_ENABLED})) + message(FATAL_ERROR "At least one CUDA version must be used") +endif() + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS ON) diff --git a/cmake/FindCuda.cmake b/cmake/FindCuda.cmake index fe7ba7ce..c48326cc 100644 --- a/cmake/FindCuda.cmake +++ b/cmake/FindCuda.cmake @@ -1,13 +1,18 @@ include(utils) -set(Cuda9_prefix usr/local/cuda-9.2) -set(Cuda10_prefix usr/local/cuda-10.0) -set(Cuda11_prefix usr/local/cuda-11.0) +set(CUDA9_TOOLKIT_PREFIX "${CMAKE_FIND_ROOT_PATH}/usr/local/cuda-9.2" + CACHE PATH "Path to CUDA9 toolkit installation") +set(CUDA10_TOOLKIT_PREFIX "${CMAKE_FIND_ROOT_PATH}/usr/local/cuda-10.0" + CACHE PATH "Path to CUDA9 toolkit installation") +set(CUDA11_TOOLKIT_PREFIX "${CMAKE_FIND_ROOT_PATH}/usr/local/cuda-11.0" + CACHE PATH "Path to CUDA9 toolkit installation") + +mark_as_advanced(CUDA9_TOOLKIT_PREFIX CUDA10_TOOLKIT_PREFIX CUDA11_TOOLKIT_PREFIX) macro (load_cuda cuda_version) - foreach (prefix ${Cuda${cuda_version}_prefix}) - list(APPEND Cuda${cuda_version}_INCLUDE_PATHS "${CMAKE_FIND_ROOT_PATH}/${prefix}/include") - list(APPEND Cuda${cuda_version}_LIB_PATHS "${CMAKE_FIND_ROOT_PATH}/${prefix}/lib" "${CMAKE_FIND_ROOT_PATH}/${prefix}/lib64") + foreach (cudapath ${CUDA${cuda_version}_TOOLKIT_PREFIX}) + list(APPEND Cuda${cuda_version}_INCLUDE_PATHS "${cudapath}/include") + list(APPEND Cuda${cuda_version}_LIB_PATHS "${cudapath}/lib" "${cudapath}/lib64") endforeach () find_path(CUDA${cuda_version}_INCLUDE_DIR cuda.h PATHS ${Cuda${cuda_version}_INCLUDE_PATHS} NO_DEFAULT_PATHS) @@ -37,6 +42,7 @@ macro (load_cuda cuda_version) set(CUDA${cuda_version}_STATIC_CUBLAS_LIBS ${libcublas${cuda_version}} CACHE STRING "Cuda${cuda_version} static libs") else () set(Cuda${cuda_version}_FOUND FALSE) + unset(CUDA${cuda_version}_INCLUDE_DIR CACHE) endif () if (libcublaslt${cuda_version}) @@ -48,22 +54,22 @@ macro (load_cuda cuda_version) endif () if (Cuda${cuda_version}_FOUND) - if (NOT Cuda_FIND_QUETLY) + if (NOT Cuda_FIND_QUIETLY) message(STATUS "Found CUDA ${cuda_version}. CUDA${cuda_version}_INCLUDE_DIR=${CUDA${cuda_version}_INCLUDE_DIR}") - message(${libcublas${cuda_version}}) - message(${libcudart${cuda_version}}) - message(${libculibos${cuda_version}}) - message(${libcublaslt${cuda_version}}) - message(${libcuda${cuda_version}}) + message("Cublas lib: ${libcublas${cuda_version}}") + message("Cudart lib: ${libcudart${cuda_version}}") + message("Culibos lib: ${libculibos${cuda_version}}") + message("CublasLt lib: ${libcublaslt${cuda_version}}") + message("CUDA lib: ${libcuda${cuda_version}}") endif () else () if (Cuda_FIND_REQUIRED) message(${CUDA${cuda_version}_INCLUDE_DIR}) - message(${libcublas${cuda_version}}) - message(${libcudart${cuda_version}}) - message(${libculibos${cuda_version}}) - message(${libcublaslt${cuda_version}}) - message(${libcuda${cuda_version}}) + message("Cublas lib: ${libcublas${cuda_version}}") + message("Cudart lib: ${libcudart${cuda_version}}") + message("Culibos lib: ${libculibos${cuda_version}}") + message("CublasLt lib: ${libcublaslt${cuda_version}}") + message("CUDA lib: ${libcuda${cuda_version}}") message(FATAL_ERROR "Could NOT find Cuda ${cuda_version}") endif () message(STATUS "Cuda ${cuda_version} NOT found") @@ -79,18 +85,15 @@ macro (load_cuda cuda_version) endmacro() -if (NOT DEFINED CUDA9_INCLUDE_DIR AND NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") +if (NOT DEFINED CUDA9_INCLUDE_DIR AND ${CUDA9_ENABLED}) load_cuda(9) endif() -if (NOT DEFINED CUDA10_INCLUDE_DIR AND NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") +if (NOT DEFINED CUDA10_INCLUDE_DIR AND ${CUDA10_ENABLED}) load_cuda(10) endif() -if (NOT DEFINED CUDA11_INCLUDE_DIR) +if (NOT DEFINED CUDA11_INCLUDE_DIR AND ${CUDA11_ENABLED}) load_cuda(11) endif() -unset(Cuda9_prefix) -unset(Cuda10_prefix) -unset(Cuda11_prefix) diff --git a/cublas_proxy/CMakeLists.txt b/cublas_proxy/CMakeLists.txt index df181926..986e4bd6 100644 --- a/cublas_proxy/CMakeLists.txt +++ b/cublas_proxy/CMakeLists.txt @@ -39,11 +39,11 @@ endmacro() set(LOCAL_CUBLAS_PROXY "") -add_subdirectory(Cuda11) -if (NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") - add_subdirectory(Cuda9) - add_subdirectory(Cuda10) -endif() +foreach(cuda_ver 9 10 11) + if (${CUDA${cuda_ver}_ENABLED}) + add_subdirectory(Cuda${cuda_ver}) + endif() +endforeach() set(DCGM_CUBLAS_PROXY ${LOCAL_CUBLAS_PROXY} PARENT_SCOPE) diff --git a/cuda_loader/CMakeLists.txt b/cuda_loader/CMakeLists.txt index ee1ea8b1..4dfab44c 100644 --- a/cuda_loader/CMakeLists.txt +++ b/cuda_loader/CMakeLists.txt @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") +if (NOT ${CUDA10_ENABLED}) set(CUDA_VERSION 11) else() set(CUDA_VERSION 10) diff --git a/dcgmproftester/CMakeLists.txt b/dcgmproftester/CMakeLists.txt index f53f7611..7970a669 100644 --- a/dcgmproftester/CMakeLists.txt +++ b/dcgmproftester/CMakeLists.txt @@ -63,7 +63,7 @@ macro(define_dcgmproftester cuda_version) target_link_options(${dcgmproftester_exec} PRIVATE -Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/proftester.linux_def) endmacro() -if (NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") +if (${CUDA10_ENABLED}) define_dcgmproftester(10) endif() define_dcgmproftester(11) diff --git a/nvvs/plugin_src/CMakeLists.txt b/nvvs/plugin_src/CMakeLists.txt index e65abf84..b4405a2d 100644 --- a/nvvs/plugin_src/CMakeLists.txt +++ b/nvvs/plugin_src/CMakeLists.txt @@ -54,12 +54,11 @@ macro(define_plugin PLUGIN_NAME CUDA_VER) set(LOCAL_NVVS_PLUGINS "${LOCAL_NVVS_PLUGINS};${PLUGIN_NAME}_${CUDA_VER}" PARENT_SCOPE) endmacro() -LIST(APPEND SUPPORTED_CUDA_VERSIONS 11) -IF (NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") - LIST(APPEND SUPPORTED_CUDA_VERSIONS 9 10) -ENDIF() - -LIST(SORT SUPPORTED_CUDA_VERSIONS) +foreach(cuda_ver 9 10 11) + if (${CUDA${cuda_ver}_ENABLED}) + LIST(APPEND SUPPORTED_CUDA_VERSIONS ${cuda_ver}) + endif() +endforeach() LIST(APPEND NVVS_PLUGINS "") From 706c0c6f0f85316662ed2ca0d9719a6de3607bbc Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:54:10 +0200 Subject: [PATCH 07/13] build against dynamic libJsonCPP Signed-off-by: P. Christeas --- cmake/FindJsoncpp.cmake | 2 +- modules/diag/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/FindJsoncpp.cmake b/cmake/FindJsoncpp.cmake index 2d2a181f..b131145c 100644 --- a/cmake/FindJsoncpp.cmake +++ b/cmake/FindJsoncpp.cmake @@ -1,5 +1,5 @@ find_package(jsoncpp REQUIRED CONFIG) -set(JSONCPP_STATIC_LIBS jsoncpp_lib_static) +set(JSONCPP_STATIC_LIBS jsoncpp) set(JSONCPP_INCLUDE_PATH $) # set(Jsoncpp_PATH_PREFIXES /usr/local "${Jsoncpp_ROOT}" "$ENV{HOME}") # foreach(prefix ${Jsoncpp_PATH_PREFIXES}) diff --git a/modules/diag/CMakeLists.txt b/modules/diag/CMakeLists.txt index d6e9cded..d607de15 100644 --- a/modules/diag/CMakeLists.txt +++ b/modules/diag/CMakeLists.txt @@ -65,7 +65,7 @@ target_link_libraries(dcgmmodulediag dcgm_common dcgm_logging dcgm_mutex - ${JSONCPP_STATIC_LIBS} + ${JSONCPP_LIBS} ) target_sources(dcgmmodulediag PRIVATE From 62249a709ac2dfe4ece4bc89a9d655a3b43d35ec Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:55:52 +0200 Subject: [PATCH 08/13] nvvs/tests: be verbose when dir cannot be created Failing unit tests just because temp directories are garbled gives a bad experience Signed-off-by: P. Christeas --- nvvs/src/tests/ConfigFileParser_v2Tests.cpp | 6 ++--- nvvs/src/tests/DcgmDiagUnitTestCommon.cpp | 25 ++++++++++++++++----- nvvs/src/tests/DcgmDiagUnitTestCommon.h | 6 +++-- nvvs/src/tests/DcgmRecorderTests.cpp | 5 +++-- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/nvvs/src/tests/ConfigFileParser_v2Tests.cpp b/nvvs/src/tests/ConfigFileParser_v2Tests.cpp index 436a5a7f..b515635d 100644 --- a/nvvs/src/tests/ConfigFileParser_v2Tests.cpp +++ b/nvvs/src/tests/ConfigFileParser_v2Tests.cpp @@ -219,7 +219,7 @@ SCENARIO("void ConfigFileParser_v2::handleGpuSetBlock(const YAML::Node &node)") { const FrameworkConfig fc; NvvsTests nv; - std::string filename = createTmpFile("yaml"); + std::string filename = nv.createTmpFile("yaml"); std::ofstream out(filename); out << CONFIG_FILE_CONTENTS; @@ -231,7 +231,7 @@ SCENARIO("void ConfigFileParser_v2::CheckTokens_globals(const YAML::Node &node)" { FrameworkConfig fc; NvvsTests nv; - std::string filename = createTmpFile("yaml"); + std::string filename = nv.createTmpFile("yaml"); std::ofstream out(filename); out << CONFIG_FILE_CONTENTS; @@ -256,7 +256,7 @@ SCENARIO("void ConfigFileParser_v2::CheckTokens_gpus(const YAML::Node &node)") { FrameworkConfig fc; NvvsTests nv; - std::string filename = createTmpFile("yaml"); + std::string filename = nv.createTmpFile("yaml"); std::ofstream out(filename); out << CONFIG_FILE_CONTENTS; diff --git a/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp b/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp index a980f423..776f57c3 100644 --- a/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp +++ b/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp @@ -14,14 +14,15 @@ * limitations under the License. */ #include "DcgmDiagUnitTestCommon.h" +#include +#include #include #include #include #include -char ourTempDir[] = "/tmp/dcgm-diag-test-XXXXXX"; -std::string createTmpFile(const char *prefix) +std::string NvvsTests::createTmpFile(const char *prefix) { std::string pathStr = std::string(ourTempDir) + "/" + prefix + ".XXXXXX"; @@ -35,12 +36,20 @@ std::string createTmpFile(const char *prefix) int ret = mkstemp(&pathStr[0]); if (ret == -1) { - throw std::runtime_error("Could not create temp file" + pathStr); + std::string err { "Could not create temp file " }; + err += pathStr; + err += " : "; + err += std::strerror(errno); + throw std::runtime_error(err); } ret = chmod(&pathStr[0], 0600); if (ret == -1) { - throw std::runtime_error("Could not chmod temp file" + pathStr); + std::string err { "Could not chmod temp file " }; + err += pathStr; + err += " : "; + err += std::strerror(errno); + throw std::runtime_error(err); } close(ret); return pathStr; @@ -48,7 +57,13 @@ std::string createTmpFile(const char *prefix) NvvsTests::NvvsTests() { - createTmpDir(); + strcpy(ourTempDir, "/tmp/dcgm-diag-test-XXXXXX"); + if (createTmpDir()) + { + std::string err = "Cannot create tmp dir for tests: "; + err += std::strerror(errno); + throw std::runtime_error(err); + } } NvvsTests::~NvvsTests() diff --git a/nvvs/src/tests/DcgmDiagUnitTestCommon.h b/nvvs/src/tests/DcgmDiagUnitTestCommon.h index f822bb87..0b8491dc 100644 --- a/nvvs/src/tests/DcgmDiagUnitTestCommon.h +++ b/nvvs/src/tests/DcgmDiagUnitTestCommon.h @@ -17,8 +17,6 @@ #include -std::string createTmpFile(const char *suffix); - // Used to manage lifetime of test resources class NvvsTests { @@ -27,7 +25,11 @@ class NvvsTests ~NvvsTests(); + std::string createTmpFile(const char *suffix); + private: int createTmpDir(); int deleteTmpDir(); + char ourTempDir[256]; + }; diff --git a/nvvs/src/tests/DcgmRecorderTests.cpp b/nvvs/src/tests/DcgmRecorderTests.cpp index 8de48bb9..f053980f 100644 --- a/nvvs/src/tests/DcgmRecorderTests.cpp +++ b/nvvs/src/tests/DcgmRecorderTests.cpp @@ -153,9 +153,10 @@ SCENARIO("int DcgmRecorder::WriteToFile(const std::string &filename, int logFile { DcgmRecorder dr; Json::Value json; + NvvsTests nv; - std::string jsonFileName = createTmpFile("json"); - std::string txtFileName = createTmpFile("txt"); + std::string jsonFileName = nv.createTmpFile("json"); + std::string txtFileName = nv.createTmpFile("txt"); fillGpuStats(dr); fillGroupStats(dr); From 9208826b7739786ec27d487f70744d0a4a5582e4 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Thu, 11 Nov 2021 23:56:57 +0200 Subject: [PATCH 09/13] nvswitch: fix init of array Signed-off-by: P. Christeas --- modules/nvswitch/DcgmNvSwitchManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nvswitch/DcgmNvSwitchManager.cpp b/modules/nvswitch/DcgmNvSwitchManager.cpp index 95445a4a..07775580 100644 --- a/modules/nvswitch/DcgmNvSwitchManager.cpp +++ b/modules/nvswitch/DcgmNvSwitchManager.cpp @@ -30,7 +30,7 @@ struct NscqDataCollector /*************************************************************************/ DcgmNvSwitchManager::DcgmNvSwitchManager(dcgmCoreCallbacks_t *dcc) : m_numNvSwitches(0) - , m_nvSwitches({}) + , m_nvSwitches {} , m_nvSwitchNscqDevices {} , m_nvSwitchUuids {} , m_coreProxy(*dcc) From 88a13d9001dddf8698f2f656401748a5fb524d4a Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Fri, 12 Nov 2021 00:25:02 +0200 Subject: [PATCH 10/13] cublas_proxy: link with --no-undefined I set this to ensure this lib is properly built against all needed dependencies. Signed-off-by: P. Christeas --- cublas_proxy/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cublas_proxy/CMakeLists.txt b/cublas_proxy/CMakeLists.txt index 986e4bd6..3a4cd303 100644 --- a/cublas_proxy/CMakeLists.txt +++ b/cublas_proxy/CMakeLists.txt @@ -20,6 +20,7 @@ macro(define_proxy_lib CUDA_VER) target_compile_definitions(${lib_name} PRIVATE CUDA_VERSION_USED=${CUDA_VER}) target_compile_options(${lib_name} PRIVATE -fvisibility=hidden -fvisibility-inlines-hidden) + target_link_options(${lib_name} PRIVATE -Wl,--no-undefined) target_link_options(${lib_name} PRIVATE -Wl,--exclude-libs,ALL) target_link_options(${lib_name} PRIVATE -Xlinker --version-script=${CMAKE_CURRENT_SOURCE_DIR}/../cublas_proxy.linux_def) @@ -28,6 +29,7 @@ macro(define_proxy_lib CUDA_VER) get_absolute_path(${cublas_proxy_include_dir} cublas_proxy_include_dir) target_include_directories(${lib_name} PUBLIC $) target_include_directories(${lib_name} PUBLIC $) + target_link_libraries(${lib_name} PRIVATE dl rt) target_link_libraries(${lib_name} PRIVATE dcgm_common dcgm_logging dcgm_mutex) target_link_libraries(${lib_name} PRIVATE ${CUDA${CUDA_VER}_STATIC_CUBLAS_LIBS}) target_link_libraries(${lib_name} PRIVATE ${CUDA${CUDA_VER}_STATIC_LIBS}) From 0ad65707083303a6c77b6b02f9d1a0006781b8c3 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Fri, 17 Dec 2021 11:55:31 +0200 Subject: [PATCH 11/13] remove unused function + static var Signed-off-by: P. Christeas --- sdk/nvidia/nvml/common/hashtable.c | 1 - sdk/nvidia/nvml/common/measurementcollection.c | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/sdk/nvidia/nvml/common/hashtable.c b/sdk/nvidia/nvml/common/hashtable.c index 7b761514..b98135b7 100644 --- a/sdk/nvidia/nvml/common/hashtable.c +++ b/sdk/nvidia/nvml/common/hashtable.c @@ -59,7 +59,6 @@ static unsigned int primes[] = { 5, 13, 23, 53, 97, 193, 389, 769, 1543, 3079, 6151, 12289, 24593, 49157, 98317, 196613, 393241, 786433, 1572869, 3145739, 6291469, 12582917, 25165843, 50331653, 100663319, 201326611, 402653189, 805306457, 1610612741 }; -static const unsigned int num_primes = sizeof(primes) / sizeof(unsigned int); static unsigned int num_buckets(hashtable_t *hashtable) { diff --git a/sdk/nvidia/nvml/common/measurementcollection.c b/sdk/nvidia/nvml/common/measurementcollection.c index f9944058..7e4756dd 100644 --- a/sdk/nvidia/nvml/common/measurementcollection.c +++ b/sdk/nvidia/nvml/common/measurementcollection.c @@ -464,17 +464,6 @@ unsigned int mcollect_size(mcollect_p mcollect) return mcollect->hashTable.size; } -static int mcollect_timeseries_size_cb(char *key, mcollect_value_p value, void *userData) -{ - long long *bytesUsed = (long long *)userData; - - if (value && mcollect_type_is_timeseries(value->type)) - { - *bytesUsed += timeseries_bytes_used(value->val.tseries); - } - - return 0; -} /*****************************************************************************/ long long mcollect_key_bytes_used(mcollect_p mcollect, char *key) From ecaf41b0840af69795e4fdfcc252779ab4b3388e Mon Sep 17 00:00:00 2001 From: Panos Christeas Date: Fri, 17 Dec 2021 14:56:55 +0000 Subject: [PATCH 12/13] Fix unused-result from std. functions Signed-off-by: P. Christeas --- nvvs/src/TestFramework.cpp | 5 ++++- nvvs/src/tests/DcgmDiagUnitTestCommon.cpp | 3 +-- nvvs/src/tests/NvidiaValidationSuiteTests.cpp | 6 +++--- testing/TestDiagManager.cpp | 15 ++++++++++++--- testing/stub/stub_library_test.c | 2 -- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/nvvs/src/TestFramework.cpp b/nvvs/src/TestFramework.cpp index 1f6bb7fb..f31fb80b 100644 --- a/nvvs/src/TestFramework.cpp +++ b/nvvs/src/TestFramework.cpp @@ -408,7 +408,10 @@ void TestFramework::loadPlugins() closedir(dir); - chdir(oldPath); + if (chdir(oldPath)) + { + PRINT_ERROR("%s", "%s", "Cannot chdir to original directory"); + } for (size_t i = 0; i < m_plugins.size(); i++) { diff --git a/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp b/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp index 776f57c3..c719c918 100644 --- a/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp +++ b/nvvs/src/tests/DcgmDiagUnitTestCommon.cpp @@ -85,6 +85,5 @@ int NvvsTests::createTmpDir() int NvvsTests::deleteTmpDir() { std::string cmd = std::string("rm -rf ") + ourTempDir; - system(cmd.c_str()); - return 0; + return system(cmd.c_str()); } diff --git a/nvvs/src/tests/NvidiaValidationSuiteTests.cpp b/nvvs/src/tests/NvidiaValidationSuiteTests.cpp index 48913c2e..c49eed4a 100644 --- a/nvvs/src/tests/NvidiaValidationSuiteTests.cpp +++ b/nvvs/src/tests/NvidiaValidationSuiteTests.cpp @@ -223,11 +223,11 @@ SCENARIO("NVVS correctly processes command line arguments") CLEANUP(); } - GIVEN("Non-default paramters") + GIVEN("Non-default parameters") { SETUP(); char statsDir[] = "/tmp/dcgm-diag-test-stats-dir-XXXXXX"; - mkdtemp(statsDir); + REQUIRE(mkdtemp(statsDir)); WrapperNvidiaValidationSuite nvvs; @@ -298,7 +298,7 @@ SCENARIO("NVVS correctly processes command line arguments") CHECK(nvvsCommon.goldenValuesFile == "goldenvalues"); CHECK(nvvsCommon.m_statsPath == statsDir); - rmdir(statsDir); + CHECK(rmdir(statsDir) == 0); CLEANUP(); } } diff --git a/testing/TestDiagManager.cpp b/testing/TestDiagManager.cpp index 8106ff57..06b9f00b 100644 --- a/testing/TestDiagManager.cpp +++ b/testing/TestDiagManager.cpp @@ -147,12 +147,18 @@ void TestDiagManager::CreateDummyScript() dummyScript << "#!/bin/bash" << std::endl; dummyScript << "echo \"Dummy script successfully executed with args $1 $2 $3\"" << std::endl; dummyScript.close(); - system("chmod 755 dummy_script"); + if (system("chmod 755 dummy_script")) + { + fprintf(stderr, "Could not chmod dummy script\n"); + } } void TestDiagManager::RemoveDummyScript() { - system("rm -f dummy_script"); + if (system("rm -f dummy_script")) + { + fprintf(stderr, "Could not remove dummy script\n"); + } } int TestDiagManager::TestPositiveDummyExecutable() @@ -1190,7 +1196,10 @@ void TestDiagManager::CreateDummyFailScript() dummyScript << "#!/bin/bash" << std::endl; dummyScript << "kaladin_dalinar_roshar_adolin_renarin_shallan_jasnah" << std::endl; dummyScript.close(); - system("chmod 755 dummy_script"); + if (system("chmod 755 dummy_script")) + { + fprintf(stderr, "Could not chmod dummy fail script\n"); + } } int TestDiagManager::TestPerformExternalCommand() diff --git a/testing/stub/stub_library_test.c b/testing/stub/stub_library_test.c index 3cd32321..1cac2993 100644 --- a/testing/stub/stub_library_test.c +++ b/testing/stub/stub_library_test.c @@ -43,10 +43,8 @@ int (*shut)(void); int main(void) { dcgmHandle_t dcgmHandle; - dcgmOperationMode_t opMode; unsigned int devices = DCGM_MAX_NUM_DEVICES; int count; - char IP[] = "127.0.0.1"; int ret; // Calling APIs, if no shared library is present, use symbol from stub library From 2dd709d21ae9bb1d4fdd9425523febf0d3b32adb Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Sat, 11 Dec 2021 19:32:32 +0200 Subject: [PATCH 13/13] Adapt to plog v1.1.5 This version renames "LOG_" macros to "PLOG_" , as not to conflict with other frameworks. Also splits includes, adds 'instanceId' to Record object. Signed-off-by: P. Christeas --- common/DcgmLogging.h | 98 +++++++++++---------- common/transport/DcgmIpc.cpp | 4 +- dcgmi/dcgmi_common.h | 6 +- modules/introspect/DcgmModuleIntrospect.cpp | 2 +- 4 files changed, 57 insertions(+), 53 deletions(-) diff --git a/common/DcgmLogging.h b/common/DcgmLogging.h index e07cb563..cc1a5886 100644 --- a/common/DcgmLogging.h +++ b/common/DcgmLogging.h @@ -17,6 +17,8 @@ // This tells plog to store file information in log records #include "dcgm_errors.h" +#include +#include #include #define PLOG_CAPTURE_FILE @@ -28,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -94,7 +97,7 @@ extern HostengineAppender hostengineAppender; namespace { template -void SyslogAdapter(int priority, char const *format, Args &&... args) +void SyslogAdapter(int priority, char const *format, Args &&...args) { syslog(priority, format, std::forward(args)...); } @@ -106,23 +109,23 @@ void SyslogAdapter(int priority, char const *format, Args &&... args) */ #define SYSLOG_CRITICAL(...) \ PRINT_CRITICAL(nullptr, __VA_ARGS__); \ - SyslogAdapter(LOG_CRIT, __VA_ARGS__); + SyslogAdapter(PLOG_CRIT, __VA_ARGS__); #define SYSLOG_ERROR(...) \ PRINT_ERROR(nullptr, __VA_ARGS__); \ - SyslogAdapter(LOG_ERR, __VA_ARGS__); + SyslogAdapter(PLOG_ERR, __VA_ARGS__); #define SYSLOG_WARNING(...) \ PRINT_WARNING(nullptr, __VA_ARGS__); \ - SyslogAdapter(LOG_WARNING, __VA_ARGS__); + SyslogAdapter(PLOG_WARNING, __VA_ARGS__); #define SYSLOG_NOTICE(...) \ PRINT_INFO(nullptr, __VA_ARGS__); \ - SyslogAdapter(LOG_NOTICE, __VA_ARGS__); + SyslogAdapter(PLOG_NOTICE, __VA_ARGS__); #define SYSLOG_INFO(...) \ PRINT_INFO(nullptr, __VA_ARGS__); \ - SyslogAdapter(LOG_INFO, __VA_ARGS__); + SyslogAdapter(PLOG_INFO, __VA_ARGS__); #define DCGM_MAX_LOG_ROTATE 5 @@ -143,45 +146,45 @@ DCGM_CASSERT(DcgmLoggingSeverityInfo == (DcgmLoggingSeverity_t)plog::info, 1); DCGM_CASSERT(DcgmLoggingSeverityDebug == (DcgmLoggingSeverity_t)plog::debug, 1); DCGM_CASSERT(DcgmLoggingSeverityVerbose == (DcgmLoggingSeverity_t)plog::verbose, 1); -#define DCGM_LOG_VERBOSE_TO(logger) LOG_(logger, plog::verbose) -#define DCGM_LOG_DEBUG_TO(logger) LOG_(logger, plog::debug) -#define DCGM_LOG_INFO_TO(logger) LOG_(logger, plog::info) -#define DCGM_LOG_WARNING_TO(logger) LOG_(logger, plog::warning) -#define DCGM_LOG_ERROR_TO(logger) LOG_(logger, plog::error) -#define DCGM_LOG_FATAL_TO(logger) LOG_(logger, plog::fatal) - -#define DCGM_LOG_VERBOSE LOG_(BASE_LOGGER, plog::verbose) -#define DCGM_LOG_DEBUG LOG_(BASE_LOGGER, plog::debug) -#define DCGM_LOG_INFO LOG_(BASE_LOGGER, plog::info) -#define DCGM_LOG_WARNING LOG_(BASE_LOGGER, plog::warning) -#define DCGM_LOG_ERROR LOG_(BASE_LOGGER, plog::error) -#define DCGM_LOG_FATAL LOG_(BASE_LOGGER, plog::fatal) - -#define IF_DCGM_LOG_VERBOSE IF_LOG_(BASE_LOGGER, plog::verbose) -#define IF_DCGM_LOG_DEBUG IF_LOG_(BASE_LOGGER, plog::debug) -#define IF_DCGM_LOG_INFO IF_LOG_(BASE_LOGGER, plog::info) -#define IF_DCGM_LOG_WARNING IF_LOG_(BASE_LOGGER, plog::warning) -#define IF_DCGM_LOG_ERROR IF_LOG_(BASE_LOGGER, plog::error) -#define IF_DCGM_LOG_FATAL IF_LOG_(BASE_LOGGER, plog::fatal) - -#define DCGM_LOG_SYSLOG_DEBUG LOG_(SYSLOG_LOGGER, plog::verbose) -#define DCGM_LOG_SYSLOG_INFO LOG_(SYSLOG_LOGGER, plog::debug) -#define DCGM_LOG_SYSLOG_NOTICE LOG_(SYSLOG_LOGGER, plog::info) -#define DCGM_LOG_SYSLOG_WARNING LOG_(SYSLOG_LOGGER, plog::warning) -#define DCGM_LOG_SYSLOG_ERROR LOG_(SYSLOG_LOGGER, plog::error) -#define DCGM_LOG_SYSLOG_CRITICAL LOG_(SYSLOG_LOGGER, plog::fatal) - -#define IF_DCGM_LOG_SYSLOG_DEBUG IF_LOG_(SYSLOG_LOGGER, plog::verbose) -#define IF_DCGM_LOG_SYSLOG_INFO IF_LOG_(SYSLOG_LOGGER, plog::debug) -#define IF_DCGM_LOG_SYSLOG_NOTICE IF_LOG_(SYSLOG_LOGGER, plog::info) -#define IF_DCGM_LOG_SYSLOG_WARNING IF_LOG_(SYSLOG_LOGGER, plog::warning) -#define IF_DCGM_LOG_SYSLOG_ERROR IF_LOG_(SYSLOG_LOGGER, plog::error) -#define IF_DCGM_LOG_SYSLOG_CRITICAL IF_LOG_(SYSLOG_LOGGER, plog::fatal) +#define DCGM_LOG_VERBOSE_TO(logger) PLOG_(logger, plog::verbose) +#define DCGM_LOG_DEBUG_TO(logger) PLOG_(logger, plog::debug) +#define DCGM_LOG_INFO_TO(logger) PLOG_(logger, plog::info) +#define DCGM_LOG_WARNING_TO(logger) PLOG_(logger, plog::warning) +#define DCGM_LOG_ERROR_TO(logger) PLOG_(logger, plog::error) +#define DCGM_LOG_FATAL_TO(logger) PLOG_(logger, plog::fatal) + +#define DCGM_LOG_VERBOSE PLOG_(BASE_LOGGER, plog::verbose) +#define DCGM_LOG_DEBUG PLOG_(BASE_LOGGER, plog::debug) +#define DCGM_LOG_INFO PLOG_(BASE_LOGGER, plog::info) +#define DCGM_LOG_WARNING PLOG_(BASE_LOGGER, plog::warning) +#define DCGM_LOG_ERROR PLOG_(BASE_LOGGER, plog::error) +#define DCGM_LOG_FATAL PLOG_(BASE_LOGGER, plog::fatal) + +#define IF_DCGM_LOG_VERBOSE IF_PLOG_(BASE_LOGGER, plog::verbose) +#define IF_DCGM_LOG_DEBUG IF_PLOG_(BASE_LOGGER, plog::debug) +#define IF_DCGM_LOG_INFO IF_PLOG_(BASE_LOGGER, plog::info) +#define IF_DCGM_LOG_WARNING IF_PLOG_(BASE_LOGGER, plog::warning) +#define IF_DCGM_LOG_ERROR IF_PLOG_(BASE_LOGGER, plog::error) +#define IF_DCGM_LOG_FATAL IF_PLOG_(BASE_LOGGER, plog::fatal) + +#define DCGM_LOG_SYSLOG_DEBUG PLOG_(SYSLOG_LOGGER, plog::verbose) +#define DCGM_LOG_SYSLOG_INFO PLOG_(SYSLOG_LOGGER, plog::debug) +#define DCGM_LOG_SYSLOG_NOTICE PLOG_(SYSLOG_LOGGER, plog::info) +#define DCGM_LOG_SYSLOG_WARNING PLOG_(SYSLOG_LOGGER, plog::warning) +#define DCGM_LOG_SYSLOG_ERROR PLOG_(SYSLOG_LOGGER, plog::error) +#define DCGM_LOG_SYSLOG_CRITICAL PLOG_(SYSLOG_LOGGER, plog::fatal) + +#define IF_DCGM_LOG_SYSLOG_DEBUG IF_PLOG_(SYSLOG_LOGGER, plog::verbose) +#define IF_DCGM_LOG_SYSLOG_INFO IF_PLOG_(SYSLOG_LOGGER, plog::debug) +#define IF_DCGM_LOG_SYSLOG_NOTICE IF_PLOG_(SYSLOG_LOGGER, plog::info) +#define IF_DCGM_LOG_SYSLOG_WARNING IF_PLOG_(SYSLOG_LOGGER, plog::warning) +#define IF_DCGM_LOG_SYSLOG_ERROR IF_PLOG_(SYSLOG_LOGGER, plog::error) +#define IF_DCGM_LOG_SYSLOG_CRITICAL IF_PLOG_(SYSLOG_LOGGER, plog::fatal) namespace { template -void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, char const *format, Args &&... args) +void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, char const *format, Args &&...args) { snprintf(outBuffer, bufSize, format, std::forward(args)...); } @@ -195,7 +198,7 @@ void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, #undef PRINT_CRITICAL #define PRINT_CRITICAL(...) \ { \ - IF_LOG_(BASE_LOGGER, plog::fatal) \ + IF_PLOG_(BASE_LOGGER, plog::fatal) \ { \ char _dcgm_logging_buf[4096]; \ OldLoggerAdapter(_dcgm_logging_buf, sizeof(_dcgm_logging_buf), __VA_ARGS__); \ @@ -206,7 +209,7 @@ void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, #undef PRINT_ERROR #define PRINT_ERROR(...) \ { \ - IF_LOG_(BASE_LOGGER, plog::error) \ + IF_PLOG_(BASE_LOGGER, plog::error) \ { \ char _dcgm_logging_buf[4096]; \ OldLoggerAdapter(_dcgm_logging_buf, sizeof(_dcgm_logging_buf), __VA_ARGS__); \ @@ -217,7 +220,7 @@ void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, #undef PRINT_WARNING #define PRINT_WARNING(...) \ { \ - IF_LOG_(BASE_LOGGER, plog::warning) \ + IF_PLOG_(BASE_LOGGER, plog::warning) \ { \ char _dcgm_logging_buf[4096]; \ OldLoggerAdapter(_dcgm_logging_buf, sizeof(_dcgm_logging_buf), __VA_ARGS__); \ @@ -228,7 +231,7 @@ void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, #undef PRINT_INFO #define PRINT_INFO(...) \ { \ - IF_LOG_(BASE_LOGGER, plog::info) \ + IF_PLOG_(BASE_LOGGER, plog::info) \ { \ char _dcgm_logging_buf[4096]; \ OldLoggerAdapter(_dcgm_logging_buf, sizeof(_dcgm_logging_buf), __VA_ARGS__); \ @@ -242,7 +245,7 @@ void OldLoggerAdapter(char *outBuffer, size_t bufSize, char const * /*unused*/, #undef PRINT_DEBUG #define PRINT_DEBUG(...) \ { \ - IF_LOG_(BASE_LOGGER, plog::debug) \ + IF_PLOG_(BASE_LOGGER, plog::debug) \ { \ char _dcgm_logging_buf[1024]; \ OldLoggerAdapter(_dcgm_logging_buf, sizeof(_dcgm_logging_buf), __VA_ARGS__); \ @@ -550,7 +553,8 @@ class DcgmLogging record->func, record->line, record->file, - record->object) + record->object, + PLOG_DEFAULT_INSTANCE_ID) , m_record(record) , m_time({ record->time.time, record->time.millitm }) , m_tid(record->tid) diff --git a/common/transport/DcgmIpc.cpp b/common/transport/DcgmIpc.cpp index 339e6dd7..0c6067f4 100644 --- a/common/transport/DcgmIpc.cpp +++ b/common/transport/DcgmIpc.cpp @@ -78,7 +78,7 @@ dcgmReturn_t DcgmIpc::Init(std::optional tcpParameters (void)evthread_use_pthreads(); /* Enable libevent logging if we're at debug or higher */ - IF_LOG_(BASE_LOGGER, plog::verbose) + IF_PLOG_(BASE_LOGGER, plog::verbose) { event_set_log_callback(DcgmIpcEventLogCB); event_enable_debug_logging(EVENT_DBG_ALL); @@ -1201,4 +1201,4 @@ dcgmReturn_t DcgmIpc::CloseConnection(dcgm_connection_id_t connectionId) return DCGM_ST_OK; } -/*****************************************************************************/ \ No newline at end of file +/*****************************************************************************/ diff --git a/dcgmi/dcgmi_common.h b/dcgmi/dcgmi_common.h index a735ae05..f193a02f 100644 --- a/dcgmi/dcgmi_common.h +++ b/dcgmi/dcgmi_common.h @@ -39,13 +39,13 @@ namespace DcgmNs::Dcgmi::Logging struct ConsoleErrorLogger { ConsoleErrorLogger(char const *func, size_t line, char const *file) - : record(plog::Record(plog::error, func, line, file, 0)) + : record(plog::Record(plog::error, func, line, file, 0, PLOG_DEFAULT_INSTANCE_ID)) {} template ConsoleErrorLogger &operator<<(T const &msg) { - IF_LOG_(BASE_LOGGER, plog::error) + IF_PLOG_(BASE_LOGGER, plog::error) { record << msg; } @@ -56,7 +56,7 @@ struct ConsoleErrorLogger ~ConsoleErrorLogger() { - IF_LOG_(BASE_LOGGER, plog::debug)(*plog::get()) += record; + IF_PLOG_(BASE_LOGGER, plog::debug)(*plog::get()) += record; std::cerr << std::endl; } diff --git a/modules/introspect/DcgmModuleIntrospect.cpp b/modules/introspect/DcgmModuleIntrospect.cpp index f5374ab4..ebb52d11 100644 --- a/modules/introspect/DcgmModuleIntrospect.cpp +++ b/modules/introspect/DcgmModuleIntrospect.cpp @@ -36,7 +36,7 @@ DcgmModuleIntrospect::DcgmModuleIntrospect(dcgmCoreCallbacks_t &dcc) { SetRunInterval(std::chrono::milliseconds(DEFAULT_RUN_INTERVAL_MS)); - IF_LOG_(BASE_LOGGER, plog::debug) + IF_PLOG_(BASE_LOGGER, plog::debug) { SetDebugLogging(true); }