diff --git a/paddle/phi/api/lib/kernel_dispatch.cc b/paddle/phi/api/lib/kernel_dispatch.cc index c2f7a7981f001119608c276a643a68199d0df0c4..1ca6e2ce0bb9a31365a176b4ca7b595923acb19f 100644 --- a/paddle/phi/api/lib/kernel_dispatch.cc +++ b/paddle/phi/api/lib/kernel_dispatch.cc @@ -25,16 +25,19 @@ namespace experimental { namespace detail { BackendSet GetTensorBackendSet(const phi::TensorBase& t) { - BackendSet backend_set(phi::TransToPhiBackend(t.place())); - switch (t.layout()) { - case DataLayout::MKLDNN: - backend_set = backend_set | BackendSet(Backend::MKLDNN); - break; - default: - // do nothing - break; + if (t.initialized()) { + BackendSet backend_set(phi::TransToPhiBackend(t.place())); + switch (t.layout()) { + case DataLayout::MKLDNN: + backend_set = backend_set | BackendSet(Backend::MKLDNN); + break; + default: + // do nothing + break; + } + return backend_set; } - return backend_set; + return BackendSet(Backend::UNDEFINED); } std::size_t CountLeadingZeros(uint64_t val) {