-
Notifications
You must be signed in to change notification settings - Fork 196
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
[fea] Expose the arena mr to the Python interface. #1711
base: branch-24.12
Are you sure you want to change the base?
Conversation
namespace RMM_NAMESPACE { | ||
namespace mr::detail::arena { | ||
|
||
namespace rmm::mr::detail::arena { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This changes the __attribute__((visibility))
of this namespace from "default"
to "hidden"
. Is this deliberate, or an inadvertent editor-induced change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's deliberate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the second error in https://github.com/rapidsai/rmm/actions/runs/11531514933/job/32102372109 .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, OK, can we just hide that one symbol? Add RMM_HIDDEN
for that symbol.
See discussion in #1652, particularly, we need to be careful about visibility of objects that might make it in to the public namespace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for sharing. I will check whether the exception can be thrown from there. Considering that the namespace is detail
and is only used by the MR, which is exposed in the public, it should be fine. That said, I will double check.
Who doesn't love c++ linking, so much fun.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The visibility is controlled by namespace instead of translation unit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh I had it backwards. I thought this change was exposing more, but it's actually hiding more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May I suggest that we make the hiding explicit?
namespace RMM_HIDDEN rmm::mr::detail::arena {
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm more than happy to make the change. But do you want to do it for the entire repository or do you want me to make the change to this specific file? Or maybe the CMake hidden visibility option is sufficient?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Switched to hiding only the spdlog function as suggested offline.
Thanks! |
Description
Close #830 .
Checklist