Class DataOp

java.lang.Object
org.apache.sysds.hops.Hop
org.apache.sysds.hops.DataOp
All Implemented Interfaces:
ParseInfo

public class DataOp extends Hop
A DataOp can be either a persistent read/write or transient read/write - writes will always have at least one input, but all types can have parameters (e.g., for csv literals of delimiter, header, etc).
  • Constructor Details

  • Method Details

    • getOp

      public Types.OpOpData getOp()
    • setDataOpType

      public void setDataOpType(Types.OpOpData type)
    • setOutputParams

      public void setOutputParams(long dim1, long dim2, long nnz, MatrixObject.UpdateType update, int blen)
    • setFileName

      public void setFileName(String fn)
    • getFileName

      public String getFileName()
    • getParameterIndex

      public int getParameterIndex(String name)
    • setOnlyRDD

      public void setOnlyRDD(boolean flag)
    • hasOnlyRDD

      public boolean hasOnlyRDD()
    • isGPUEnabled

      public boolean isGPUEnabled()
      Description copied from class: Hop
      In memory-based optimizer mode (see OptimizerUtils.isMemoryBasedOptLevel()), the exectype is determined by checking this method as well as memory budget of this Hop. Please see findExecTypeByMemEstimate for more detail. This method is necessary because not all operator are supported efficiently on GPU (for example: operations on frames and scalar as well as operations such as table).
      Specified by:
      isGPUEnabled in class Hop
      Returns:
      true if the Hop is eligible for GPU Exectype.
    • constructLops

      public Lop constructLops()
      Specified by:
      constructLops in class Hop
    • setFileFormat

      public void setFileFormat(Types.FileFormat ft)
    • getFileFormat

      public Types.FileFormat getFileFormat()
    • setInputBlocksize

      public void setInputBlocksize(long blen)
    • getInputBlocksize

      public long getInputBlocksize()
    • isRead

      public boolean isRead()
    • isWrite

      public boolean isWrite()
    • isPersistentReadWrite

      public boolean isPersistentReadWrite()
    • isFederatedDataOp

      public boolean isFederatedDataOp()
      Description copied from class: Hop
      Checks if the hop is a DataOp with federated data.
      Overrides:
      isFederatedDataOp in class Hop
      Returns:
      true if hop is a federated DataOp
    • getOpString

      public String getOpString()
      Specified by:
      getOpString in class Hop
    • allowsAllExecTypes

      public boolean allowsAllExecTypes()
      Specified by:
      allowsAllExecTypes in class Hop
    • refreshSizeInformation

      public void refreshSizeInformation()
      Description copied from class: Hop
      Update the output size information for this hop.
      Specified by:
      refreshSizeInformation in class Hop
    • disableRecompileRead

      public void disableRecompileRead()
      Explicitly disables recompilation of transient reads, this additional information is required because requiresRecompile is set in a top-down manner, hence any value set from a consuming operating would be overwritten by opFindExecType.
    • clone

      public Object clone() throws CloneNotSupportedException
      Specified by:
      clone in class Hop
      Throws:
      CloneNotSupportedException
    • compare

      public boolean compare(Hop that)
      Specified by:
      compare in class Hop
    • removeInput

      public void removeInput(String inputName)
      Remove an input from the list of inputs and from the parameter index map. Parameter index map values higher than the index of the removed input will be decremented by one.
      Parameters:
      inputName - The name of the input to remove