diff --git a/build_tools/ci/cpu_comparison/run_test.py b/build_tools/ci/cpu_comparison/run_test.py index 1bc798fc0..ec4a79069 100755 --- a/build_tools/ci/cpu_comparison/run_test.py +++ b/build_tools/ci/cpu_comparison/run_test.py @@ -344,6 +344,7 @@ def __init__( xrt_info, flags=re.MULTILINE | re.IGNORECASE, ) + self.xdna_datetime = None if xdna_datetime: self.xdna_datetime = int(xdna_datetime[0]) diff --git a/runtime/src/iree-amd-aie/driver/xrt/native_executable.cc b/runtime/src/iree-amd-aie/driver/xrt/native_executable.cc index f4f990ab2..582a789fa 100644 --- a/runtime/src/iree-amd-aie/driver/xrt/native_executable.cc +++ b/runtime/src/iree-amd-aie/driver/xrt/native_executable.cc @@ -279,8 +279,11 @@ static void iree_hal_xrt_native_executable_destroy( for (iree_host_size_t i = 0; i < executable->entry_point_count; ++i) { try { - // delete executable->entry_points[i].kernel; - // delete executable->entry_points[i].instr; +#ifndef _WIN32 + // causes segmentation fault on windows + delete executable->entry_points[i].kernel; + delete executable->entry_points[i].instr; +#endif // TODO(jornt): deleting the xclbin here will result in a corrupted size // error in XRT. It looks like the xclbin needs to stay alive while the // device is alive if it has been registered. diff --git a/runtime/src/iree-amd-aie/driver/xrt/xrt_driver.cc b/runtime/src/iree-amd-aie/driver/xrt/xrt_driver.cc index 3c9effd98..6dd8feb0a 100644 --- a/runtime/src/iree-amd-aie/driver/xrt/xrt_driver.cc +++ b/runtime/src/iree-amd-aie/driver/xrt/xrt_driver.cc @@ -85,7 +85,7 @@ iree_status_t iree_hal_xrt_driver_create_internal( return iree_make_status(IREE_STATUS_FAILED_PRECONDITION, "No XRT devices found"); } - } catch (std::runtime_error& e) { + } catch (std::exception& e) { return iree_make_status(IREE_STATUS_INTERNAL, "xrt::system::enumerate_devices failed: %s", e.what()); @@ -94,7 +94,7 @@ iree_status_t iree_hal_xrt_driver_create_internal( try { global_device = xrt::device(0); driver->device = &global_device; - } catch (std::runtime_error& e) { + } catch (std::exception& e) { return iree_make_status(IREE_STATUS_INTERNAL, "xrt::device(0) failed: %s", e.what()); }