#0: Don't return shared ptrs of global sems/cbs, and directly return the object instead #16354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
global sems/cbs are natively thread safe now, so user can decide whether to use shared ptrs or not
Ticket
Link to Github Issue
Problem description
Global semaphore/cb creation do not need to return shared pointers, and user can decide whether to create shared pointers or not.
What's changed
Change global semaphore/circular buffer creation functions to return the object instead of a shared pointer and update use cases. Enable copy/move ctors for these objects.
Checklist
T3K Freq: https://github.com/tenstorrent/tt-metal/actions/runs/12586388211
T3K Nightly: https://github.com/tenstorrent/tt-metal/actions/runs/12586394930