Ingnore transpose with nop_op attr in pynative infer

pull/13781/head
tanghuikang 4 years ago
parent f0016f5574
commit e8382c6187

@ -946,6 +946,19 @@ bool KernelRuntime::LaunchKernelMod(const session::KernelGraph &graph) {
auto &kernel = kernels[i]; auto &kernel = kernels[i];
auto kernel_mod = AnfAlgo::GetKernelMod(kernel); auto kernel_mod = AnfAlgo::GetKernelMod(kernel);
MS_EXCEPTION_IF_NULL(kernel_mod); MS_EXCEPTION_IF_NULL(kernel_mod);
// Skip transpose kernel with "nop_op" attr which is not hidden or removed in PyNative infer scenario. Transpose
// kernel, which is not supposed to be executed, is generated in TransDataSplit to support specific Transdata. And
// hard code here should be removed after new Transdata programme is implemented in the foreseeable future.
if (AnfAlgo::HasNodeAttr("nop_op", kernel)) {
for (size_t idx = 0; idx < AnfAlgo::GetOutputTensorNum(kernel); idx += 1) {
auto real_input = AnfAlgo::GetRealInputIndex(kernel, idx);
auto device_address = AnfAlgo::GetPrevNodeMutableOutputAddr(kernel, real_input);
AnfAlgo::SetOutputAddr(device_address, idx, kernel.get());
}
continue;
}
AddressPtrList kernel_inputs; AddressPtrList kernel_inputs;
AddressPtrList kernel_workspaces; AddressPtrList kernel_workspaces;
AddressPtrList kernel_outputs; AddressPtrList kernel_outputs;

Loading…
Cancel
Save