Skip to content

Conversation

@pgardnerTT
Copy link
Contributor

@pgardnerTT pgardnerTT commented Dec 6, 2025

Ticket

tenstorrent/tt-metal#23354

Problem description

Adding ROW, COL, SCALAR unary_bcast for Float32, Int32, Uint32, Uint16

What's changed

New dataformat support

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2025

Thank you for your contribution! 🚀

You can run tt-metal integration tests by adding the blackhole-integration-tests and/or wormhole-integration-tests labels to this pull request.

If you want to run metal post-commit tests, you can add the metal-post-commit-tests label to this pull request.

📖 For more information, please refer to our CONTRIBUTING guide.

@github-actions github-actions bot added blackhole test-infra This label is used for issues, pull requests, or tasks related to the LLK testing framework wormhole labels Dec 6, 2025
@pgardnerTT pgardnerTT force-pushed the pgardner/unary_bcast_llk branch from 1c75776 to c24f022 Compare December 11, 2025 23:05
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds ROW, SCALAR, and COL broadcast support for 32-bit data formats (Float32, Int32, UInt32) and UInt16 in the low-level kernel (LLK) library. The implementation targets both Wormhole B0 and Blackhole architectures.

Key Changes:

  • Added broadcast type handling for ROW, SCALAR, and COL operations with unpack-to-dest support for 32-bit formats
  • Refactored address register configuration logic to use dynamic register selection based on context
  • Enhanced math datacopy operations with specialized D2B/B2D instruction sequences for different broadcast types and UInt16 format

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tt_llk_wormhole_b0/llk_lib/llk_unpack_A.h Adds ROW/SCALAR/COL broadcast MOP configurations, refactors address register logic, adjusts semaphore timing, and updates unpacker x_end configuration for broadcast types
tt_llk_wormhole_b0/llk_lib/llk_math_eltwise_unary_datacopy.h Implements broadcast-specific D2B/B2D instruction sequences, adds UInt16 handling for MOVB2D operations, configures address modes per format, and adds ADDR_MOD_3 initialization
tt_llk_wormhole_b0/common/inc/cunpack_common.h Updates int8_math_enabled check to include UInt32 format and adds else clause to clear debug feature disable register
tt_llk_blackhole/llk_lib/llk_unpack_A.h Mirrors Wormhole changes for Blackhole architecture including broadcast MOP configurations and address register refactoring
tt_llk_blackhole/llk_lib/llk_math_eltwise_unary_datacopy.h Implements same broadcast D2B/B2D sequences and UInt16 handling as Wormhole version with Blackhole-specific FPU mode settings
tt_llk_blackhole/common/inc/cunpack_common.h Adds else clause to clear debug feature disable register matching Wormhole implementation
tests/python_tests/test_bcast.py New comprehensive test file covering ROW/SCALAR/COL broadcast types with supported formats including constraint filtering and golden reference generation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pgardnerTT pgardnerTT force-pushed the pgardner/unary_bcast_llk branch 2 times, most recently from 771b574 to dabd266 Compare January 6, 2026 16:04
@pgardnerTT pgardnerTT force-pushed the pgardner/unary_bcast_llk branch from dabd266 to ba0b7ba Compare January 8, 2026 20:58
@pgardnerTT pgardnerTT enabled auto-merge January 9, 2026 00:30
@pgardnerTT pgardnerTT disabled auto-merge January 9, 2026 15:07
@pgardnerTT pgardnerTT enabled auto-merge January 9, 2026 15:53
@pgardnerTT pgardnerTT added this pull request to the merge queue Jan 9, 2026
Merged via the queue into main with commit 91080aa Jan 9, 2026
30 checks passed
@pgardnerTT pgardnerTT deleted the pgardner/unary_bcast_llk branch January 9, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blackhole test-infra This label is used for issues, pull requests, or tasks related to the LLK testing framework wormhole

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants