1. 28 Mar, 2020 1 commit
    • [NODE][IR] Introduce StructuralEqual Infra for the unified IR. (#5154) · 997a14ed
      * [NODE][IR] Introduce StructuralEqual Infra for the Unified IR.
      
      This PR introduces a new way to handle structural equality
      for both TIR and relay nodes in an extensive way.
      
      - Each object can now register an optional SEqualReduce function, which
        describes how to reduce its structural equality to another instance
        into equality of the children.
      - Optionally, the object can choose to allow remapping of vars(e.g. function parameters)
        by calling DefEqual
      - We implemented a non-recursive structural equality checker that
        recursively traverses the objects and does the structural equality checking.
      
      This PR also fixes a few potential problems in previous relay's AlphaEqual.
      
      - In particular, the new structural equality relation will be communicative.
      - It is can be dangerous to use same_as relation to quickly check equality,
        demonstrated by the following case. (%x, %y) are shared vars between two functions.
      
      - function0: fn (%x, %y) { %x + %y }
      - function1: fn (%y, %x) { %x + %y }
      
      The new structural equal is intented to supersede AlphaEqual and AttrsEqual.
      
      Follow-up PRs should be performed to redirect the existing usages, and removes
      the corresponding implementation.
      
      * Update the rule to distinguish between graph node and non-graph nodes.
      
      * Refactor the test cases to use structural equal.
      
      * address comments
      
      * Mark more relay::Expr as graph node, fix a testcase issue(was bug that was not caught by previous alpha equal)
      
      * Remove unrelated comment
      
      * Fix file comment
      
      * Address review comment
      
      * Relax condition to fit flaky case
      Tianqi Chen committed
  2. 24 Mar, 2020 1 commit
    • [Relay] GradientCell Relay Pass (#5039) · e6dd8e1e
      * save
      
      * gradient.rly
      
      * fix
      
      * NOT WORKING: gradient cell pass
      
      * test gradient pass
      
      * fixed basic call ops
      
      * more tests
      
      * fix bug
      
      * transform calls to one ones_like zero zero_like
      
      * maintenance stuff
      
      * fix linting
      
      * linting
      
      * linting
      
      * throw default
      
      * remove unrelated changes
      
      * import gradent.rly in pass
      
      * comment
      
      * linting
      
      * remove changes to test files
      
      * move gradient_cell.cc to transforms
      
      * revert change
      
      * update files with new commits
      
      * type
      
      * wrapper function to main outermost function type
      
      * fix linting
      
      * fix unsigned and signed int comparison
      
      * review
      
      * GetConstructor definition in module and change op comparison
      
      * update node instantiations
      
      * increase code readability
      
      Co-authored-by: Marisa Kirisame <lolisa@marisa.moe>
      Andrew Liu committed
  3. 27 Feb, 2020 1 commit
  4. 14 Feb, 2020 1 commit
  5. 12 Feb, 2020 1 commit
    • [REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding files (#4862) · a5661611
      * [REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding relay files.
      
      This PR establishes tvm.ir and migrates the corresponding relay
      files into the new folder.
      
      API Change:
      - relay.Module -> tvm.IRModule
      
      * Update with ADT
      
      * Migrate transform
      
      * address comments
      
      * Migrate module
      
      * Migrate json_compact
      
      * Migrate attrs
      
      * Move LoweredFunc to stmt temporarily
      
      * temp migrate container
      
      * Finish migrate container
      Tianqi Chen committed
  6. 05 Feb, 2020 1 commit
    • [REFACTOR][PY] Establish tvm.runtime (#4818) · fc7dd6d7
      * [REFACTOR][PY] Establish tvm.runtime
      
      This PR establishes the tvm.runtime namespace that contains the core runtime data structures.
      The top-level API are kept inact for now via re-exporting.
      
      We will followup later to cleanup some of the top-level APIs.
      
      * Fix ndarray name
      Tianqi Chen committed
  7. 29 Sep, 2019 1 commit
    • [Relay] Move prelude to text format (#3939) · 2dac17d8
      * Fix parser
      
      * Doc fix
      
      * Add module utility functions necessary for prelude
      
      * Implement prelude in text format
      
      * Remove programmatically constructed prelude defs
      
      * Fix 0-arity type conses in pretty printer and test
      
      * Make prelude loading backwards-compatible
      
      * Fix patterns
      
      * Improve some prelude defs
      
      * Fix `ImportFromStd`
      
      It needs to also follow the "add unchecked, add checked" pattern
      
      * Lint roller
      
      * Woops
      
      * Address feedback
      
      * Fix `test_list_constructor` VM test
      
      * Fix `test_adt.py` failures
      Logan Weber committed
  8. 08 Sep, 2019 1 commit
  9. 06 Sep, 2019 1 commit
    • [Relay] Add ADTs to text format (#3863) · ca0292d8
      * Getting closer to having ADT defs
      
      * ADT defs working probly
      
      * Match parsing basipally done
      
      * came to earth in a silver chrome UFO
      
      * match finished?
      
      * All tests but newest are passing
      
      * ADT constructors work
      
      now cleanup?
      
      * Cleanup round 1
      
      * Cleanup round 2
      
      * Cleanup round 3
      
      * Cleanup round 4
      
      * Cleanup round 6
      
      * Cleanup round 7
      
      * Lil grammar fix
      
      * Remove ANTLR Java files
      
      * Lint roller
      
      * Lint roller
      
      * Address feedback
      
      * Test completeness in match test
      
      * Remove unused imports
      
      * Lint roller
      
      * Switch to Rust-style ADT syntax
      
      * Lil fix
      
      * Add dummy `extern type` handler
      
      * Add type arg to test
      
      * Update prelude semantic version
      
      * Repair test
      
      * Fix graph var handling in match
      
      * Revert 's/graph_equal/is_unifiable' change
      Logan Weber committed
  10. 18 Jul, 2019 1 commit
  11. 09 Jul, 2019 1 commit
  12. 02 Jul, 2019 1 commit
  13. 11 Jun, 2019 1 commit
    • [Relay][Prelude] Use the Relay parser to define the Relay prelude (#3043) · c4245e3d
      * Add ability to load Prelude from disk
      
      * Port over id
      
      * Define compose
      
      * Linting errors and style changes
      
      * Eliminate unnecessary parens
      
      * Rename identType to typeIdent (makes more sense)
      
      * Another unnecessary paren
      
      * Bump the version number for the text format
      
      * Ensure .rly (Relay text files) are permitted
      
      * Correct release number and simplify grammar rule
      
      * Correct load_prelude docstring
      
      * Corrections to _parser
      
      * Add Apache headers to prelude source file
      
      * Remove test_prelude (redundant)
      
      * Correct misleading error message
      
      * Add check that parser is enabled in Prelude
      
      * Commit pre-generated parser, ensure generated files are treated as binaries, and have parser tests always fire
      
      * Permit parser files and git attributes files
      
      * Exclude gitattributes and parser files from apache check
      
      * Another attempt at appeasing Apache audit checker
      
      * Corrections to rat-excludes
      
      * Apache should be truly appeased now
      
      * Ignore Relay parser files by name
      
      * Mark parser files as generated so they don't show up on Github
      
      * Add parsing helper function for tests
      
      * Mark parser files as not detectable
      Jared Roesch committed
  14. 08 Apr, 2019 1 commit
    • [HEADER] Add Header to Comply with ASF Release Policy (#2982) · cffb4fba
      * [HEADER] ASF header dir=include
      
      * [HEADER] ASF Header dir=src
      
      * [HEADER] ASF Header -dir=python
      
      * [HEADER] ASF header dir=topi
      
      * [HEADER] ASF Header dir=nnvm
      
      * [HEADER] ASF Header -dir=tutorials
      
      * [HEADER] ASF Header dir=tests
      
      * [HEADER] ASF Header -dir=docker
      
      * fix whitespace
      
      * [HEADER] ASF Header -dir=jvm
      
      * [HEADER] ASF Header -dir=web
      
      * [HEADER] ASF Header --dir=apps
      
      * [HEADER] ASF Header --dir=vta
      
      * [HEADER] ASF Header -dir=go
      
      * temp
      
      * [HEADER] ASF Header --dir=rust
      
      * [HEADER] Add ASF Header --dir=cmake
      
      * [HEADER] ASF Header --dir=docs
      
      * [HEADER] Header for Jenkinsfile
      
      * [HEADER] ASF Header to toml and md
      
      * [HEADER] ASF Header to gradle
      
      * Finalize rat cleanup
      
      * Fix permission
      
      * Fix java test
      
      * temporary remove nnvm onnx test
      Tianqi Chen committed
  15. 17 Jan, 2019 1 commit
  16. 15 Jan, 2019 1 commit
  17. 14 Jan, 2019 1 commit
  18. 07 Jan, 2019 1 commit
  19. 03 Dec, 2018 1 commit