Search in sources :

Example 1 with MMZip

use of org.apache.sysml.lops.MMZip in project incubator-systemml by apache.

the class AggBinaryOp method constructSparkLopsZIPMM.

private void constructSparkLopsZIPMM() throws HopsException, LopsException {
    //zipmm applies to t(X)%*%y if ncol(X)<=blocksize and it prevents 
    //unnecessary reshuffling by keeping the original indexes (and partitioning) 
    //joining the datasets, and internally doing the necessary transpose operations
    //x out of t(X)
    Hop left = getInput().get(0).getInput().get(0);
    //y
    Hop right = getInput().get(1);
    //determine left-transpose rewrite beneficial
    boolean tRewrite = (left.getDim1() * left.getDim2() >= right.getDim1() * right.getDim2());
    Lop zipmm = new MMZip(left.constructLops(), right.constructLops(), getDataType(), getValueType(), tRewrite, ExecType.SPARK);
    setOutputDimensions(zipmm);
    setLineNumbers(zipmm);
    setLops(zipmm);
}
Also used : MMZip(org.apache.sysml.lops.MMZip) MultiThreadedHop(org.apache.sysml.hops.Hop.MultiThreadedHop) Lop(org.apache.sysml.lops.Lop)

Aggregations

MultiThreadedHop (org.apache.sysml.hops.Hop.MultiThreadedHop)1 Lop (org.apache.sysml.lops.Lop)1 MMZip (org.apache.sysml.lops.MMZip)1