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);
}
Aggregations