Package org.apache.sysds.hops.ipa


package org.apache.sysds.hops.ipa
  • Classes
    Class
    Description
     
    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.
    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.
    Base class for all IPA passes.
    This rewrite applies static hop dag and statement block rewrites such as constant folding and branch removal in order to simplify statistic propagation.
    This rewrite obtains workload summaries for all hops candidates amenable for compression as a basis for workload-aware compression planning.
    This rewrite eliminates unnecessary sub-DAGs that produce transient write outputs which are never consumed subsequently.
    This rewrite marks functions with loops as recompile once in order to reduce recompilation overhead.
    This rewrite marks loops in the main program as recompile once in order to reduce recompilation overhead.
     
    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.
    Applies OOC tee injection after static/dynamic rewrites in IPA.
    This rewrite inlines single statement block functions, which have fewer operations than an internal threshold.
    This rewrite propagates and replaces literals into functions in order to enable subsequent rewrites such as branch removal.
    Prune stale parent links by keeping only parent references reachable from the statement block roots/predicates.
    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.
    This rewrite identifies and removes unnecessary checkpoints, i.e., persisting of Spark RDDs into a given storage level.
    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.
    This rewrite applies static hop dag and statement block rewrites such as constant folding and branch removal in order to simplify statistic propagation.
    This rewrite generates a federated execution plan by estimating and setting costs and the FederatedOutput values of all relevant hops in the DML program.