Uploaded image for project: 'SystemML'
  1. SystemML
  2. SYSTEMML-2065

Code generation for operator fusion v3

    Details

    • Type: Epic
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Epic Name:
      Code generation for operator fusion v3

      Description

      This epic aims to make the existing code generation feature - introduced in SYSTEMML-1284 - production ready.

      Apart from features for robustness, performance, and broader operation support this also includes the extension to generating native CPU and GPU operations, including deep-learning-specific operations.

        Attachments

          Issue Links

          1.
          Candidate exploration w/ unknowns Sub-task In Progress Janardhan
          2.
          Add support for convolution operations (forward/backward) Sub-task Closed Matthias Boehm
          3.
          Add support for logical and bitwise logical operations Sub-task Closed Janardhan
          4.
          Refactor codegen algorithm tests, incl new tests Sub-task Closed Matthias Boehm
          5.
          Add support for nary cbind operations Sub-task Closed Matthias Boehm
          6.
          Add support for ternary ifelse operations Sub-task Closed Matthias Boehm
          7.
          Add support for maxpooling operations (forward) Sub-task Closed Matthias Boehm
          8.
          Add support for relu operations (forward/backward) Sub-task Resolved Janardhan
          9.
          Library of native vector operations Sub-task Open Unassigned
          10.
          Native C/C++ template code generation Sub-task Open Unassigned
          11.
          Native LLVM template code generation Sub-task Open Unassigned
          12.
          Compiler utils for native code compilation/loading Sub-task Open Unassigned
          13.
          Performance input/output transfers over JNI Sub-task Open Unassigned
          14.
          Extended CSE for codegen plans Sub-task Open Unassigned
          15.
          Extended rewrite framework for codegen plans Sub-task Closed Matthias Boehm
          16.
          Codegen compiler extension for matrix multiply chains Sub-task Open Unassigned
          17.
          Add support specific datagen operations (seq, matrix) Sub-task Closed Matthias Boehm
          18.
          Improve codegen optimizer (pruning effectiveness) Sub-task Closed Matthias Boehm
          19.
          Add missing algorithm tests to codegen testsuite Technical task In Progress Janardhan
          20.
          Configurable codegen cost model weights Sub-task Open Unassigned
          21.
          Runtime adaptation of code model weights Sub-task Open Unassigned
          22.
          Basic GPU codegen framework and integration Sub-task Open Unassigned
          23.
          GPU code generation for dense inputs Sub-task Open Unassigned
          24.
          GPU code generation for sparse inputs Sub-task Open Unassigned
          25.
          GPU code generation for compressed inputs Sub-task Open Unassigned
          26.
          Extended codegen optimizer (CPU/GPU placement) Sub-task Open Unassigned
          27.
          Add support for bias_add and bias_mult Sub-task Closed Matthias Boehm
          28.
          Add vector support for ternary codegen ops Sub-task Closed Matthias Boehm
          29.
          Support for sparse vector intermediates in row templates Sub-task Open Unassigned
          30.
          Performance cell operations over compressed matrices Sub-task Closed Matthias Boehm
          31.
          Incorporate sparsity in lower bound costs Sub-task Closed Matthias Boehm
          32.
          Extend codegen algorithm tests for heuristics FA and FNR Sub-task Open Unassigned
          33.
          Add support for nary rbind operations Sub-task Closed Janardhan
          34.
          Update janino version from 3.0.0 to 3.0.8 Sub-task Resolved Janardhan
          35.
          Add support for prod/colProds/rowProds Sub-task Open Unassigned
          36.
          Determine min number of temporary row vector intermediates Sub-task Closed Matthias Boehm
          37.
          Support rowMeans in codegen row templates Sub-task Closed Matthias Boehm

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                mboehm7 Matthias Boehm
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: