From 0ec99b00b910f24ebc8827aa4bc393ef705e9825 Mon Sep 17 00:00:00 2001 From: Pavle Janevski <165378935+pjanevskiTT@users.noreply.github.com> Date: Wed, 11 Dec 2024 10:18:27 +0100 Subject: [PATCH] Fix core coordinates locations (#389) --- .../api/umd/device/blackhole_implementation.h | 37 +++++++++------ .../api/umd/device/wormhole_implementation.h | 47 +++++++++---------- 2 files changed, 44 insertions(+), 40 deletions(-) diff --git a/device/api/umd/device/blackhole_implementation.h b/device/api/umd/device/blackhole_implementation.h index cc533d5c..77437d66 100644 --- a/device/api/umd/device/blackhole_implementation.h +++ b/device/api/umd/device/blackhole_implementation.h @@ -59,27 +59,36 @@ enum class arc_message_type { // DEVICE_DATA const static tt_xy_pair TENSIX_GRID_SIZE = {14, 10}; +// clang-format off const static std::vector TENSIX_CORES = {{ - {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}, + {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}, }}; +// clang-format on const std::size_t NUM_DRAM_BANKS = 8; const std::size_t NUM_NOC_PORTS_PER_DRAM_BANK = 3; static const tt_xy_pair DRAM_GRID_SIZE = {NUM_DRAM_BANKS, NUM_NOC_PORTS_PER_DRAM_BANK}; +// clang-format off static const std::vector DRAM_CORES = { - {{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}}}; + { + {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}}}; +// clang-format on // TODO: DRAM locations should be deleted. We keep it for compatibility with // the existing code in clients which rely on DRAM_LOCATIONS. diff --git a/device/api/umd/device/wormhole_implementation.h b/device/api/umd/device/wormhole_implementation.h index 1fe796ff..c80c5450 100644 --- a/device/api/umd/device/wormhole_implementation.h +++ b/device/api/umd/device/wormhole_implementation.h @@ -103,49 +103,44 @@ enum class arc_message_type { // DEVICE_DATA static const tt_xy_pair TENSIX_GRID_SIZE = {8, 10}; +// clang-format off static const std::vector TENSIX_CORES = {{ - {1, 1}, {2, 1}, {3, 1}, {4, 1}, {6, 1}, {7, 1}, {8, 1}, {9, 1}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, - {6, 2}, {7, 2}, {8, 2}, {9, 2}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {6, 3}, {7, 3}, {8, 3}, {9, 3}, - {1, 4}, {2, 4}, {3, 4}, {4, 4}, {6, 4}, {7, 4}, {8, 4}, {9, 4}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, - {6, 5}, {7, 5}, {8, 5}, {9, 5}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {6, 7}, {7, 7}, {8, 7}, {9, 7}, - {1, 8}, {2, 8}, {3, 8}, {4, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, - {6, 9}, {7, 9}, {8, 9}, {9, 9}, {1, 10}, {2, 10}, {3, 10}, {4, 10}, {6, 10}, {7, 10}, {8, 10}, {9, 10}, + {1, 1}, {2, 1}, {3, 1}, {4, 1}, {6, 1}, {7, 1}, {8, 1}, {9, 1}, + {1, 2}, {2, 2}, {3, 2}, {4, 2}, {6, 2}, {7, 2}, {8, 2}, {9, 2}, + {1, 3}, {2, 3}, {3, 3}, {4, 3}, {6, 3}, {7, 3}, {8, 3}, {9, 3}, + {1, 4}, {2, 4}, {3, 4}, {4, 4}, {6, 4}, {7, 4}, {8, 4}, {9, 4}, + {1, 5}, {2, 5}, {3, 5}, {4, 5}, {6, 5}, {7, 5}, {8, 5}, {9, 5}, + {1, 7}, {2, 7}, {3, 7}, {4, 7}, {6, 7}, {7, 7}, {8, 7}, {9, 7}, + {1, 8}, {2, 8}, {3, 8}, {4, 8}, {6, 8}, {7, 8}, {8, 8}, {9, 8}, + {1, 9}, {2, 9}, {3, 9}, {4, 9}, {6, 9}, {7, 9}, {8, 9}, {9, 9}, + {1, 10}, {2, 10}, {3, 10}, {4, 10}, {6, 10}, {7, 10}, {8, 10}, {9, 10}, {1, 11}, {2, 11}, {3, 11}, {4, 11}, {6, 11}, {7, 11}, {8, 11}, {9, 11}, }}; +// clang-format on static const std::size_t NUM_DRAM_BANKS = 6; static const std::size_t NUM_NOC_PORTS_PER_DRAM_BANK = 3; static const tt_xy_pair DRAM_GRID_SIZE = {NUM_DRAM_BANKS, NUM_NOC_PORTS_PER_DRAM_BANK}; +// clang-format off static const std::vector DRAM_CORES = { - {{0, 0}, - {5, 0}, - {0, 1}, - {5, 1}, - {5, 2}, - {5, 3}, - {5, 4}, - {0, 5}, - {5, 5}, - {0, 6}, - {5, 6}, - {0, 7}, - {5, 7}, - {5, 8}, - {5, 9}, - {5, 10}, - {0, 11}, - {5, 11}}}; + {{0, 0}, {0, 1}, {0, 11}, + {0, 5}, {0, 6}, {0, 7}, + {5, 0}, {5, 1}, {5, 11}, + {5, 2}, {5, 9}, {5, 10}, + {5, 3}, {5, 4}, {5, 8}, + {5, 5}, {5, 6}, {5, 7}}}; +// clang-format on // TODO: DRAM locations should be deleted. We keep it for compatibility with // the existing code in clients which rely on DRAM_LOCATIONS. static const std::vector DRAM_LOCATIONS = DRAM_CORES; static const tt_xy_pair ARC_GRID_SIZE = {1, 1}; -static const std::vector ARC_CORES = {{0, 2}}; +static const std::vector ARC_CORES = {{0, 10}}; static const std::vector ARC_LOCATIONS = ARC_CORES; static const tt_xy_pair PCIE_GRID_SIZE = {1, 1}; -static const std::vector PCIE_CORES = {{{0, 4}}}; +static const std::vector PCIE_CORES = {{{0, 3}}}; static const std::vector PCI_LOCATIONS = PCIE_CORES; static const tt_xy_pair ETH_GRID_SIZE = {8, 2};