You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a meta-issue meant to capture the current state of rapids-logger and remaining work, serving as a task list for a 0.1 release in time for the RAPIDS 25.02 release.
Reducing code duplication: Before rapids-logger multiple repositories had their own approaches to maintaining loggers based on spdlog.
Avoid exposing spdlog publicly in published packages: There are three parts to this.
API: rapids-logger avoids any public APIs that expose spdlog types directly
ABI: rapids-logger uses the PImpl idiom to avoid any spdlog types leaking through the public ABI
Symbols: rapids-logger uses symbol visibility markup and suitable compilation flags to hide all spdlog symbols.
Avoid spdlog and fmt dependencies in packages
conda: fmt and spdlog are now removed from conda package requirements. The only dependency is a CPM-downloaded (but not installed) spdlog in conda builds of rapids-logger itself.
wheel: We already avoid any package dependencies, and now rapids-logger ensures that spdlog files are not installed during the build. The spdlog-bundled fmt is now used by default, so we don't have to worry about fmt anymore either.
Allow end-users to use whatever form of spdlog that they wish: End-users should be able to use a pre-compiled spdlog library on their system, for example. This was done in Validate dynamic linking against spdlog and fmt #29
Avoid propagating a spdlog dependency to consumers who don't use the logger: Now that rapids-logger is a precompiled rather than header-only library, there is no risk of this dependency propagating if the library is compiled with the right settings, namely by privately and statically linking to libspdlog.a while building a dynamic librapids_logger.so library that embeds the needed libspdlog symbols. That is now the default build behavior.
The text was updated successfully, but these errors were encountered:
This is a meta-issue meant to capture the current state of rapids-logger and remaining work, serving as a task list for a 0.1 release in time for the RAPIDS 25.02 release.
The text was updated successfully, but these errors were encountered: