diff --git a/libsyclinterface/source/dpctl_sycl_device_interface.cpp b/libsyclinterface/source/dpctl_sycl_device_interface.cpp index b5a97013c2..7a159a331c 100644 --- a/libsyclinterface/source/dpctl_sycl_device_interface.cpp +++ b/libsyclinterface/source/dpctl_sycl_device_interface.cpp @@ -543,6 +543,18 @@ DPCTLDevice_GetParentDevice(__dpctl_keep const DPCTLSyclDeviceRef DRef) { auto D = unwrap(DRef); if (D) { + bool is_unpartitioned = false; + try { + auto pp = + D->get_info(); + is_unpartitioned = + (pp == sycl::info::partition_property::no_partition); + } catch (std::exception const &e) { + error_handler(e, __FILE__, __func__, __LINE__); + return nullptr; + } + if (is_unpartitioned) + return nullptr; try { const auto &parent_D = D->get_info(); return wrap(new device(parent_D));