diff --git a/device/api/umd/device/cluster.h b/device/api/umd/device/cluster.h index 3db5f91a..1dc8d9c8 100644 --- a/device/api/umd/device/cluster.h +++ b/device/api/umd/device/cluster.h @@ -500,12 +500,6 @@ class tt_device { return soc_descriptor_per_chip.at(chip_id); } - virtual tt::umd::CoreCoord translate_coord_to( - const chip_id_t chip, const tt::umd::CoreCoord core_coord, const CoordSystem coord_system) { - throw std::runtime_error("---- tt_device::to is not implemented\n"); - return tt::umd::CoreCoord(); - } - bool performed_harvesting = false; std::unordered_map harvested_rows_per_target = {}; bool translation_tables_en = false; @@ -761,8 +755,6 @@ class Cluster : public tt_device { std::optional> get_tlb_data_from_target( const chip_id_t chip, const tt::umd::CoreCoord core); tt::Writer get_static_tlb_writer(const chip_id_t chip, const tt::umd::CoreCoord target); - virtual tt::umd::CoreCoord translate_coord_to( - const chip_id_t chip, const tt::umd::CoreCoord core_coord, const CoordSystem coord_system); virtual void configure_active_ethernet_cores_for_mmio_device( chip_id_t mmio_chip, const std::unordered_set& active_eth_cores_per_chip); void l1_membar( diff --git a/device/cluster.cpp b/device/cluster.cpp index 5b868ec4..e123e92c 100644 --- a/device/cluster.cpp +++ b/device/cluster.cpp @@ -682,8 +682,9 @@ void Cluster::configure_active_ethernet_cores_for_mmio_device( void Cluster::configure_active_ethernet_cores_for_mmio_device( chip_id_t mmio_chip, const std::unordered_set& active_eth_cores_per_chip) { std::unordered_set active_eth_cores_xy; + const tt_SocDescriptor& soc_desc = get_soc_descriptor(mmio_chip); for (const auto& core : active_eth_cores_per_chip) { - CoreCoord virtual_coord = translate_coord_to(mmio_chip, core, CoordSystem::VIRTUAL); + CoreCoord virtual_coord = soc_desc.translate_coord_to(core, CoordSystem::VIRTUAL); active_eth_cores_xy.insert(tt_xy_pair(virtual_coord.x, virtual_coord.y)); } @@ -1015,7 +1016,8 @@ void Cluster::deassert_risc_reset_at_core(tt_cxy_pair core, const TensixSoftRese void Cluster::deassert_risc_reset_at_core( const chip_id_t chip, const CoreCoord core, const TensixSoftResetOptions& soft_resets) { tt_cxy_pair virtual_core; - const CoreCoord virtual_coord = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + virtual_core.chip = chip; + const CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; deassert_risc_reset_at_core(virtual_core, soft_resets); @@ -1046,7 +1048,8 @@ void Cluster::assert_risc_reset_at_core(tt_cxy_pair core) { void Cluster::assert_risc_reset_at_core(const chip_id_t chip, const CoreCoord core) { tt_cxy_pair virtual_core; - const CoreCoord virtual_coord = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + virtual_core.chip = chip; + const CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; assert_risc_reset_at_core(virtual_core); @@ -1128,7 +1131,8 @@ tt::Writer Cluster::get_static_tlb_writer(tt_cxy_pair target) { tt::Writer Cluster::get_static_tlb_writer(const chip_id_t chip, const CoreCoord target) { tt_cxy_pair virtual_core; - const CoreCoord virtual_coord = translate_coord_to(chip, target, CoordSystem::VIRTUAL); + virtual_core.chip = chip; + const CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(target, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; return get_static_tlb_writer(virtual_core); @@ -1406,8 +1410,8 @@ std::optional> Cluster::get_tlb_data_from_target( std::optional> Cluster::get_tlb_data_from_target(const chip_id_t chip, CoreCoord core) { tt_cxy_pair virtual_core; - const CoreCoord virtual_coord = translate_coord_to(chip, core, CoordSystem::VIRTUAL); virtual_core.chip = chip; + const CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; return get_tlb_data_from_target(virtual_core); @@ -1430,7 +1434,8 @@ void Cluster::configure_tlb( void Cluster::configure_tlb( chip_id_t logical_device_id, tt::umd::CoreCoord core, int32_t tlb_index, uint64_t address, uint64_t ordering) { tt_xy_pair virtual_core; - const CoreCoord virtual_coord = translate_coord_to(logical_device_id, core, CoordSystem::VIRTUAL); + const CoreCoord virtual_coord = + get_soc_descriptor(logical_device_id).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; configure_tlb(logical_device_id, virtual_core, tlb_index, address, ordering); @@ -1770,11 +1775,6 @@ uint32_t Cluster::get_harvested_noc_rows_for_chip(int logical_device_id) { return get_harvested_noc_rows(get_harvested_rows(logical_device_id)); } -CoreCoord Cluster::translate_coord_to( - const chip_id_t chip, const CoreCoord core_coord, const CoordSystem coord_system) { - return get_soc_descriptor(chip).translate_coord_to(core_coord, coord_system); -} - void Cluster::enable_local_ethernet_queue(const chip_id_t& device_id, int timeout) { uint32_t msg_success = 0x0; auto timeout_seconds = std::chrono::seconds(timeout); @@ -3031,7 +3031,7 @@ void Cluster::l1_membar( const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) { std::unordered_set cores_xy; for (const auto& core : cores) { - const CoreCoord virtual_core = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + const CoreCoord virtual_core = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); cores_xy.insert({virtual_core.x, virtual_core.y}); } l1_membar(chip, fallback_tlb, cores_xy); @@ -3059,7 +3059,7 @@ void Cluster::dram_membar( const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) { std::unordered_set cores_xy; for (const auto& core : cores) { - const CoreCoord virtual_core = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + const CoreCoord virtual_core = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); cores_xy.insert({virtual_core.x, virtual_core.y}); } dram_membar(chip, fallback_tlb, cores_xy); @@ -3111,7 +3111,7 @@ void Cluster::write_to_device( const std::string& tlb_to_use) { tt_cxy_pair virtual_core; virtual_core.chip = chip; - CoreCoord virtual_coord = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; write_to_device(mem_ptr, size_in_bytes, virtual_core, addr, tlb_to_use); @@ -3180,7 +3180,7 @@ void Cluster::read_from_device( void* mem_ptr, chip_id_t chip, CoreCoord core, uint64_t addr, uint32_t size, const std::string& fallback_tlb) { tt_cxy_pair virtual_core; virtual_core.chip = chip; - CoreCoord virtual_coord = translate_coord_to(chip, core, CoordSystem::VIRTUAL); + CoreCoord virtual_coord = get_soc_descriptor(chip).translate_coord_to(core, CoordSystem::VIRTUAL); virtual_core.x = virtual_coord.x; virtual_core.y = virtual_coord.y; read_from_device(mem_ptr, virtual_core, addr, size, fallback_tlb); diff --git a/tests/api/test_cluster.cpp b/tests/api/test_cluster.cpp index 87d35c26..08bbbb34 100644 --- a/tests/api/test_cluster.cpp +++ b/tests/api/test_cluster.cpp @@ -130,8 +130,6 @@ TEST(ApiClusterTest, SimpleIOAllChips) { std::vector readback_data(data_size, 0); umd_cluster->read_from_device(readback_data.data(), chip_id, any_core, 0, data_size, "LARGE_READ_TLB"); - // umd_cluster->wait_for_non_mmio_flush(chip_id); - ASSERT_EQ(data, readback_data); } } @@ -152,7 +150,6 @@ TEST(ApiClusterTest, RemoteFlush) { setup_wormhole_remote(umd_cluster.get()); for (auto chip_id : umd_cluster->get_target_remote_device_ids()) { - // const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const CoreCoord any_core = soc_desc.get_cores(CoreType::TENSIX)[0]; @@ -177,8 +174,6 @@ TEST(ApiClusterTest, RemoteFlush) { std::vector readback_data(data_size, 0); umd_cluster->read_from_device(readback_data.data(), chip_id, any_core, 0, data_size, "LARGE_READ_TLB"); - // umd_cluster->wait_for_non_mmio_flush(chip_id); - ASSERT_EQ(data, readback_data); } } @@ -205,7 +200,6 @@ TEST(ApiClusterTest, SimpleIOSpecificChips) { setup_wormhole_remote(umd_cluster.get()); for (auto chip_id : umd_cluster->get_all_chips_in_cluster()) { - // const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const CoreCoord any_core = soc_desc.get_cores(CoreType::TENSIX)[0]; @@ -219,7 +213,6 @@ TEST(ApiClusterTest, SimpleIOSpecificChips) { // Now read back the data. for (auto chip_id : umd_cluster->get_all_chips_in_cluster()) { - // const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const tt_SocDescriptor& soc_desc = umd_cluster->get_soc_descriptor(chip_id); const CoreCoord any_core = soc_desc.get_cores(CoreType::TENSIX)[0]; @@ -229,8 +222,6 @@ TEST(ApiClusterTest, SimpleIOSpecificChips) { std::vector readback_data(data_size, 0); umd_cluster->read_from_device(readback_data.data(), chip_id, any_core, 0, data_size, "LARGE_READ_TLB"); - // umd_cluster->wait_for_non_mmio_flush(chip_id); - ASSERT_EQ(data, readback_data); } }