diff --git a/device/api/umd/device/tt_simulation_device.h b/device/api/umd/device/tt_simulation_device.h index c8ff3b54..41696f6a 100644 --- a/device/api/umd/device/tt_simulation_device.h +++ b/device/api/umd/device/tt_simulation_device.h @@ -47,10 +47,14 @@ class tt_SimulationDevice : public tt_device { virtual void assert_risc_reset_at_core( tt_cxy_pair core, const TensixSoftResetOptions& soft_resets = TENSIX_ASSERT_SOFT_RESET); -virtual void deassert_risc_reset_at_core( - const chip_id_t chip, const tt::umd::CoreCoord core, const TensixSoftResetOptions& soft_resets = TENSIX_DEASSERT_SOFT_RESET); -virtual void assert_risc_reset_at_core( - const chip_id_t chip, const tt::umd::CoreCoord core, const TensixSoftResetOptions& soft_resets = TENSIX_ASSERT_SOFT_RESET); + virtual void deassert_risc_reset_at_core( + const chip_id_t chip, + const tt::umd::CoreCoord core, + const TensixSoftResetOptions& soft_resets = TENSIX_DEASSERT_SOFT_RESET); + virtual void assert_risc_reset_at_core( + const chip_id_t chip, + const tt::umd::CoreCoord core, + const TensixSoftResetOptions& soft_resets = TENSIX_ASSERT_SOFT_RESET); virtual void close_device(); @@ -66,8 +70,13 @@ virtual void assert_risc_reset_at_core( const std::string& tlb_to_use); virtual void read_from_device( void* mem_ptr, tt_cxy_pair core, uint64_t addr, uint32_t size, const std::string& fallback_tlb); -virtual void read_from_device( - void* mem_ptr, chip_id_t chip, tt::umd::CoreCoord core, uint64_t addr, uint32_t size, const std::string& fallback_tlb); + virtual void read_from_device( + void* mem_ptr, + chip_id_t chip, + tt::umd::CoreCoord core, + uint64_t addr, + uint32_t size, + const std::string& fallback_tlb); virtual void wait_for_non_mmio_flush(); virtual void wait_for_non_mmio_flush(const chip_id_t chip); @@ -97,7 +106,7 @@ virtual void read_from_device( chip_id_t mmio_chip, const std::unordered_set& active_eth_cores_per_chip); virtual void configure_active_ethernet_cores_for_mmio_device( const std::unordered_set& active_eth_cores_per_chip, chip_id_t mmio_chip); - + CoordSystem get_coord_system_used() const; tt_xy_pair translate_to_api_coords(const chip_id_t chip, const tt::umd::CoreCoord core_coord) const; diff --git a/device/simulation/tt_simulation_device.cpp b/device/simulation/tt_simulation_device.cpp index 5e106cfa..a3eaf9bf 100644 --- a/device/simulation/tt_simulation_device.cpp +++ b/device/simulation/tt_simulation_device.cpp @@ -50,7 +50,7 @@ void print_flatbuffer(const DeviceRequestResponse* buf) { } tt_SimulationDeviceInit::tt_SimulationDeviceInit(const std::filesystem::path& simulator_directory) : - simulator_directory(simulator_directory), soc_descriptor(simulator_directory / "soc_descriptor.yaml", false) { } + simulator_directory(simulator_directory), soc_descriptor(simulator_directory / "soc_descriptor.yaml", false) {} tt_SimulationDevice::tt_SimulationDevice(const tt_SimulationDeviceInit& init) : tt_device() { log_info(tt::LogEmulationDriver, "Instantiating simulation device"); @@ -85,8 +85,7 @@ tt_SimulationDevice::tt_SimulationDevice(const tt_SimulationDeviceInit& init) : tt_SimulationDevice::~tt_SimulationDevice() { close_device(); } -void tt_SimulationDevice::set_barrier_address_params(const barrier_address_params& barrier_address_params_) { -} +void tt_SimulationDevice::set_barrier_address_params(const barrier_address_params& barrier_address_params_) {} void tt_SimulationDevice::start_device(const tt_device_params& device_params) { void* buf_ptr = nullptr; @@ -173,14 +172,14 @@ void tt_SimulationDevice::write_to_device( } void tt_SimulationDevice::write_to_device( - const void* mem_ptr, - uint32_t size_in_bytes, - chip_id_t chip, - tt::umd::CoreCoord core, - uint64_t addr, - const std::string& tlb_to_use) { + const void* mem_ptr, + uint32_t size_in_bytes, + chip_id_t chip, + tt::umd::CoreCoord core, + uint64_t addr, + const std::string& tlb_to_use) { write_to_device(mem_ptr, size_in_bytes, {(size_t)chip, translate_to_api_coords(chip, core)}, addr, tlb_to_use); - } +} void tt_SimulationDevice::read_from_device( void* mem_ptr, tt_cxy_pair core, uint64_t addr, uint32_t size, const std::string& fallback_tlb) { @@ -204,43 +203,38 @@ void tt_SimulationDevice::read_from_device( } void tt_SimulationDevice::read_from_device( - void* mem_ptr, chip_id_t chip, tt::umd::CoreCoord core, uint64_t addr, uint32_t size, const std::string& fallback_tlb) { + void* mem_ptr, + chip_id_t chip, + tt::umd::CoreCoord core, + uint64_t addr, + uint32_t size, + const std::string& fallback_tlb) { read_from_device(mem_ptr, {(size_t)chip, translate_to_api_coords(chip, core)}, addr, size, fallback_tlb); } -void tt_SimulationDevice::wait_for_non_mmio_flush() { -} +void tt_SimulationDevice::wait_for_non_mmio_flush() {} -void tt_SimulationDevice::wait_for_non_mmio_flush(const chip_id_t chip) { -} +void tt_SimulationDevice::wait_for_non_mmio_flush(const chip_id_t chip) {} void tt_SimulationDevice::l1_membar( - const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) { - } + const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) {} void tt_SimulationDevice::dram_membar( - const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& channels) { - } + const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& channels) {} void tt_SimulationDevice::dram_membar( - const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) { - } + const chip_id_t chip, const std::string& fallback_tlb, const std::unordered_set& cores) {} // Misc. Functions to Query/Set Device State -std::vector tt_SimulationDevice::detect_available_device_ids() { - return {0}; } +std::vector tt_SimulationDevice::detect_available_device_ids() { return {0}; } -std::set tt_SimulationDevice::get_target_device_ids() { - return target_devices_in_cluster; } +std::set tt_SimulationDevice::get_target_device_ids() { return target_devices_in_cluster; } -std::set tt_SimulationDevice::get_target_mmio_device_ids() { - return target_devices_in_cluster; } +std::set tt_SimulationDevice::get_target_mmio_device_ids() { return target_devices_in_cluster; } -std::set tt_SimulationDevice::get_target_remote_device_ids() { - return target_remote_chips; } +std::set tt_SimulationDevice::get_target_remote_device_ids() { return target_remote_chips; } -std::map tt_SimulationDevice::get_clocks() { - return {{0, 0}}; } +std::map tt_SimulationDevice::get_clocks() { return {{0, 0}}; } void* tt_SimulationDevice::host_dma_address(std::uint64_t offset, chip_id_t src_device_id, uint16_t channel) const { return nullptr; @@ -265,24 +259,21 @@ std::uint64_t tt_SimulationDevice::get_dram_channel_size(std::uint32_t device_id return get_soc_descriptor(device_id).dram_bank_size; // Space per channel is identical for now } -std::uint32_t tt_SimulationDevice::get_num_host_channels(std::uint32_t device_id) { - return 1; } +std::uint32_t tt_SimulationDevice::get_num_host_channels(std::uint32_t device_id) { return 1; } -std::uint32_t tt_SimulationDevice::get_host_channel_size(std::uint32_t device_id, std::uint32_t channel) { - return 0; } +std::uint32_t tt_SimulationDevice::get_host_channel_size(std::uint32_t device_id, std::uint32_t channel) { return 0; } -std::uint32_t tt_SimulationDevice::get_numa_node_for_pcie_device(std::uint32_t device_id) { - return 0; } +std::uint32_t tt_SimulationDevice::get_numa_node_for_pcie_device(std::uint32_t device_id) { return 0; } const tt_SocDescriptor& tt_SimulationDevice::get_soc_descriptor(chip_id_t chip_id) const { return soc_descriptor_per_chip.at(chip_id); }; void tt_SimulationDevice::configure_active_ethernet_cores_for_mmio_device( - chip_id_t mmio_chip, const std::unordered_set& active_eth_cores_per_chip) {} -void tt_SimulationDevice::configure_active_ethernet_cores_for_mmio_device( - const std::unordered_set& active_eth_cores_per_chip, chip_id_t mmio_chip) {} + chip_id_t mmio_chip, const std::unordered_set& active_eth_cores_per_chip) {} +void tt_SimulationDevice::configure_active_ethernet_cores_for_mmio_device( + const std::unordered_set& active_eth_cores_per_chip, chip_id_t mmio_chip) {} CoordSystem tt_SimulationDevice::get_coord_system_used() const { return arch_name == tt::ARCH::GRAYSKULL ? CoordSystem::PHYSICAL : CoordSystem::VIRTUAL; @@ -290,6 +281,7 @@ CoordSystem tt_SimulationDevice::get_coord_system_used() const { // TODO: This is a temporary function while we're switching between the old and the new API. // Eventually, this function should be so small it would be obvioud to remove. -tt_xy_pair tt_SimulationDevice::translate_to_api_coords(const chip_id_t chip, const tt::umd::CoreCoord core_coord) const { +tt_xy_pair tt_SimulationDevice::translate_to_api_coords( + const chip_id_t chip, const tt::umd::CoreCoord core_coord) const { return get_soc_descriptor(chip).translate_coord_to(core_coord, get_coord_system_used()); -} \ No newline at end of file +}