From 95e28961f005915273d25f149c6340e958738ce5 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 1 Oct 2024 16:31:07 +0000 Subject: [PATCH 1/5] Deprecate support for directly accessing logger --- include/rmm/logger.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/rmm/logger.hpp b/include/rmm/logger.hpp index 326385f16..830beb9fb 100644 --- a/include/rmm/logger.hpp +++ b/include/rmm/logger.hpp @@ -107,7 +107,10 @@ struct bytes { * * @return spdlog::logger& The logger. */ -RMM_EXPORT inline spdlog::logger& logger() +[[deprecated( + "Support for direct access to spdlog loggers in rmm is planned for " + "removal")]] RMM_EXPORT inline spdlog::logger& +logger() { static detail::logger_wrapper wrapped{}; return wrapped.logger_; From fc33baf9caa9ef774bb4b69c5b459309622ca343 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 1 Oct 2024 17:31:07 +0000 Subject: [PATCH 2/5] Add a detail API to avoid the deprecation warning during build --- include/rmm/logger.hpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/include/rmm/logger.hpp b/include/rmm/logger.hpp index 830beb9fb..eba3f122b 100644 --- a/include/rmm/logger.hpp +++ b/include/rmm/logger.hpp @@ -96,6 +96,11 @@ struct bytes { } }; +inline spdlog::logger& logger() +{ + static detail::logger_wrapper wrapped{}; + return wrapped.logger_; +} } // namespace detail /** @@ -112,8 +117,7 @@ struct bytes { "removal")]] RMM_EXPORT inline spdlog::logger& logger() { - static detail::logger_wrapper wrapped{}; - return wrapped.logger_; + return detail::logger(); } //! @cond Doxygen_Suppress @@ -121,12 +125,12 @@ logger() // The default is INFO, but it should be used sparingly, so that by default a log file is only // output if there is important information, warnings, errors, and critical failures // Log messages that require computation should only be used at level TRACE and DEBUG -#define RMM_LOG_TRACE(...) SPDLOG_LOGGER_TRACE(&rmm::logger(), __VA_ARGS__) -#define RMM_LOG_DEBUG(...) SPDLOG_LOGGER_DEBUG(&rmm::logger(), __VA_ARGS__) -#define RMM_LOG_INFO(...) SPDLOG_LOGGER_INFO(&rmm::logger(), __VA_ARGS__) -#define RMM_LOG_WARN(...) SPDLOG_LOGGER_WARN(&rmm::logger(), __VA_ARGS__) -#define RMM_LOG_ERROR(...) SPDLOG_LOGGER_ERROR(&rmm::logger(), __VA_ARGS__) -#define RMM_LOG_CRITICAL(...) SPDLOG_LOGGER_CRITICAL(&rmm::logger(), __VA_ARGS__) +#define RMM_LOG_TRACE(...) SPDLOG_LOGGER_TRACE(&rmm::detail::logger(), __VA_ARGS__) +#define RMM_LOG_DEBUG(...) SPDLOG_LOGGER_DEBUG(&rmm::detail::logger(), __VA_ARGS__) +#define RMM_LOG_INFO(...) SPDLOG_LOGGER_INFO(&rmm::detail::logger(), __VA_ARGS__) +#define RMM_LOG_WARN(...) SPDLOG_LOGGER_WARN(&rmm::detail::logger(), __VA_ARGS__) +#define RMM_LOG_ERROR(...) SPDLOG_LOGGER_ERROR(&rmm::detail::logger(), __VA_ARGS__) +#define RMM_LOG_CRITICAL(...) SPDLOG_LOGGER_CRITICAL(&rmm::detail::logger(), __VA_ARGS__) //! @endcond From fa752a0a7da8e08976d1ab2c8a15a910e2c471a0 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 10 Oct 2024 22:19:54 +0000 Subject: [PATCH 3/5] Update tracking mr test --- python/rmm/pyproject.toml | 4 ++-- tests/mr/device/tracking_mr_tests.cpp | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/python/rmm/pyproject.toml b/python/rmm/pyproject.toml index b148cdba7..4766777a2 100644 --- a/python/rmm/pyproject.toml +++ b/python/rmm/pyproject.toml @@ -30,7 +30,7 @@ authors = [ license = { text = "Apache 2.0" } requires-python = ">=3.10" dependencies = [ - "cuda-python>=11.7.1,<12.0a0", + "cuda-python>=12.0,<13.0a0", "numba>=0.57", "numpy>=1.23,<3.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. @@ -128,7 +128,7 @@ dependencies-file = "../../dependencies.yaml" matrix-entry = "cuda_suffixed=true" requires = [ "cmake>=3.26.4,!=3.30.0", - "cuda-python>=11.7.1,<12.0a0", + "cuda-python>=12.0,<13.0a0", "cython>=3.0.0", "librmm==24.12.*,>=0.0.0a0", "ninja", diff --git a/tests/mr/device/tracking_mr_tests.cpp b/tests/mr/device/tracking_mr_tests.cpp index acd540ae6..3fce55fb8 100644 --- a/tests/mr/device/tracking_mr_tests.cpp +++ b/tests/mr/device/tracking_mr_tests.cpp @@ -204,8 +204,8 @@ TEST(TrackingTest, LogOutstandingAllocations) { std::ostringstream oss; auto oss_sink = std::make_shared(oss); - rmm::logger().sinks().push_back(oss_sink); - auto old_level = rmm::logger().level(); + rmm::detail::logger().sinks().push_back(oss_sink); + auto old_level = rmm::detail::logger().level(); tracking_adaptor mr{rmm::mr::get_current_device_resource_ref()}; std::vector allocations; @@ -213,7 +213,7 @@ TEST(TrackingTest, LogOutstandingAllocations) allocations.push_back(mr.allocate(ten_MiB)); } - rmm::logger().set_level(spdlog::level::debug); + rmm::detail::logger().set_level(spdlog::level::debug); EXPECT_NO_THROW(mr.log_outstanding_allocations()); #if SPDLOG_ACTIVE_LEVEL <= SPDLOG_LEVEL_DEBUG @@ -224,8 +224,8 @@ TEST(TrackingTest, LogOutstandingAllocations) mr.deallocate(allocation, ten_MiB); } - rmm::logger().set_level(old_level); - rmm::logger().sinks().pop_back(); + rmm::detail::logger().set_level(old_level); + rmm::detail::logger().sinks().pop_back(); } } // namespace From 92e9848201eb20d9aee8d3e12bb8fcf9b9933a1b Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 10 Oct 2024 22:25:08 +0000 Subject: [PATCH 4/5] Update Cython --- python/rmm/rmm/_lib/logger.pyx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/rmm/rmm/_lib/logger.pyx b/python/rmm/rmm/_lib/logger.pyx index 029bbdd79..efc2ef727 100644 --- a/python/rmm/rmm/_lib/logger.pyx +++ b/python/rmm/rmm/_lib/logger.pyx @@ -1,4 +1,4 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. +# Copyright (c) 2023-2024, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -64,7 +64,7 @@ cdef extern from "spdlog/spdlog.h" namespace "spdlog" nogil: bool should_log(logging_level msg_level) -cdef extern from "rmm/logger.hpp" namespace "rmm" nogil: +cdef extern from "rmm/logger.hpp" namespace "rmm::detail" nogil: cdef spdlog_logger& logger() except + From f77ca5e0c8df95362576ef41469a2031f7153977 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 10 Oct 2024 22:26:05 +0000 Subject: [PATCH 5/5] Revert extraneous changes --- python/rmm/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/rmm/pyproject.toml b/python/rmm/pyproject.toml index 4766777a2..b148cdba7 100644 --- a/python/rmm/pyproject.toml +++ b/python/rmm/pyproject.toml @@ -30,7 +30,7 @@ authors = [ license = { text = "Apache 2.0" } requires-python = ">=3.10" dependencies = [ - "cuda-python>=12.0,<13.0a0", + "cuda-python>=11.7.1,<12.0a0", "numba>=0.57", "numpy>=1.23,<3.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. @@ -128,7 +128,7 @@ dependencies-file = "../../dependencies.yaml" matrix-entry = "cuda_suffixed=true" requires = [ "cmake>=3.26.4,!=3.30.0", - "cuda-python>=12.0,<13.0a0", + "cuda-python>=11.7.1,<12.0a0", "cython>=3.0.0", "librmm==24.12.*,>=0.0.0a0", "ninja",