# Package org.apache.sysds.hops.ipa

package org.apache.sysds.hops.ipa

Related Packages
Package
Description
org.apache.sysds.hops
Classes
Class
Description
FunctionCallGraph
FunctionCallSizeInfo
Auxiliary data structure to hold function call summaries in terms of information about number of function calls, consistent dimensions, consistent sparsity, and dimension-preserving functions.
InterProceduralAnalysis
This Inter Procedural Analysis (IPA) serves two major purposes: 1) Inter-Procedure Analysis: propagate statistics from calling program into functions and back into main program.
IPAPass
Base class for all IPA passes.
IPAPassApplyStaticAndDynamicHopRewrites
This rewrite applies static hop dag and statement block rewrites such as constant folding and branch removal in order to simplify statistic propagation.
IPAPassCompressionWorkloadAnalysis
This rewrite obtains workload summaries for all hops candidates amenable for compression as a basis for workload-aware compression planning.
IPAPassEliminateDeadCode
This rewrite eliminates unnecessary sub-DAGs that produce transient write outputs which are never consumed subsequently.
IPAPassFlagFunctionsRecompileOnce
This rewrite marks functions with loops as recompile once in order to reduce recompilation overhead.
IPAPassFlagLoopsRecompileOnce
This rewrite marks loops in the main program as recompile once in order to reduce recompilation overhead.
IPAPassFlagNonDeterminism
IPAPassForwardFunctionCalls
This rewrite forwards a function call to a function with a simple function call that only consumes function parameters and literals into the original call location.
IPAPassInjectOOCTee
Applies OOC tee injection after static/dynamic rewrites in IPA.
IPAPassInlineFunctions
This rewrite inlines single statement block functions, which have fewer operations than an internal threshold.
IPAPassPropagateReplaceLiterals
This rewrite propagates and replaces literals into functions in order to enable subsequent rewrites such as branch removal.
IPAPassPruneUnreachableHops
Prune stale parent links by keeping only parent references reachable from the statement block roots/predicates.
IPAPassRemoveConstantBinaryOps
This rewrite identifies binary operations with constant matrices such as X * ones, where ones might be created as a vector of ones before a loop.
IPAPassRemoveUnnecessaryCheckpoints
This rewrite identifies and removes unnecessary checkpoints, i.e., persisting of Spark RDDs into a given storage level.
IPAPassRemoveUnusedFunctions
This rewrite identifies and removes unused functions in order to reduce compilation overhead and other overheads such as parfor worker creation, where we construct function copies.
IPAPassReplaceEvalFunctionCalls
This rewrite applies static hop dag and statement block rewrites such as constant folding and branch removal in order to simplify statistic propagation.
IPAPassRewriteFederatedPlan
This rewrite generates a federated execution plan by estimating and setting costs and the FederatedOutput values of all relevant hops in the DML program.