Fix allocator bug (#5042)

This commit is contained in:
Ryan Hill 2020-09-02 21:21:18 -07:00 committed by GitHub
parent 3268717615
commit e0d1cf19a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -187,6 +187,13 @@ struct Provider_IExecutionProvider_Router_Impl : Provider_IExecutionProvider_Rou
return std::make_shared<Provider_IAllocator_Impl>(IExecutionProvider::GetAllocator(id, mem_type));
}
AllocatorPtr GetAllocator(int id, OrtMemType mem_type) const override {
auto allocator = outer_->Provider_GetAllocator(id, mem_type);
if (!allocator)
return nullptr;
return static_cast<Provider_IAllocator_Impl*>(allocator.get())->p_;
}
std::unique_ptr<Provider_IDataTransfer> Provider_GetDataTransfer() const override {
return std::unique_ptr<Provider_IDataTransfer>(reinterpret_cast<Provider_IDataTransfer*>(IExecutionProvider::GetDataTransfer().release()));
}