Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-2065

Code generation for operator fusion v3

    XMLWordPrintableJSON

Details

    • Epic
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None
    • 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 Pulivarthi

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 10m
          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 Pulivarthi  
          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 Pulivarthi  
          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 Closed Janardhan Pulivarthi

          100%

          Original Estimate - Not Specified Original Estimate - Not Specified
          Time Spent - 4h 10m
          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 Pulivarthi  
          34.
          Update janino version from 3.0.0 to 3.0.8 Sub-task Resolved Janardhan Pulivarthi  
          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

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

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h 20m
                  4h 20m