Open TT-billteng opened 1 month ago
Likely tripping on this assert in worker_edm_adapters.cpp
constexpr WorkerToEdmSender (
ttnn::ccl::WorkerXY edm_worker_xy,
std::size_t edm_buffer_base_addr,
std::size_t num_buffers_per_channel,
std::size_t edm_l1_sem_addr,
std::size_t buffer_size_bytes,
volatile uint32_t * const worker_sem_addr
) :
edm_buffer_addr(get_noc_addr(edm_worker_xy.x, edm_worker_xy.y, edm_buffer_base_addr)),
edm_semaphore_addr(get_noc_addr(edm_worker_xy.x, edm_worker_xy.y, edm_l1_sem_addr)),
worker_sem_addr(worker_sem_addr),
edm_buffer_base_addr(edm_buffer_base_addr),
num_buffers_per_channel(num_buffers_per_channel),
last_buffer_index(num_buffers_per_channel - 1),
edm_l1_sem_addr(edm_l1_sem_addr),
buffer_size_bytes(buffer_size_bytes),
buffer_index(0)
{
ASSERT(buffer_size_bytes > 0);
}
The buffer_size_bytes assert may be removable if we invoke workers without work. Technically we should allow this although it would be suboptimal. Ideally we never produce this scenario because the host code is smart enough
https://github.com/tenstorrent/tt-metal/actions/runs/11562146971/job/32183169130