## Uses of Class
org.apache.sysds.runtime.controlprogram.federated.FederationMap

- Packages that use FederationMap
  Package | Description
  --- | ---
  org.apache.sysds.runtime.controlprogram.caching |
  org.apache.sysds.runtime.controlprogram.federated |
  org.apache.sysds.runtime.instructions.fed |
  org.apache.sysds.runtime.io |

- - ### Uses of FederationMap in org.apache.sysds.runtime.controlprogram.caching

    Methods in org.apache.sysds.runtime.controlprogram.caching that return FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `FederationMap` | CacheableData.`getFedMapping()` Gets the mapping of indices ranges to federated objects.

    Methods in org.apache.sysds.runtime.controlprogram.caching with parameters of type FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `void` | CacheableData.`setFedMapping(FederationMap fedMapping)` Sets the mapping of indices ranges to federated objects.

  - ### Uses of FederationMap in org.apache.sysds.runtime.controlprogram.federated

    Methods in org.apache.sysds.runtime.controlprogram.federated that return FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `FederationMap` | FederationMap.`bind(long rOffset, long cOffset, FederationMap that)`
    `FederationMap` | FederationMap.`clone()`
    `FederationMap` | FederationMap.`copyWithNewID()` Copy the federation map with the next available federated ID as reference to the federated data.
    `FederationMap` | FederationMap.`copyWithNewID(long id)` Copy the federation map with the given ID as reference to the federated data.
    `FederationMap` | FederationMap.`copyWithNewID(long id, long clen)` Copy the federation map with the given ID as reference to the federated data and with given clen as end dimension for the columns in the range.
    `FederationMap` | FederationMap.`copyWithNewIDAndRange(int[][] ix, long outputID, FederationMap.FType type)`
    `FederationMap` | FederationMap.`copyWithNewIDAndRange(long rowRangeEnd, long colRangeEnd, long outputID)` Copy federated mapping while giving the federated data new IDs and setting the ranges from zero to row and column ends specified.
    `FederationMap` | FederationMap.`copyWithNewIDAndRange(long rowRangeEnd, long colRangeEnd, long outputID, FederationMap.FType type)`
    `static FederationMap` | FederationUtils.`federateLocalData(CacheableData<?> data)`
    `FederationMap` | FederationMap.`filter(IndexRange ixrange)`
    `FederationMap` | FederationMap.`identCopy(long tid, long id)`
    `FederationMap` | FederationMap.`mapParallel(long newVarID, BiFunction<FederatedRange,FederatedData,Void> mappingFunction)` Execute a function for each `FederatedRange` + `FederatedData` pair mapping the pairs to their new form by directly changing both `FederatedRange` and `FederatedData`.
    `FederationMap` | FederationMap.`transpose()`

    Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `static MatrixBlock` | FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
    `static MatrixBlock` | FederationUtils.`aggMatrix(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
    `static MatrixBlock` | FederationUtils.`aggMean(Future<FederatedResponse>[] ffr, FederationMap map)`
    `static MatrixBlock` | FederationUtils.`aggMinMaxIndex(Future<FederatedResponse>[] ffr, boolean isMin, FederationMap map)`
    `static MatrixBlock` | FederationUtils.`aggProd(Future<FederatedResponse>[] ffr, FederationMap fedMap, AggregateUnaryOperator aop)`
    `static ScalarObject` | FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, FederationMap map)`
    `static ScalarObject` | FederationUtils.`aggScalar(AggregateUnaryOperator aop, Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map)`
    `static MatrixBlock` | FederationUtils.`aggVar(Future<FederatedResponse>[] ffr, Future<FederatedResponse>[] meanFfr, FederationMap map, boolean isRowAggregate, boolean isScalar)`
    `FederationMap` | FederationMap.`bind(long rOffset, long cOffset, FederationMap that)`
    `boolean` | FederationMap.`isAligned(FederationMap that, boolean transposed)` Determines if the two federation maps are aligned row/column partitions at the same federated sites (which allows for purely federated operation)
    `boolean` | FederationMap.`isAligned(FederationMap that, boolean transposed, boolean equalRows, boolean equalCols)` determines if the two federated data are aligned row/column partitions (depending on parameters equalRows/equalCols) at the same federated site (which often allows for purely federated operations)
    `boolean` | FederationMap.`isAligned(FederationMap that, FederationMap.AlignType... alignTypes)` helper function for checking multiple allowed alignment types

  - ### Uses of FederationMap in org.apache.sysds.runtime.instructions.fed

    Methods in org.apache.sysds.runtime.instructions.fed with parameters of type FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `static void` | MultiReturnParameterizedBuiltinFEDInstruction.`encodeFederatedFrames(FederationMap fedMapping, MultiColumnEncoder globalencoder, MatrixObject transformedMat)`

  - ### Uses of FederationMap in org.apache.sysds.runtime.io

    Methods in org.apache.sysds.runtime.io with parameters of type FederationMap
    Modifier and Type | Method and Description
    --- | ---
    `static void` | ReaderWriterFederated.`write(String file, FederationMap fedMap)` TODO add writing to each of the federated locations so that they also save their matrices.

Copyright © 2021 The Apache Software Foundation. All rights reserved.