MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / apply_on_physical_tensor

Function apply_on_physical_tensor

imperative/src/impl/ops/misc.cpp:17–33  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15}
16
17SmallVector<TensorPtr> apply_on_physical_tensor(
18 const OpDef& def, const SmallVector<TensorPtr>& inputs,
19 SmallVector<LogicalTensorDesc>& output_descs, const bool& validated) {
20 auto&& op = def.cast_final_safe<CheckNonFinite>();
21 auto comp_node = inputs[0]->comp_node();
22 auto dest = Tensor::make(TensorLayout({1}, dtype::Int32()), comp_node);
23 SmallVector<TensorPtr> outputs;
24 outputs.reserve(inputs.size() + 1);
25 for (auto&& input : inputs) {
26 outputs.push_back(Tensor::make(input->layout(), comp_node));
27 outputs.back()->dev_tensor().copy_from_fixlayout(input->dev_tensor());
28 }
29 DnnOprCaller<megdnn::CheckNonFinite> dnn_opr(comp_node, {op.scale});
30 dnn_opr.exec_with_ws(outputs, dest);
31 outputs.push_back(dest);
32 return outputs;
33}
34
35std::tuple<SmallVector<LogicalTensorDesc>, bool> infer_output_attrs_fallible(
36 const OpDef& def, const SmallVector<LogicalTensorDesc>& inputs) {

Callers

nothing calls this directly

Calls 11

TensorLayoutClass · 0.85
copy_from_fixlayoutMethod · 0.80
backMethod · 0.80
exec_with_wsMethod · 0.80
makeFunction · 0.70
comp_nodeMethod · 0.45
reserveMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45
layoutMethod · 0.45
dev_tensorMethod · 0.45

Tested by

no test coverage detected