Search in sources :

Example 11 with CNode

use of org.apache.sysml.hops.codegen.cplan.CNode in project incubator-systemml by apache.

the class TemplateUtils method skipTranspose.

public static CNode skipTranspose(CNode cdataOrig, Hop hop, HashMap<Long, CNode> tmp, boolean compileLiterals) {
    if (HopRewriteUtils.isTransposeOperation(hop)) {
        CNode cdata = tmp.get(hop.getInput().get(0).getHopID());
        if (cdata == null) {
            //never accessed
            cdata = TemplateUtils.createCNodeData(hop.getInput().get(0), compileLiterals);
            tmp.put(hop.getInput().get(0).getHopID(), cdata);
        }
        tmp.put(hop.getHopID(), cdata);
        return cdata;
    } else {
        return cdataOrig;
    }
}
Also used : CNode(org.apache.sysml.hops.codegen.cplan.CNode)

Aggregations

CNode (org.apache.sysml.hops.codegen.cplan.CNode)11 Hop (org.apache.sysml.hops.Hop)8 ArrayList (java.util.ArrayList)5 HashMap (java.util.HashMap)5 HashSet (java.util.HashSet)5 CNodeData (org.apache.sysml.hops.codegen.cplan.CNodeData)5 CNodeUnary (org.apache.sysml.hops.codegen.cplan.CNodeUnary)5 Pair (org.apache.sysml.runtime.matrix.data.Pair)5 AggBinaryOp (org.apache.sysml.hops.AggBinaryOp)4 CNodeBinary (org.apache.sysml.hops.codegen.cplan.CNodeBinary)4 MemoTableEntry (org.apache.sysml.hops.codegen.template.CPlanMemoTable.MemoTableEntry)4 AggUnaryOp (org.apache.sysml.hops.AggUnaryOp)3 BinaryOp (org.apache.sysml.hops.BinaryOp)3 UnaryOp (org.apache.sysml.hops.UnaryOp)3 IndexingOp (org.apache.sysml.hops.IndexingOp)2 LiteralOp (org.apache.sysml.hops.LiteralOp)2 ParameterizedBuiltinOp (org.apache.sysml.hops.ParameterizedBuiltinOp)2 TernaryOp (org.apache.sysml.hops.TernaryOp)2 CNodeCell (org.apache.sysml.hops.codegen.cplan.CNodeCell)2 CNodeMultiAgg (org.apache.sysml.hops.codegen.cplan.CNodeMultiAgg)2