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

[WIP][DRAFT] Use MeshDevice 1x1 instead of Device #18470

Draft
wants to merge 43 commits into
base: jchu/ttnn-integration-with-mesh
Choose a base branch
from

Conversation

sminakov-tt
Copy link
Contributor

Ticket

Link to Github Issue

Problem description

Provide context for the problem.

What's changed

Describe the approach used to solve the problem.
Summarize the changes made and its impact.

Checklist

tt-rkim and others added 9 commits February 28, 2025 16:46
…d add to pipeline select (#18348)

### Ticket

#17496

### Problem description

We did not have TG nightly tests as a selectable pipeline in choose your
pipeline.

This was inconvenient for developers.

### What's changed

* Split out nightly tests workflow into wrapper + impl
* Add impl to choose your pipeline

### Checklist
- [ ] [All post
commit](https://github.com/tenstorrent/tt-metal/actions/workflows/all-post-commit-workflows.yaml)
CI passes
- [ ] [Blackhole Post
commit](https://github.com/tenstorrent/tt-metal/actions/workflows/blackhole-post-commit.yaml)
CI passes (if applicable)
- [ ] [Model
regression](https://github.com/tenstorrent/tt-metal/actions/workflows/perf-models.yaml)
CI passes (if applicable)
- [ ] [Device performance
regression](https://github.com/tenstorrent/tt-metal/actions/workflows/perf-device-models.yaml)
CI passes (if applicable)
- [ ] **(For models and ops writers)** Full [new models
tests](https://github.com/tenstorrent/tt-metal/actions/workflows/full-new-models-suite.yaml)
CI passes (if applicable)
- [ ] New/Existing tests provide coverage for changes

---------

Co-authored-by: Andrew Fuller <[email protected]>
### Ticket
N/A

### Problem description
Expose mesh events to TTNN, further integration of TT-distributed with
TTNN.

### What's changed
Related cleanups bundled in this PR:
* Make `EnqueueRecordEvent`, `EnqueueRecordEventToHost` return
`MeshEvent` by value, instead of accepting `std::shared_ptr<MeshEvent>`
and mutating the reference internally.
* Make `EnqueueWaitForEvent` and `EventSynchronize` accept `MeshEvent`
by constant reference.
* Expose `MeshCoordinateRange` to TTNN - this is needed for the
`MeshEvent` APIs.

### Checklist
- [X] [All post
commit](https://github.com/tenstorrent/tt-metal/actions/runs/13577312078)
- [X] New/Existing tests provide coverage for changes - ran `MeshEvents`
tests from `distributed_unit_tests`
### Problem description
It is not easy to customize different neural networks.

### What's changed
Now all created NNs are immutable by desing.
Added operator () to the base class. All should derive.
Id it is possible you should always store std::shared_ptr<ModuleBase>
instead of your class.

### Checklist
- [x] [All post
commit](https://github.com/tenstorrent/tt-metal/actions/workflows/all-post-commit-workflows.yaml)
CI passes
- [x] New/Existing tests provide coverage for changes
…17790)

### Ticket
Link to Github Issue
#15136

### Problem description
Limited parallelization for tilize/untilize along one dimension, which
affects the performance

### What's changed
This PR adds parallelization along last two dims for tilize/untilize
with padding. For large tensors, the operations use more cores and
improve the perf by around 30 times for the tests added. The average
device samples/s is more than 3.5 times larger for models like vgg11 and
vgg16. It is also improved for some Bert tiny tests.

### Checklist
- [x] [All post
commit](https://github.com/tenstorrent/tt-metal/actions/workflows/all-post-commit-workflows.yaml)
CI passes
https://github.com/tenstorrent/tt-metal/actions/runs/13243407566
- [ ] [Blackhole Post
commit](https://github.com/tenstorrent/tt-metal/actions/workflows/blackhole-post-commit.yaml)
CI passes (if applicable)
- [ ] [Model
regression](https://github.com/tenstorrent/tt-metal/actions/workflows/perf-models.yaml)
CI passes (if applicable)
- [x] [Device performance
regression](https://github.com/tenstorrent/tt-metal/actions/workflows/perf-device-models.yaml)
CI passes (if applicable)
https://github.com/tenstorrent/tt-metal/actions/runs/13249354224
- [ ] **(For models and ops writers)** Full [new models
tests](https://github.com/tenstorrent/tt-metal/actions/workflows/full-new-models-suite.yaml)
CI passes (if applicable)
- [ ] New/Existing tests provide coverage for changes
This change updates the sliding window config tensor generation to use
structs instead of tuples to improve readibility and type safety.
### Ticket
None

### Problem description
A dependency on ASIO was introduced in #18395, but we only
"accidentally" have it available because it (sometimes) comes along with
other Boost headers. CI was fine because it happened to be there. But in
some envs it isn't there (or too old).

### What's changed
Declared our dependency on it.
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.