Package org.apache.sysds.hops.fedplanner

## Class FederatedPlannerUtils

- java.lang.Object
- - org.apache.sysds.hops.fedplanner.FederatedPlannerUtils

    public class FederatedPlannerUtils
    extends Object

Utility class for federated planners.

### Constructor Summary

Constructors
`FederatedPlannerUtils()`

### Method Summary

All Methods Static Methods Concrete Methods
`static Map<String,​Hop>` `getParamMap​(FunctionOp funcOp)` Return parameter map containing the mapping from parameter name to input hop for all parameters of the function hop.
`static ArrayList<Hop>` `getTransientInputs​(Hop currentHop, Map<String,​Hop> paramMap, Map<String,​Hop> transientWrites, LocalVariableMap localVariableMap)` Get transient inputs from either paramMap or transientWrites.
`static void` `mapFunctionOutputs​(FunctionOp sbHop, FunctionStatement funcStatement, Map<String,​Hop> transientWrites)` Saves the HOPs (TWrite) of the function return values for the variable name used when calling the function.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FederatedPlannerUtils

    public FederatedPlannerUtils()

### Method Detail

#### getTransientInputs

    public static ArrayList<Hop> getTransientInputs​(Hop currentHop,
                                                    Map<String,​Hop> paramMap,
                                                    Map<String,​Hop> transientWrites,
                                                    LocalVariableMap localVariableMap)

Get transient inputs from either paramMap or transientWrites. Inputs from paramMap has higher priority than inputs from transientWrites.

Parameters:
  `currentHop` - hop for which inputs are read from maps
  `paramMap` - of local parameters
  `transientWrites` - map of transient writes
  `localVariableMap` - map of local variables
Returns:
  inputs of currentHop

#### getParamMap

    public static Map<String,​Hop> getParamMap​(FunctionOp funcOp)

Return parameter map containing the mapping from parameter name to input hop for all parameters of the function hop.

Parameters:
  `funcOp` - hop for which the mapping of parameter names to input hops are made
Returns:
  parameter map or empty map if function has no parameters

#### mapFunctionOutputs

    public static void mapFunctionOutputs​(FunctionOp sbHop,
                                          FunctionStatement funcStatement,
                                          Map<String,​Hop> transientWrites)

Saves the HOPs (TWrite) of the function return values for the variable name used when calling the function. Example: `f = function() return (matrix[double] model) {a = rand(1, 1);} b = f();` This function saves the HOP writing to `a` for identifier `b`.

Parameters:
  `sbHop` - The `FunctionOp` for the call
  `funcStatement` - The `FunctionStatement` of the called function
  `transientWrites` - map of transient writes