1. 08 Apr, 2020 2 commits
    • [RELAY][BYOC] Add support for composite functions in BYOC (#5261) · d2de35eb
      * [RELAY] Add 'check' functions to MergeComposite
      
      Currently, MergeComposite can only perform structural
      matches. This patch introduces the ability to specify
      a 'check' function alongside the pattern which can include
      custom logic to determine whether an extracted pattern
      should be merged.
      
      For example, if you only want to merge 'NHWC' convolutions,
      you can specify a 'check' function which queries the
      data_layout value of the extracted pattern (see the test).
      
      Change-Id: I9337ce39f10997051a286d888be38ed0d410d340
      
      * [RELAY] Reformat merge_composite.cc
      
      Run clang-format on merge_composite.cc
      
      Change-Id: I1736bff798cc6d93e57519b08ab3362869098779
      
      * [RELAY][BYOC] Support composite functions in AnnotateTarget
      
      This patch introduces support to annotate composite functions
      in the AnnotateTarget pass. In order for a composite function
      to be annotated, you should name it according to the style:
      
      {codegen}.{name}
      eg. dnnl.add_relu
      
      Change-Id: I74d6c0b506153d866f6d1feb203b32dad59f2871
      mbaret committed
  2. 07 Apr, 2020 12 commits
  3. 06 Apr, 2020 7 commits
  4. 05 Apr, 2020 4 commits
    • [Relay][Topi][AutoTVM] Winograd support for Conv3D (#5186) · 02eb1833
      * Functional conv3d winograd working.
      
      * Formatted python code.
      
      * registered conv3d winograd compute and started adding relay without_weight_transform operator.
      
      * Add topi testing for conv3d winograd.
      
      * Format file.
      
      * small tweak to unrolling to prevent build sticking.
      
      * Refactoring convolution ops in relay.
      
      * Refactored relay convolutions.
      
      * Bug fixes.
      
      * Fixed static bug in convolution.
      
      * Added conv3d alter op layout and related support.
      
      * Bug fixes and testing done.
      
      * Fix a few autotvm bugs.
      
      * Drop silly debug print.
      
      * Removed debug_skip_region.
      
      * Add variant of conv3d_winograd that doesn't transform depth.
      
      * initial infrastructure done for depthless conv.
      
      * Fix no_depth schedule bugs.
      
      * automatic topi switching between depth and depthless winograd.
      
      * Fixed bug in schedule.
      
      * lint fixes.
      
      * Removed indents in convolution.cc
      
      * missed a few indents oops.
      
      * fixed flop count.
      
      * One more small tweak.
      
      * Change kernel pack inner axes order.
      
      * Style changes.
      
      * Comment fixes.
      Josh Fromm committed
    • [Fix][VM] Fix copy constructor (#5237) · c76cbd8d
      ga committed
    • [Relay][ADT]Static Tensor Array (#5103) · b5352ee2
      * Add other static tensor array ops
      
      * Add tensor array get data
      
      * Minor refactor
      
      * Fix pylint
      
      * Update docstring
      
      * Make get data more generic
      
      * Improve test
      
      * Improve split test
      
      * Improve get data
      
      * Minor fix
      
      * Further improvement for static shape
      
      * Improve shape parsing
      
      * Unify get_static_name
      Yao Wang committed
    • [REFACTOR][TIR] Migrate all low-level passes to the Pass Manager. (#5233) · e63e08fe
      * [REFACTOR][TIR] Migrate all low-level passes to the Pass Manager.
      
      This PR migrates the tvm.lower to return IRModule of PrimFuncs
      instead of the LoweredFuncs.
      
      * Remove LoweredFunc.
      Tianqi Chen committed
  5. 04 Apr, 2020 3 commits
  6. 03 Apr, 2020 8 commits
    • [REFACTOR][TIR] Migrate most of low-level build to use the Pass Manager. (#5225) · 75e936e1
      * [REFACTOR][TIR] Migrate most of low-level build to use the Pass Manager.
      
      - SplitHostDevice
      - ThreadSync
      - BindDevice
      - LowerThreadAllreduce
      - Provide a temp fix for printing IRModule with PrimFunc before the formal text printer.
      
      * Address comments, fix tests.
      
      * Fix relay tests
      
      * Explicit move
      Tianqi Chen committed
    • [RELAY] Non-recursive Graph Vistor and Rewriter (#4886) · 7de8a539
      * First pass a defining a non-recursive Graph Vistor and Rewriter
      
      autoformat
      
      remove a currently empty test until testing is solidfied
      
      * Make CalcDep from Dead Code Elimination non-recursive
      
      * Partially working, not passing all tests yet
      
      passes tests when disabling GetExprRefCount, I think I have a bug in visit counting
      
      fix GetExprRefCount
      
      Fix a subtle bug with nested recursive/non-recursive scopes
      
      * Refactor
      
      * improve comments
      
      * respond to review comments on comments
      
      * Fix a problem with default recursion for dataflow nodes
      
      mark DataflowVisitor methods as override
      
      * implement ScopeMutator
      
      * convert forward_rewrite to ScopeMutator, remove DataflowMutator
      
      * rewrite ExprRewriter and convert fast_math to use it
      
      * switch BiasAddSimplifier to ExprRewriter
      
      fix a clang warning
      
      fix cpp lint
      
      fix doc param error
      
      * respond to review comments
      
      * fix a typo in the iterative looping
      
      * add a regression test for GetExprRefCount issue
      
      * Normalize naming
      
      * fix lint
      
      * First pass a defining a non-recursive Graph Vistor and Rewriter
      
      autoformat
      
      remove a currently empty test until testing is solidfied
      
      * Make CalcDep from Dead Code Elimination non-recursive
      
      * Partially working, not passing all tests yet
      
      passes tests when disabling GetExprRefCount, I think I have a bug in visit counting
      
      fix GetExprRefCount
      
      Fix a subtle bug with nested recursive/non-recursive scopes
      
      * Refactor
      
      * improve comments
      
      * respond to review comments on comments
      
      * Fix a problem with default recursion for dataflow nodes
      
      mark DataflowVisitor methods as override
      
      * implement ScopeMutator
      
      * convert forward_rewrite to ScopeMutator, remove DataflowMutator
      
      * rewrite ExprRewriter and convert fast_math to use it
      
      * switch BiasAddSimplifier to ExprRewriter
      
      fix a clang warning
      
      fix cpp lint
      
      fix doc param error
      
      * respond to review comments
      
      * fix a typo in the iterative looping
      
      * add a regression test for GetExprRefCount issue
      
      * Normalize naming
      
      * fix lint
      
      * respond to review comments
      Matthew Brookhart committed
    • [RELAY][FIX] Fix hang in MergeCompilerRegions (#5227) · 54975a3f
      For certain network topologies, MCR could hang.
      This patch fixes that case.
      
      Change-Id: I3edd8a8a6b452b2b838b777720adea22a3b995b4
      mbaret committed
    • [KERAS]Upsample3d & ZeroPadding3d op (#5125) · b796c13c
      * [KERAS]upsampling3d and zeropadding3d op
      
      * [KERAS]upsampling3d and zeropadding3d test case
      
      * Review comments updated
      Samuel committed
    • [CodeGen][CUDA] Fix bugs (#5209) · 316ce055
      - Support vectorized casts
      
      - It is incorrect to extract elements from int8x4 with
      
         0x000000ff & (x >> i * 8)
      
        as this value is of type int in C/C++. If this expression
        is used for sign extensions, the sign bit will be wrong.
        Simply use C style casts instead and sign bits will just work.
      
      Signed-off-by: Wei Pan <weip@nvidia.com>
      Wei Pan committed
  7. 02 Apr, 2020 4 commits