{
auto srcPref = srcOutputSlot.GetTensorHandleFactoryId();
auto srcFactory = registry.GetFactory(srcPref);
- bool canExportImport = (factory->GetImportFlags() & srcFactory->GetExportFlags()) != 0;
- if (factory->SupportsMapUnmap() || canExportImport)
+ if (srcFactory)
{
- compOutputSlot.SetTensorHandleFactory(preference);
- found = true;
- break;
+ bool canExportImport =
+ (factory->GetImportFlags() & srcFactory->GetExportFlags()) != 0;
+ if (factory->SupportsMapUnmap() || canExportImport)
+ {
+ compOutputSlot.SetTensorHandleFactory(preference);
+ found = true;
+ break;
+ }
}
}
}
- BOOST_ASSERT_MSG(found, "Could not find a valid TensorHandle for compatibilty layer");
+ if (!found)
+ {
+ compOutputSlot.SetTensorHandleFactory(ITensorHandleFactory::LegacyFactoryId);
+ }
}
else
{
ValidateNumInputs(workloadInfo, "MemSyncQueueDescriptor", 1);
ValidateNumOutputs(workloadInfo, "MemSyncQueueDescriptor" , 1);
- if (workloadInfo.m_InputTensorInfos.size() != 1)
- {
- throw InvalidArgumentException(boost::str(
- boost::format("Number of input infos (%1%) is not 1.")
- % workloadInfo.m_InputTensorInfos.size()));
-
- }
-
- if (workloadInfo.m_OutputTensorInfos.size() != 0)
- {
- throw InvalidArgumentException(boost::str(
- boost::format("Number of output infos (%1%) is not 0.")
- % workloadInfo.m_InputTensorInfos.size()));
-
- }
-
if (m_Inputs.size() != 1)
{
throw InvalidArgumentException(boost::str(