diff --git a/device/pcie/pci_device.cpp b/device/pcie/pci_device.cpp index 6f951f6c..9c38d33d 100644 --- a/device/pcie/pci_device.cpp +++ b/device/pcie/pci_device.cpp @@ -44,7 +44,8 @@ static semver_t read_kmd_version() { std::ifstream file(path); if (!file.is_open()) { - TT_THROW("Failed to open: {}; could not determine tenstorrent driver version", path); + log_warning(LogSiliconDriver, "Failed to open file: {}", path); + return semver_t{0, 0, 0}; } std::string version_str; diff --git a/device/pcie/pci_device.hpp b/device/pcie/pci_device.hpp index 19d3d87f..747df35b 100644 --- a/device/pcie/pci_device.hpp +++ b/device/pcie/pci_device.hpp @@ -17,6 +17,8 @@ #include "device/architecture_implementation.h" #include "device/tt_cluster_descriptor_types.h" +#include "fmt/format.h" + // TODO: this is used up in tt_silicon_driver.cpp but that logic ought to be // lowered into the PCIDevice class since it is specific to PCIe cards. // See /vendor_ip/synopsys/052021/bh_pcie_ctl_gen5/export/configuration/DWC_pcie_ctl.h @@ -83,7 +85,7 @@ struct semver_t { } std::string to_string() const { - return std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(patch); + return fmt::format("{}.{}.{}", major, minor, patch); } };