MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / CheckReorderToOpMem

Method CheckReorderToOpMem

tensorflow/core/util/mkl_util.h:1472–1487  ·  view source on GitHub ↗

Function to handle input reordering Check if we need to reorder this input of an operation. Return true and allocate reorder memory primitive if reorder is needed. Otherwise, return false and do not allocate reorder memory primitive. To check if reorder is needed, this function compares memory primitive descriptor (memory descriptor for v1.x) of an operation (op_pd) for the given input with the

Source from the content-addressed store, hash-verified

1470 /// <argument-type, dnnl::memory>.
1471 /// @return: true in case reorder of input is needed; false, otherwise.
1472 inline bool CheckReorderToOpMem(const memory::desc& op_md,
1473 std::vector<primitive>& net,
1474 std::vector<MemoryArgsMap>& net_args,
1475 const engine& engine) {
1476 DCHECK(user_memory_);
1477 DCHECK_EQ(net.size(), net_args.size());
1478 if (IsReorderNeeded(op_md)) {
1479 // TODO(nhasabni): can we remove dynamic memory allocation?
1480 reorder_memory_ = new memory(op_md, engine);
1481 net.push_back(CreateReorder(user_memory_, reorder_memory_));
1482 net_args.push_back(MemoryArgsMap{{DNNL_ARG_FROM, *user_memory_},
1483 {DNNL_ARG_TO, *reorder_memory_}});
1484 return true;
1485 }
1486 return false;
1487 }
1488
1489 inline bool CheckReorderToOpMem(const memory::desc& op_md,
1490 const engine& engine,

Callers 15

ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80
ComputeMethod · 0.80

Calls 8

MklDnnThreadPoolClass · 0.85
CreateStreamFunction · 0.85
execute_primitivesFunction · 0.85
GetEngineMethod · 0.80
sizeMethod · 0.45
push_backMethod · 0.45
resetMethod · 0.45
GetPrimitiveMethod · 0.45

Tested by

no test coverage detected