[Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff (#6078)
authorYizhi Liu <liuyizhi@apache.org>
Tue, 18 Aug 2020 23:19:39 +0000 (16:19 -0700)
committerGitHub <noreply@github.com>
Tue, 18 Aug 2020 23:19:39 +0000 (16:19 -0700)
commitff2a76f90bc2f3b9eeb6e57c820aa300cfd2ab49
tree1a98d7e05bd8616587c904bfd4284d13ce745ee6
parent233b8cc946051903d81b6005d79a2a55c89fcfcf
[Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff (#6078)

* [Autodiff] Optimize and eliminate the Jacobian tensor for te.autodiff

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
* fix lint

* fix clang-format

* add comments and magic number

* clang-lint

* address some comments

* remove FreeVarsVisitor

* fix constexpr lint

* fix lint

* fix lint

* add Map.Merge

* lint

* change Array::Concat & Map::Merge to global functions

* fix lint

* move functions to global

* static -> inline

Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com>
16 files changed:
include/tvm/arith/analyzer.h
include/tvm/arith/int_solver.h
include/tvm/node/container.h
include/tvm/runtime/container.h
include/tvm/tir/analysis.h
src/arith/canonical_simplify.cc
src/arith/int_constraints.cc
src/arith/solve_linear_inequality.cc
src/relay/op/tensor/transform.cc
src/te/autodiff/ad_simplify.cc [new file with mode: 0644]
src/te/autodiff/ad_util.cc
src/te/autodiff/ad_util.h
src/te/autodiff/adjoint.cc
src/te/autodiff/jacobian.cc
src/tir/transforms/split_host_device.cc
tests/python/unittest/test_te_autodiff.py