Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-1321 Compiler feature extensions
  3. SYSTEMDS-1871

Rework compiler/runtime predicate handling

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Done
    • None
    • SystemML 0.15
    • Compiler
    • None

    Description

      Currently, the handling of if, while, and for predicates exhibits a couple of shortcomings. First, there are different representations for operations (as single-root HOP DAGs) and literals (as dedicated constants). Second, the runtime has to explicitly find intermediate variable names, remove rmvar instructions, which is brittle and error-prone. Third, the special handling of operations vs literals renders constant folding during dynamic recompilation invalid because, we would have to handle the transitioning from operation DAGs to constants accordingly.

      This task aims to resolve all these issues, by properly compiling transient writes to special predicate variables (e.g., _pred that are guaranteed not to conflict with external variables). This requires a complete rework of the entire predicate handling during compilation and runtime.

      Attachments

        Activity

          People

            mboehm7 Matthias Boehm
            mboehm7 Matthias Boehm
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: