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

Hide simulation device/host impl details #224

Merged
merged 1 commit into from
Oct 31, 2024

Conversation

vtangTT
Copy link
Contributor

@vtangTT vtangTT commented Oct 28, 2024

Issue: #187

Changes include:

  • Forward declare nng_socket and nng_dialer, changing them into pointers and propagating this change to not expose nng.h in tt_simulation_host.hpp
  • remove create_flatbuffer and print_flatbuffer as a member function in tt_simulation_device so now no need to expose flatbuffers in tt_simulation_device.hpp
  • hijacked a quick simulation test fix onto this PR

@vtangTT vtangTT marked this pull request as ready for review October 28, 2024 20:04
Copy link
Collaborator

@blozano-tt blozano-tt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you!

@vtangTT vtangTT force-pushed the vtangTT/abstract_impl_details branch 3 times, most recently from 808c596 to b4d6ca4 Compare October 31, 2024 21:21
@vtangTT vtangTT force-pushed the vtangTT/abstract_impl_details branch from b4d6ca4 to 331cfd0 Compare October 31, 2024 21:27
@vtangTT vtangTT merged commit 646415a into main Oct 31, 2024
20 checks passed
@vtangTT vtangTT deleted the vtangTT/abstract_impl_details branch October 31, 2024 21:36
mbezuljTT pushed a commit that referenced this pull request Nov 1, 2024
Issue: #187

Changes include: 
- Forward declare `nng_socket` and `nng_dialer`, changing them into
pointers and propagating this change to not expose `nng.h` in
`tt_simulation_host.hpp`
- remove `create_flatbuffer` and `print_flatbuffer` as a member function
in `tt_simulation_device` so now no need to expose flatbuffers in
`tt_simulation_device.hpp`
- hijacked a quick simulation test fix onto this PR
broskoTT added a commit that referenced this pull request Dec 2, 2024
### Issue
Original PR was #323, then the reverted one was #336

### Description
libnng.so is no longer a public dependency as of this PR:
#224
Additionally, given that it is only consumed here it would be
advantageous to statically link it.
Why?
So we don't have to:
- Install it
- Package it in a debian
- Bundle it in a ttnn python wheel ... etc ... 

Along the above lines, I don't want to run into issues like this:
```
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/lib/python3.8/runpy.py", line [11](https://github.com/tenstorrent/tt-metal/actions/runs/11964313949/job/33356936955#step:6:12)1, in _get_module_details
    __import__(pkg_name)
  File "/home/ubuntu/actions-runner/_work/tt-metal/tt-metal/tests/end_to_end_tests/env/lib/python3.8/site-packages/ttnn/__init__.py", line 20, in <module>
    import ttnn._ttnn
ImportError: libnng.so.1: cannot open shared object file: No such file or directory
```
### List of the changes
Build nng as static
Make it private linkage

### Testing
Hoping CI is good enough

### API Changes
There are no API changes in this PR.

---------

Co-authored-by: Bryan Wilder Field Lozano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants