From b759bccd4412831fd7f653de5d3e837e8250ebae Mon Sep 17 00:00:00 2001 From: pjanevski Date: Tue, 24 Dec 2024 18:25:03 +0000 Subject: [PATCH] Handle P150 board type properly --- .../api/umd/device/blackhole_implementation.h | 8 ++- device/api/umd/device/coordinate_manager.h | 5 +- device/api/umd/device/tt_cluster_descriptor.h | 12 ---- device/api/umd/device/tt_soc_descriptor.h | 4 +- .../device/types/cluster_descriptor_types.h | 13 ++++ device/blackhole/blackhole_implementation.cpp | 14 ++++ device/cluster.cpp | 12 ++-- device/coordinate_manager.cpp | 10 ++- device/tt_cluster_descriptor.cpp | 2 + device/tt_soc_descriptor.cpp | 25 +++++-- tests/api/test_cluster.cpp | 2 +- tests/api/test_core_coord_translation_bh.cpp | 42 +++++++++-- tests/api/test_mockup_device.cpp | 2 +- tests/api/test_soc_descriptor.cpp | 2 +- tests/blackhole/test_cluster_bh.cpp | 1 - tests/soc_descs/blackhole_140_arch_local.yaml | 72 +++++++++++++++++++ ...ch.yaml => blackhole_140_arch_remote.yaml} | 0 17 files changed, 187 insertions(+), 39 deletions(-) create mode 100644 tests/soc_descs/blackhole_140_arch_local.yaml rename tests/soc_descs/{blackhole_140_arch.yaml => blackhole_140_arch_remote.yaml} (100%) diff --git a/device/api/umd/device/blackhole_implementation.h b/device/api/umd/device/blackhole_implementation.h index 0ac0c805..370060de 100644 --- a/device/api/umd/device/blackhole_implementation.h +++ b/device/api/umd/device/blackhole_implementation.h @@ -10,6 +10,7 @@ #include #include "umd/device/architecture_implementation.h" +#include "umd/device/types/cluster_descriptor_types.h" #include "umd/device/types/tlb.h" namespace tt::umd { @@ -99,8 +100,9 @@ static const std::vector ARC_CORES = {{8, 0}}; static const std::vector ARC_LOCATIONS = ARC_CORES; static const tt_xy_pair PCIE_GRID_SIZE = {1, 1}; -static const std::vector PCIE_CORES = {{{11, 0}}}; -static const std::vector PCI_LOCATIONS = PCIE_CORES; +static const std::vector PCIE_CORES_LOCAL = {{{2, 0}}}; +static const std::vector PCI_LOCATIONS = PCIE_CORES_LOCAL; +static const std::vector PCIE_CORES_REMOTE = {{{11, 0}}}; static const tt_xy_pair ETH_GRID_SIZE = {14, 1}; static const std::vector ETH_CORES = { @@ -195,6 +197,8 @@ static const size_t pcie_translated_coordinate_start_y = 24; static const size_t dram_translated_coordinate_start_x = 17; static const size_t dram_translated_coordinate_start_y = 12; +std::vector get_pcie_cores(const BoardType board_type, const bool is_chip_remote); + } // namespace blackhole class blackhole_implementation : public architecture_implementation { diff --git a/device/api/umd/device/coordinate_manager.h b/device/api/umd/device/coordinate_manager.h index f580fbd6..abc3b643 100644 --- a/device/api/umd/device/coordinate_manager.h +++ b/device/api/umd/device/coordinate_manager.h @@ -13,6 +13,7 @@ #include "umd/device/tt_core_coordinates.h" #include "umd/device/tt_xy_pair.h" #include "umd/device/types/arch.h" +#include "umd/device/types/cluster_descriptor_types.h" class CoordinateManager { public: @@ -36,7 +37,9 @@ class CoordinateManager { tt::ARCH arch, const size_t tensix_harvesting_mask = 0, const size_t dram_harvesting_mask = 0, - const size_t eth_harvesting_mask = 0); + const size_t eth_harvesting_mask = 0, + const BoardType board_type = BoardType::UNKNOWN, + const bool is_chip_remote = false); static size_t get_num_harvested(const size_t harvesting_mask); diff --git a/device/api/umd/device/tt_cluster_descriptor.h b/device/api/umd/device/tt_cluster_descriptor.h index 0d20d7dc..bfff46ac 100644 --- a/device/api/umd/device/tt_cluster_descriptor.h +++ b/device/api/umd/device/tt_cluster_descriptor.h @@ -24,18 +24,6 @@ namespace YAML { class Node; } -enum BoardType : uint32_t { - E75, - E150, - E300, - N150, - N300, - P100, - P150A, - GALAXY, - UNKNOWN, -}; - class tt_ClusterDescriptor { private: tt_ClusterDescriptor() = default; diff --git a/device/api/umd/device/tt_soc_descriptor.h b/device/api/umd/device/tt_soc_descriptor.h index 70416e42..f65a666d 100644 --- a/device/api/umd/device/tt_soc_descriptor.h +++ b/device/api/umd/device/tt_soc_descriptor.h @@ -20,6 +20,7 @@ #include "umd/device/tt_core_coordinates.h" #include "umd/device/tt_xy_pair.h" #include "umd/device/types/arch.h" +#include "umd/device/types/cluster_descriptor_types.h" namespace YAML { class Node; @@ -92,7 +93,8 @@ class tt_SocDescriptor { // CoreCoord conversions. tt::umd::CoreCoord translate_coord_to(const tt::umd::CoreCoord core_coord, const CoordSystem coord_system) const; - static std::string get_soc_descriptor_path(tt::ARCH arch); + static std::string get_soc_descriptor_path( + tt::ARCH arch, const BoardType board_type = BoardType::UNKNOWN, const bool is_chip_remote = false); std::vector get_cores(const CoreType core_type) const; std::vector get_harvested_cores(const CoreType core_type) const; diff --git a/device/api/umd/device/types/cluster_descriptor_types.h b/device/api/umd/device/types/cluster_descriptor_types.h index 1c09ab1d..23b2eef3 100644 --- a/device/api/umd/device/types/cluster_descriptor_types.h +++ b/device/api/umd/device/types/cluster_descriptor_types.h @@ -34,6 +34,19 @@ struct eth_coord_t { } }; +enum BoardType : uint32_t { + E75, + E150, + E300, + N150, + N300, + P100, + P150A, + P300, + GALAXY, + UNKNOWN, +}; + namespace std { template <> struct hash { diff --git a/device/blackhole/blackhole_implementation.cpp b/device/blackhole/blackhole_implementation.cpp index 3dc25ef4..be33cf0f 100644 --- a/device/blackhole/blackhole_implementation.cpp +++ b/device/blackhole/blackhole_implementation.cpp @@ -104,4 +104,18 @@ tt_driver_noc_params blackhole_implementation::get_noc_params() const { return {NOC_ADDR_LOCAL_BITS, NOC_ADDR_NODE_ID_BITS}; } +namespace blackhole { +std::vector get_pcie_cores(const BoardType board_type, const bool is_chip_remote) { + if (board_type == BoardType::UNKNOWN || board_type == BoardType::P100) { + return PCIE_CORES_REMOTE; + } else if (board_type == BoardType::P150A) { + return PCIE_CORES_LOCAL; + } else if (board_type == BoardType::P300) { + return is_chip_remote ? PCIE_CORES_REMOTE : PCIE_CORES_LOCAL; + } + + return PCIE_CORES_LOCAL; +} +} // namespace blackhole + } // namespace tt::umd diff --git a/device/cluster.cpp b/device/cluster.cpp index c7c7f629..b1a6462f 100644 --- a/device/cluster.cpp +++ b/device/cluster.cpp @@ -454,7 +454,9 @@ std::unique_ptr Cluster::construct_chip_from_cluster( std::unique_ptr Cluster::construct_chip_from_cluster(chip_id_t chip_id, tt_ClusterDescriptor* cluster_desc) { tt::ARCH arch = cluster_desc->get_arch(chip_id); - std::string soc_desc_path = tt_SocDescriptor::get_soc_descriptor_path(arch); + const BoardType chip_board_type = cluster_desc->get_board_type(chip_id); + std::string soc_desc_path = + tt_SocDescriptor::get_soc_descriptor_path(arch, chip_board_type, cluster_desc->is_chip_remote(chip_id)); // Note that initially soc_descriptors are not harvested, but will be harvested later if perform_harvesting is // true. // TODO: This should be changed, harvesting should be done in tt_socdescriptor's constructor and not as part of @@ -600,7 +602,7 @@ Cluster::Cluster( // rather than ClusterDescriptor. tt::ARCH arch = tt::ARCH::GRAYSKULL; chip_id_t mock_chip_id = 0; - tt_SocDescriptor soc_desc = tt_SocDescriptor(tt_SocDescriptor::get_soc_descriptor_path(arch)); + tt_SocDescriptor soc_desc = tt_SocDescriptor(tt_SocDescriptor::get_soc_descriptor_path(arch, BoardType::UNKNOWN)); std::unique_ptr chip = std::make_unique(soc_desc); std::unordered_map> chips; @@ -2286,14 +2288,14 @@ void Cluster::wait_for_connected_non_mmio_flush(const chip_id_t chip_id) { } void Cluster::wait_for_non_mmio_flush(const chip_id_t chip_id) { - log_assert(arch_name != tt::ARCH::BLACKHOLE, "Non-MMIO flush not supported in Blackhole"); - std::string read_tlb = "LARGE_READ_TLB"; - if (!this->cluster_desc->is_chip_remote(chip_id)) { log_debug(LogSiliconDriver, "Chip {} is not a remote chip, skipping wait_for_non_mmio_flush", chip_id); return; } + std::string read_tlb = "LARGE_READ_TLB"; + log_assert(arch_name != tt::ARCH::BLACKHOLE, "Non-MMIO flush not supported in Blackhole"); + chip_id_t mmio_connected_chip = cluster_desc->get_closest_mmio_capable_chip(chip_id); wait_for_connected_non_mmio_flush(mmio_connected_chip); } diff --git a/device/coordinate_manager.cpp b/device/coordinate_manager.cpp index 15ee5d04..2bec412a 100644 --- a/device/coordinate_manager.cpp +++ b/device/coordinate_manager.cpp @@ -461,7 +461,9 @@ std::shared_ptr CoordinateManager::create_coordinate_manager( tt::ARCH arch, const size_t tensix_harvesting_mask, const size_t dram_harvesting_mask, - const size_t eth_harvesting_mask) { + const size_t eth_harvesting_mask, + const BoardType board_type, + bool is_chip_remote) { switch (arch) { case tt::ARCH::GRAYSKULL: return create_coordinate_manager( @@ -495,7 +497,8 @@ std::shared_ptr CoordinateManager::create_coordinate_manager( tt::umd::wormhole::ARC_CORES, tt::umd::wormhole::PCIE_GRID_SIZE, tt::umd::wormhole::PCIE_CORES); - case tt::ARCH::BLACKHOLE: + case tt::ARCH::BLACKHOLE: { + const std::vector pcie_cores = tt::umd::blackhole::get_pcie_cores(board_type, is_chip_remote); return create_coordinate_manager( arch, tt::umd::blackhole::TENSIX_GRID_SIZE, @@ -510,7 +513,8 @@ std::shared_ptr CoordinateManager::create_coordinate_manager( tt::umd::blackhole::ARC_GRID_SIZE, tt::umd::blackhole::ARC_CORES, tt::umd::blackhole::PCIE_GRID_SIZE, - tt::umd::blackhole::PCIE_CORES); + pcie_cores); + } case tt::ARCH::Invalid: throw std::runtime_error("Invalid architecture for creating coordinate manager"); default: diff --git a/device/tt_cluster_descriptor.cpp b/device/tt_cluster_descriptor.cpp index c9d4db6f..5fd68305 100644 --- a/device/tt_cluster_descriptor.cpp +++ b/device/tt_cluster_descriptor.cpp @@ -751,6 +751,8 @@ void tt_ClusterDescriptor::load_chips_from_connectivity_descriptor(YAML::Node &y board_type = BoardType::P100; } else if (chip_board_type.second == "p150A") { board_type = BoardType::P150A; + } else if (chip_board_type.second == "p300") { + board_type = BoardType::P300; } else if (chip_board_type.second == "GALAXY") { board_type = BoardType::GALAXY; } else { diff --git a/device/tt_soc_descriptor.cpp b/device/tt_soc_descriptor.cpp index b8e61088..25375b0a 100644 --- a/device/tt_soc_descriptor.cpp +++ b/device/tt_soc_descriptor.cpp @@ -273,7 +273,8 @@ bool tt_SocDescriptor::is_ethernet_core(const tt_xy_pair &core) const { return this->ethernet_core_channel_map.find(core) != ethernet_core_channel_map.end(); } -std::string tt_SocDescriptor::get_soc_descriptor_path(tt::ARCH arch) { +std::string tt_SocDescriptor::get_soc_descriptor_path( + tt::ARCH arch, const BoardType board_type, const bool is_chip_remote) { switch (arch) { case tt::ARCH::GRAYSKULL: // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. @@ -281,9 +282,25 @@ std::string tt_SocDescriptor::get_soc_descriptor_path(tt::ARCH arch) { case tt::ARCH::WORMHOLE_B0: // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. return tt::umd::utils::get_abs_path("tests/soc_descs/wormhole_b0_8x10.yaml"); - case tt::ARCH::BLACKHOLE: - // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. - return tt::umd::utils::get_abs_path("tests/soc_descs/blackhole_140_arch_no_eth.yaml"); + case tt::ARCH::BLACKHOLE: { + if (board_type == BoardType::P100 || board_type == BoardType::UNKNOWN) { + // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. + return tt::umd::utils::get_abs_path("tests/soc_descs/blackhole_140_arch_no_eth.yaml"); + } else if (board_type == BoardType::P150A) { + // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. + return tt::umd::utils::get_abs_path("tests/soc_descs/blackhole_140_arch_local.yaml"); + } else if (board_type == BoardType::P300) { + if (is_chip_remote) { + // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. + return tt::umd::utils::get_abs_path("tests/soc_descs/blackhole_140_arch_remote.yaml"); + } else { + // TODO: this path needs to be changed to point to soc descriptors outside of tests directory. + return tt::umd::utils::get_abs_path("tests/soc_descs/blackhole_140_arch_local.yaml"); + } + } else { + throw std::runtime_error("Invalid board type for Blackhole architecture."); + } + } default: throw std::runtime_error("Invalid architecture"); } diff --git a/tests/api/test_cluster.cpp b/tests/api/test_cluster.cpp index ae2e2291..c8713ded 100644 --- a/tests/api/test_cluster.cpp +++ b/tests/api/test_cluster.cpp @@ -67,7 +67,7 @@ TEST(ApiClusterTest, DifferentConstructors) { // 3. Constructor taking a custom soc descriptor in addition. tt::ARCH device_arch = tt_ClusterDescriptor::detect_arch(logical_device_id); // You can add a custom soc descriptor here. - std::string sdesc_path = tt_SocDescriptor::get_soc_descriptor_path(device_arch); + std::string sdesc_path = tt_SocDescriptor::get_soc_descriptor_path(device_arch, BoardType::UNKNOWN); umd_cluster = std::make_unique(sdesc_path, target_devices); umd_cluster = nullptr; diff --git a/tests/api/test_core_coord_translation_bh.cpp b/tests/api/test_core_coord_translation_bh.cpp index 9704b8d5..7c002edb 100644 --- a/tests/api/test_core_coord_translation_bh.cpp +++ b/tests/api/test_core_coord_translation_bh.cpp @@ -496,19 +496,47 @@ TEST(CoordinateManager, CoordinateManagerBlackholeDRAMPMoreThanOneDRAMBankHarves } // Test that virtual, physical and translated coordinates are the same for all logical PCIE coordinates. -TEST(CoordinateManager, CoordinateManagerBlackholePCIETranslation) { +TEST(CoordinateManager, CoordinateManagerBlackholePCIETranslationLocal) { std::shared_ptr coordinate_manager = - CoordinateManager::create_coordinate_manager(tt::ARCH::BLACKHOLE); + CoordinateManager::create_coordinate_manager(tt::ARCH::BLACKHOLE, 0, 0, 0, BoardType::P300, false); const tt_xy_pair pcie_grid_size = tt::umd::blackhole::PCIE_GRID_SIZE; + const std::vector pcie_cores = tt::umd::blackhole::PCIE_CORES_LOCAL; for (size_t x = 0; x < pcie_grid_size.x; x++) { for (size_t y = 0; y < pcie_grid_size.y; y++) { - const CoreCoord arc_logical = CoreCoord(x, y, CoreType::PCIE, CoordSystem::LOGICAL); - const CoreCoord arc_virtual = coordinate_manager->translate_coord_to(arc_logical, CoordSystem::VIRTUAL); - const CoreCoord arc_physical = coordinate_manager->translate_coord_to(arc_logical, CoordSystem::PHYSICAL); + const CoreCoord pcie_logical = CoreCoord(x, y, CoreType::PCIE, CoordSystem::LOGICAL); + const CoreCoord pcie_virtual = coordinate_manager->translate_coord_to(pcie_logical, CoordSystem::VIRTUAL); + const CoreCoord pcie_physical = coordinate_manager->translate_coord_to(pcie_logical, CoordSystem::PHYSICAL); + const tt_xy_pair pcie_core = pcie_cores[y * pcie_grid_size.x + x]; - EXPECT_EQ(arc_virtual.x, arc_physical.x); - EXPECT_EQ(arc_virtual.y, arc_physical.y); + EXPECT_EQ(pcie_virtual.x, pcie_physical.x); + EXPECT_EQ(pcie_virtual.y, pcie_physical.y); + + EXPECT_EQ(pcie_core.x, pcie_physical.x); + EXPECT_EQ(pcie_core.y, pcie_physical.y); + } + } +} + +// Test that virtual, physical and translated coordinates are the same for all logical PCIE coordinates. +TEST(CoordinateManager, CoordinateManagerBlackholePCIETranslationRemote) { + std::shared_ptr coordinate_manager = + CoordinateManager::create_coordinate_manager(tt::ARCH::BLACKHOLE, 0, 0, 0, BoardType::P300, true); + const tt_xy_pair pcie_grid_size = tt::umd::blackhole::PCIE_GRID_SIZE; + const std::vector pcie_cores = tt::umd::blackhole::PCIE_CORES_REMOTE; + + for (size_t x = 0; x < pcie_grid_size.x; x++) { + for (size_t y = 0; y < pcie_grid_size.y; y++) { + const CoreCoord pcie_logical = CoreCoord(x, y, CoreType::PCIE, CoordSystem::LOGICAL); + const CoreCoord pcie_virtual = coordinate_manager->translate_coord_to(pcie_logical, CoordSystem::VIRTUAL); + const CoreCoord pcie_physical = coordinate_manager->translate_coord_to(pcie_logical, CoordSystem::PHYSICAL); + const tt_xy_pair pcie_core = pcie_cores[y * pcie_grid_size.x + x]; + + EXPECT_EQ(pcie_virtual.x, pcie_physical.x); + EXPECT_EQ(pcie_virtual.y, pcie_physical.y); + + EXPECT_EQ(pcie_core.x, pcie_physical.x); + EXPECT_EQ(pcie_core.y, pcie_physical.y); } } } diff --git a/tests/api/test_mockup_device.cpp b/tests/api/test_mockup_device.cpp index f82e86b7..0afe6960 100644 --- a/tests/api/test_mockup_device.cpp +++ b/tests/api/test_mockup_device.cpp @@ -33,7 +33,7 @@ std::string get_soc_descriptor_file(tt::ARCH arch) { case tt::ARCH::WORMHOLE_B0: return test_utils::GetAbsPath("tests/soc_descs/wormhole_b0_8x10.yaml"); case tt::ARCH::BLACKHOLE: - return test_utils::GetAbsPath("tests/soc_descs/blackhole_140_arch.yaml"); + return test_utils::GetAbsPath("tests/soc_descs/blackhole_140_arch_local.yaml"); case tt::ARCH::Invalid: throw std::runtime_error("Invalid arch not supported"); default: diff --git a/tests/api/test_soc_descriptor.cpp b/tests/api/test_soc_descriptor.cpp index aae40ee3..82454473 100644 --- a/tests/api/test_soc_descriptor.cpp +++ b/tests/api/test_soc_descriptor.cpp @@ -165,7 +165,7 @@ TEST(SocDescriptor, SocDescriptorBlackholeETHHarvesting) { } tt_SocDescriptor soc_desc( - test_utils::GetAbsPath("tests/soc_descs/blackhole_140_arch.yaml"), 0, 0, eth_harvesting_mask); + test_utils::GetAbsPath("tests/soc_descs/blackhole_140_arch_local.yaml"), 0, 0, eth_harvesting_mask); const std::vector eth_cores = soc_desc.get_cores(CoreType::ETH); diff --git a/tests/blackhole/test_cluster_bh.cpp b/tests/blackhole/test_cluster_bh.cpp index d3af9fc4..1fae44b5 100644 --- a/tests/blackhole/test_cluster_bh.cpp +++ b/tests/blackhole/test_cluster_bh.cpp @@ -941,7 +941,6 @@ TEST(SiliconDriverBH, RandomSysmemTestWithPcie) { auto target_devices = get_target_devices(); Cluster cluster( - test_utils::GetAbsPath("tests/soc_descs/blackhole_140_arch_no_eth.yaml"), target_devices, num_channels, false, // skip driver allocs - no (don't skip) diff --git a/tests/soc_descs/blackhole_140_arch_local.yaml b/tests/soc_descs/blackhole_140_arch_local.yaml new file mode 100644 index 00000000..01887e9e --- /dev/null +++ b/tests/soc_descs/blackhole_140_arch_local.yaml @@ -0,0 +1,72 @@ +# Note taken from software repo - may need updates. +grid: + x_size: 17 + y_size: 12 + +arc: + [ 8-0 ] + +pcie: + [ 2-0 ] + +dram: + [ + [0-0, 0-1, 0-11], + [0-2, 0-10, 0-3], + [0-9, 0-4, 0-8], + [0-5, 0-7, 0-6], + [9-0, 9-1, 9-11], + [9-2, 9-10, 9-3], + [9-9, 9-4, 9-8], + [9-5, 9-7, 9-6], + ] + +eth: + [ + 1-1, 2-1, 3-1, 4-1, 5-1, 6-1, 7-1, 10-1, 11-1, 12-1, 13-1, 14-1, 15-1, 16-1, + ] + +functional_workers: + [ + 1-2, 2-2, 3-2, 4-2, 5-2, 6-2, 7-2, 10-2, 11-2, 12-2, 13-2, 14-2, 15-2, 16-2, + 1-3, 2-3, 3-3, 4-3, 5-3, 6-3, 7-3, 10-3, 11-3, 12-3, 13-3, 14-3, 15-3, 16-3, + 1-4, 2-4, 3-4, 4-4, 5-4, 6-4, 7-4, 10-4, 11-4, 12-4, 13-4, 14-4, 15-4, 16-4, + 1-5, 2-5, 3-5, 4-5, 5-5, 6-5, 7-5, 10-5, 11-5, 12-5, 13-5, 14-5, 15-5, 16-5, + 1-6, 2-6, 3-6, 4-6, 5-6, 6-6, 7-6, 10-6, 11-6, 12-6, 13-6, 14-6, 15-6, 16-6, + 1-7, 2-7, 3-7, 4-7, 5-7, 6-7, 7-7, 10-7, 11-7, 12-7, 13-7, 14-7, 15-7, 16-7, + 1-8, 2-8, 3-8, 4-8, 5-8, 6-8, 7-8, 10-8, 11-8, 12-8, 13-8, 14-8, 15-8, 16-8, + 1-9, 2-9, 3-9, 4-9, 5-9, 6-9, 7-9, 10-9, 11-9, 12-9, 13-9, 14-9, 15-9, 16-9, + 1-10, 2-10, 3-10, 4-10, 5-10, 6-10, 7-10, 10-10, 11-10, 12-10, 13-10, 14-10, 15-10, 16-10, + 1-11, 2-11, 3-11, 4-11, 5-11, 6-11, 7-11, 10-11, 11-11, 12-11, 13-11, 14-11, 15-11, 16-11, + ] + +harvested_workers: + [] + +router_only: + [ + 1-0, 2-0, 3-0, 4-0, 5-0, 6-0, 7-0, 10-0, 12-0, 13-0, 14-0, 15-0, 16-0, + 8-1, 8-2, 8-3, 8-4, 8-5, 8-6, 8-7, 8-8, 8-9, 8-10, 8-11 + ] + +worker_l1_size: + 1499136 + +dram_bank_size: + 4294967296 + +eth_l1_size: + 262144 + +arch_name: BLACKHOLE + +features: + unpacker: + version: 2 + inline_srca_trans_without_srca_trans_instr: True + math: + dst_size_alignment: 32768 + packer: + version: 2 + overlay: + version: 2 diff --git a/tests/soc_descs/blackhole_140_arch.yaml b/tests/soc_descs/blackhole_140_arch_remote.yaml similarity index 100% rename from tests/soc_descs/blackhole_140_arch.yaml rename to tests/soc_descs/blackhole_140_arch_remote.yaml