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

Add LightMetal capture + replay support for initial TTNN tests/models #18145

Open
Tracked by #17037
kmabeeTT opened this issue Feb 21, 2025 · 0 comments
Open
Tracked by #17037

Add LightMetal capture + replay support for initial TTNN tests/models #18145

kmabeeTT opened this issue Feb 21, 2025 · 0 comments
Assignees
Labels
feature-request External feature request lightmetal

Comments

@kmabeeTT
Copy link
Contributor

Light Metal Feature Parent Ticket: #17037

Previous changes allowed tt-metal unit tests to be traced + replayed. This ticket will track some work to extend support to TTNN unit tests and eventually resnet. Namely:

  • expose new APIs as python bindings
  • fix any bugs found from runing resnet, and anything else that comes up along the way
  • move tracing to some lower level functions more frequently used by TTTNN ops.
  • trace/replay support for more APIs used by TTNN models (there is dedicated ticket for that here will also tag Add LightMetal capture + replay support for more host_api.hpp APIs #17779)
  • new tests in ttnn with light metal tracing and replay at some point

I have a few of these changes ready to go made in past couple weeks when I started looking at TTNN + light-metal capture/replay, will open PR.

@kmabeeTT kmabeeTT added feature-request External feature request lightmetal labels Feb 21, 2025
@kmabeeTT kmabeeTT self-assigned this Feb 21, 2025
kmabeeTT added a commit that referenced this issue Feb 21, 2025
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…) to replace host apis (Issue #18145)

 - Negates the need for a previous PR I put up to switch TTNN ops to use
   CreateBuffer() and CreateProgram() in few places.
 - Don't trace CreateProgram() or CreateBuffer() APIs anymore
 - Now supports sharded buffers too for first time, needed by rn50,
   though I copied some logic from TTNN tensor
   serialization/deserialization here, eventually consolidate.
 - Split up CoreSpec variant to/from_flatbuffer() functions for
   CoreCoord, CoreRange, CoreRangeSet for reuse by ShardSpec's CoreRangeSet
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…y safer (Issue #18145)

 - Don't rely on value of 0 denoting globally_allocated_addr or shadow
   buffer of global_id=0 not existing. Use optional tables. Resnet was
   having shadow buffer with global_id=0 which hit issue here.
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…) to replace host apis (Issue #18145)

 - Negates the need for a previous PR I put up to switch TTNN ops to use
   CreateBuffer() and CreateProgram() in few places.
 - Don't trace CreateProgram() or CreateBuffer() APIs anymore
 - Now supports sharded buffers too for first time, needed by rn50,
   though I copied some logic from TTNN tensor
   serialization/deserialization here, eventually consolidate.
 - Split up CoreSpec variant to/from_flatbuffer() functions for
   CoreCoord, CoreRange, CoreRangeSet for reuse by ShardSpec's CoreRangeSet
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…y safer (Issue #18145)

 - Don't rely on value of 0 denoting globally_allocated_addr or shadow
   buffer of global_id=0 not existing. Use optional tables. Resnet was
   having shadow buffer with global_id=0 which hit issue here.
kmabeeTT added a commit that referenced this issue Feb 21, 2025
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…) to replace host apis (Issue #18145)

 - Negates the need for a previous PR I put up to switch TTNN ops to use
   CreateBuffer() and CreateProgram() in few places.
 - Don't trace CreateProgram() or CreateBuffer() APIs anymore
 - Now supports sharded buffers too for first time, needed by rn50,
   though I copied some logic from TTNN tensor
   serialization/deserialization here, eventually consolidate.
 - Split up CoreSpec variant to/from_flatbuffer() functions for
   CoreCoord, CoreRange, CoreRangeSet for reuse by ShardSpec's CoreRangeSet
kmabeeTT added a commit that referenced this issue Feb 21, 2025
…y safer (Issue #18145)

 - Don't rely on value of 0 denoting globally_allocated_addr or shadow
   buffer of global_id=0 not existing. Use optional tables. Resnet was
   having shadow buffer with global_id=0 which hit issue here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request External feature request lightmetal
Projects
None yet
Development

No branches or pull requests

1 participant