Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] [DEBT] Use GLOG in the cuML's back-end #100

Closed
cjnolet opened this issue Jan 15, 2019 · 8 comments
Closed

[TASK] [DEBT] Use GLOG in the cuML's back-end #100

cjnolet opened this issue Jan 15, 2019 · 8 comments
Labels
0 - Backlog In queue waiting for assignment CUDA / C++ CUDA issue feature request New feature or request good first issue Good for newcomers Tech Debt Issues related to debt

Comments

@cjnolet
Copy link
Member

cjnolet commented Jan 15, 2019

I have spoken with some of the other back-end developers of cuML about this. GLOG is Google's logging tool for C++.

Similar to other logging tools, it allows us to set a log level at run-time in order to debug cuML algorithms without having to rebuild each time.

It will also allow users of the community to drop the log level to debug when they experience problems and provide their output on github issues so we can help isolate problems more easily.

@burlachenkok
Copy link
Contributor

Sometime ago I worked in things relative to append logging infrastructure to RAPIDS:

Repository:
https://github.com/burlachenkok/cuml/commits/Work_on_RAPML_29

Change:
burlachenkok@5dc14b9

@cjnolet cjnolet added the good first issue Good for newcomers label May 4, 2019
@tfeher tfeher mentioned this issue Aug 1, 2019
@teju85 teju85 changed the title [TASK] Use GLOG in the cuML's back-end [TASK] [DEBT] Use GLOG in the cuML's back-end Feb 17, 2020
@teju85 teju85 added CUDA / C++ CUDA issue Tech Debt Issues related to debt labels Feb 17, 2020
@teju85
Copy link
Member

teju85 commented Feb 17, 2020

Marking this as a Tech Debt item so as to help as plan for future clean-up releases.

@teju85
Copy link
Member

teju85 commented Feb 26, 2020

@jrhemstad has recently filed a PR under RMM proposing to use spdlog as the underlying logging library.

Since we depend on RMM, we should do either one of the following:

  1. check if we can safely mix loggers, in case we want to go ahead with glog
  2. use spdlog instead of glog

Personal opinion: I'd favor spdlog.

@jrhemstad
Copy link
Contributor

I looked at glog and didn't like it because it wasn't header only. That's less of a big deal for a compiled library like cuML. This was more important for RMM since we're planning to make it header only.

See https://github.com/gabime/spdlog/wiki/How-to-use-spdlog-in-DLLs about mixing loggers in different libraries. They shouldn't collide at all.

@teju85
Copy link
Member

teju85 commented Feb 26, 2020

@jrhemstad I didn't notice anywhere it being mentioned that we can mix logger objects from different logging libraries itself? Maybe I'm misreading its docs?

@jrhemstad
Copy link
Contributor

jrhemstad commented Feb 26, 2020

@jrhemstad I didn't notice anywhere it being mentioned that we can mix logger objects from different logging libraries itself? Maybe I'm misreading its docs?

You can mix logger objects because the libraries are totally independent. The spdlog that is in librmm.so is totally independent of libcuml.so.

Furthermore, the logger object I'm using in RMM isn't registered with spdlog's global registry of loggers because I don't want it to be visible or used externally. So there is no way you can possibly interact or conflict with the logger used in RMM short of totally rewriting the code.

@teju85
Copy link
Member

teju85 commented Feb 26, 2020

Great. Thanks for the confirmation @jrhemstad

@teju85
Copy link
Member

teju85 commented Apr 14, 2020

Closing this one as PR #1867 has now been merged.

@teju85 teju85 closed this as completed Apr 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - Backlog In queue waiting for assignment CUDA / C++ CUDA issue feature request New feature or request good first issue Good for newcomers Tech Debt Issues related to debt
Projects
None yet
Development

No branches or pull requests

4 participants