tenstorrent/tt-metal - Open Source PR Review Scorecard

:metal: TT-NN operator library, and TT-Metalium low level kernel programming model.

C-Rank Grade: S (Elite) - 70/100

External PR Merge Rate: 61%

Response Time: -

First Timer Success: 52%

Frequently Asked Questions

Is tenstorrent/tt-metal welcoming to first-time open-source contributors?

tenstorrent/tt-metal has a recorded first-timer success rate of 51.9%. Repositories ranked S typically provide actionable feedback during code reviews and actively nurture new community contributors.

How fast can I expect code review feedback on my pull request?

Maintainers in tenstorrent/tt-metal respond to incoming external pull requests in approximately 0.0 hours on average. Keeping PRs focused on single tasks and ensuring tests pass helps maintainers review faster.

What does the 70.1 C-Rank™ score (S Tier) represent?

The C-Rank™ system evaluates GitHub projects on a 0–100 scale using real data: PR merge rates, review turnaround time, active maintainer presence, and first-time contributor success. A score of 70.1 places tenstorrent/tt-metal in the S tier.

What is the external contributor pull request merge rate for tenstorrent/tt-metal?

The external contributor pull request merge rate for tenstorrent/tt-metal is 60.6%, based on public PR activity from non-core contributors.

Are there Good First Issues available in tenstorrent/tt-metal?

tenstorrent/tt-metal currently has 11 active issue(s) tagged with beginner-friendly labels like "good first issue", "beginner", or "up-for-grabs".

tenstorrent
tenstorrent/tt-metalS•Elite1.7k
GitHub
Back to Explorer
tenstorrent

tenstorrent/tt-metal

1,700
Active (30d)S•Elite(70/100)Python

:metal: TT-NN operator library, and TT-Metalium low level kernel programming model.

GitHub
Compare••
Jump to:

AI Maintainer Review Guidelines

Review Persona

Strict Architecture Gatekeeper

Warmth Score
7.4/10
Patience Score
8.0/10
Nitpick Rate
35%

Strict review standards in tenstorrent/tt-metal. Ensure PR scope matches issue requirements closely before requesting review.

Top PR Submission Do's

  • •Ensure code complies with the project coding style
  • •Keep PRs scoped to a single concern
  • •Include context and link to the related issue

Top PR Friction Pitfalls (Don'ts)

  • •Do not submit PRs without linking an issue
  • •Do not break existing tests without fixing them
  • •Do not mix unrelated refactors in a single PR
Response Velocity
-
No reviewer activity recorded

Average Response Latency

Tracks hours until a maintainer leaves a review, comment, or PR response.

Merge Efficiency
60.6%
Moderate PR acceptance rate

External Acceptance Rate

Percentage of community pull requests successfully merged into main.

First-Timer Success
51.9%
Strong first-timer PR acceptance rate

First PR Conversion

Rate at which developers submitting their first repository PR succeed.

Active Maintainers
381 core
Highly collaborative maintainer core
Diagnostic Health HUD
60.6%
Merge Gauge
51.9%
1st-Timer
Community Vibe40/100

Embed C-Rank Badge

Show contributors that your repository actively reviews and merges external pull requests.

GetMerged C-Rank badge for tenstorrent/tt-metal
[![GetMerged C-Rank](https://getmerged.abhishekco.de/api/badge/tenstorrent/tt-metal)](https://getmerged.abhishekco.de/tenstorrent/tt-metal?utm_source=github&utm_medium=badge)

Active Good First Issues (5)

View on GitHub

Split out of #51221 (item 3 of 3) so it can be fixed and closed independently of the two Quasar-header items. Verified still present at tt_metal/hw/firmware/src/tt-1xx/active_erisc.cc:115 on current main. initialize_local_memory() passes the .data section size in BYTES to l1_to_local_mem_copy(), whose len parameter is in 32-bit WORDS, so it copies 4× too much data into local memory (overrunning .data into .bss/stack) and reads 4× past the L1 init image. How it fails Blackhole active-ethernet firmware boot — active_erisc.cc is the BH ACTIVE_ETH firmware source (tt_metal/llrt/hal/tt-1xx/blackhole/bh_hal.cpp:189). With a non-empty .data/.rodata section of N bytes, the copy writes 4*N bytes starting at __ldm_data_start. The AERISC local-memory window is only MEM_AERISC_LOCAL_SIZE = MEM_ERISC_LOCAL_SIZE(8192) - MEM_ERISC_BASE_FW_LOCAL_SIZE(0x700) = 6400 bytes (dev_mem_map.h:368), and main.ld places .bss immediately after .data (__ldm_data_end at main.ld:227, __ldm_bss_start at :245), so

📅 Opened Jul 27, 2026💬 0 comments
Quality: 40/100Contribute

Split out of #51225, combining items 6 and 7 — they are the same copy-paste slip in two architectures and the parent asks for them to be fixed as one change. Verified still present on current main: bh_hal_idle_eth.cpp:56-58 and qa_hal_idle_eth.cpp:56-58 are byte-identical in the relevant expression. On Blackhole and Quasar, the IDLE_ETH UNRESERVED base is derived from MEM_AERISC_MAP_END (the active-eth map end) while the IDLE_ETH KERNEL_CONFIG base is MEM_IERISC_MAP_END, so the idle-eth kernel-config ring buffer overlaps the start of the unreserved/allocatable L1 region by 2544 bytes on both arches. The code Both files, lines 56-58 — the base uses IERISC but the unreserved start uses AERISC: mem_map_bases[static_cast<std::size_t>(HalL1MemAddrType::KERNEL_CONFIG)] = MEM_IERISC_MAP_END; mem_map_bases[static_cast<std::size_t>(HalL1MemAddrType::UNRESERVED)] = tt::align(MEM_AERISC_MAP_END + MEM_ERISC_KERNEL_CONFIG_SIZE, max_alignment); The sibling that does it correctly is the Wormh

📅 Opened Jul 27, 2026💬 0 comments
Quality: 40/100Contribute

Split out of #51225 (item 4 of 7) so it can be fixed and closed independently. Verified still present at tt_metal/distributed/mesh_device.cpp:1726 on current main. MeshDevice::~MeshDevice() unconditionally dereferences pimpl_, which is still null whenever construction of the MeshDeviceImpl (or of the MeshDeviceView passed to it) throws, turning a clean TT_FATAL into a segfault during exception unwinding. How it fails MeshDevice::create(MeshDeviceConfig(/*mesh_shape=*/MeshShape(2, 2), /*offset=*/std::nullopt, /*physical_device_ids=*/{0})); MeshDeviceConfig performs no cross-validation of mesh_shape vs physical_device_ids (tt_metal/api/tt-metalium/mesh_config.hpp has no checks), so create() reaches line 407-412 with root_devices.size() == 1 and mesh_shape.mesh_size() == 4. std::make_unique<MeshDeviceView>(mesh_shape, root_devices, fabric_node_ids) → MeshDeviceViewImpl → MeshContainer<T>::MeshContainer(shape, valu

📅 Opened Jul 27, 2026💬 0 comments
Quality: 40/100Contribute

Split out of #51127 (defect 2 of 10) so it can be fixed and closed independently of the other subsystems. Parent anchors this at cq_dispatch.cpp:1159 against 02246470f99; verified still present at line 1157 on current main. Line numbers below are against current main. process_go_signal_mcast_cmd re-reads cmd->mcast.num_unicast_txns after the kernel has intentionally overwritten that word of the command with the go-signal value, so the virtualize_unicast_cores check compares against a garbage byte. How it fails Chip built with VIRTUALIZE_UNICAST_CORES=1 (mesh chip whose virtual active-eth-core count exceeds the physical count) and dispatch_s disabled (2 CQs on ETH dispatch cores), launching a program on sub-device index 1 (multicast_go_offset == 1, so storage_offset == 1). Line 1132 writes go_signal_value into word 1 of the command, i.e. bytes 4..7, which is exactly where mcast.multicast_go_offset (byte 5), mcast.num_unicast_txns (byte 6) and mcast.noc_data_start_index (byte 7) live (ba

📅 Opened Jul 27, 2026💬 2 comments
Quality: 40/100Contribute

File: tt_metal/tt-llk/tt_llk_quasar/common/inc/ckernel_dest.h The file should be refactored to have a cleaner API. See the equivalent file for blackhole. Should be as simple as copy pasting the file over, and changing to use cfg_rmw. Unless there are other architectural changes in this debug dest pathway. However, make sure there is no race on register write. (See tenstorrent/tt-llk#1671)

📅 Opened Jul 16, 2026💬 3 comments
Quality: 40/100Contribute
Looking for more Python beginner tasks?Explore Python GFI

Contributor Community Vibe Feedback

Rate what actually matters after opening a pull request here.

Have you contributed to this repo?

Rate your first-hand PR experience (review speed, maintainer responsiveness, and onboarding ease) to help other contributors.

3 ratings required
Maintainer helpfulness
Review speed
Beginner friendliness

Contributor Compatibility & Review Speed Analysis for tenstorrent/tt-metal

When evaluating whether to contribute to tenstorrent/tt-metal, response velocity and maintainer engagement are crucial. GetMerged continuously tracks pull request trajectories, first-comment latency, and code review rounds to help developers avoid submitting pull requests to backlogged repositories.

Currently, maintainers of tenstorrent/tt-metal acknowledge new external contributions in approximately -. Out of all submitted pull requests from non-core authors in the last 180-day window, 60.6% were successfully merged into the primary branch.

Frequently Asked Questions - Contributing to tenstorrent/tt-metal

01

Is tenstorrent/tt-metal welcoming to first-time open-source contributors?

tenstorrent/tt-metal has a recorded first-timer success rate of 51.9%. Repositories ranked Elite typically provide actionable feedback during code reviews and actively nurture new community contributors.

02

How fast can I expect code review feedback on my pull request?

The initial maintainer response time averages ~-. Keeping PRs scoped to single concerns and ensuring CI checks succeed will optimize review turnaround.

03

What does the 70.1 C-Rank™ score represent?

The C-Rank™ index scores repositories on a 0 to 100 scale using an objective formula: external PR merge rates, initial response speed, active maintainer count, and first-time contributor retention. A score of 70.1 places tenstorrent/tt-metal in the Elite tier.

04

What is the external contributor pull request merge rate for tenstorrent/tt-metal?

The external pull request merge rate is 60.6%. GetMerged isolates non-core community contributions so external developers get an accurate benchmark of PR acceptance probability.

05

Are there beginner Good First Issues open in tenstorrent/tt-metal?

Yes, tenstorrent/tt-metal currently has 11 active issue(s) tagged with beginner-friendly labels. You can inspect these directly from the repository issues tab.

GetMerged C-Rank™ Indexing Standard

All metrics displayed for tenstorrent/tt-metal are automatically retrieved via the public GitHub API and recalculated daily. Insider pull requests submitted by repository owners or organization members are excluded from merge rate calculations to preserve objective external contributor statistics.