1. 01 Nov, 2019 2 commits
  2. 30 Oct, 2019 1 commit
    • Improve the lowering of Qnn Dense (#4213) · 2be444f9
      * [QNN] Improving Dense lowering.
      
      * - Moving get_shape method to util
      - Finalizing the test cases and the code structure for optimized dense computation.
      
      * - Fixing cpplint.
      
      * - Addressing review comments.
      
      * - Renaming the variables correctly.
      
      * - Renaming the variables correctly.
      shoubhik committed
  3. 28 Oct, 2019 1 commit
  4. 27 Oct, 2019 1 commit
  5. 24 Oct, 2019 3 commits
  6. 21 Oct, 2019 1 commit
    • [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol. (#4161) · 7895adb2
      * [REFACTOR][NODE][RUNTIME] Move Node to the new Object protocol.
      
      This PR removes the original node system, and make node as a subclass of Object.
      This is a major refactor towards a better unified runtime object system.
      
      List of changes in the refactor:
      
      - We now hide data_ field, use Downcast explicitly to get a sub-class object.
      - Removed the node system FFI in python.
      - Removed the node C API, instead use PackedFunc for list and get attrs.
      - Change relay::Op::set_attr_type_key(attr_key_name) to relay::Op::set_attr_type<AttrType>().
        - This change was necessary because of the new Object registration mechanism.
        - Subsequent changes to the op registrations
        - The change revealed a few previous problems that is now fixed.
      - Patched up a few missing node type registration.
        - Now we will raise an error if we register object that is not registered.
      - The original node.h and container.h are kept in the same location.
      - Calling convention: kObjectHandle now equals the old kNodeHandle, kNodeHandle is removed.
      - IRFunctor now dispatches on ObjectRef.
      - Update to the new type checking API: is_type, derived_from are replaced by IsInstance.
      - Removed .hash member function, instead use C++ convention hasher functors.
      
      * Address review comments
      Tianqi Chen committed
  7. 16 Oct, 2019 1 commit
  8. 10 Oct, 2019 1 commit
  9. 03 Oct, 2019 1 commit
  10. 02 Oct, 2019 1 commit
  11. 01 Oct, 2019 1 commit
    • [TOPI]Add op argwhere (#3994) · fa4d3ec6
      * Add op argwhere
      
      * Move shape func to _algorithm.py
      
      * Add lint rule
      
      * Raise exception if rank is not supportted
      
      * move argwhere to transform
      
      * Add argwhere example
      
      * Fix lint
      
      * Add 1-d support
      
      * cleanup
      
      * Add more dtype support
      
      * CR comment
      
      * Improve error message
      
      * Docs
      
      * raise exception
      Wei Chen committed
  12. 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
  13. 24 Sep, 2019 1 commit
    • [Relay] Add new IR pass CombineParallelDense (#3862) · ed9fdfb0
      * Refactor to create abstract ParallelOpCombiner
      
      * First draft of CombineParallelDense
      
      * Begin to work on tests
      
      * Test
      
      * Refactor to move out more common code
      
      * Clean up
      
      * Fix
      
      * Remove statics
      
      * fix wording
      
      * Start to add combine_parallel_op_batch
      
      * Resolve PR comments
      
      * Resolve PR comments
      
      * dummy change to retrigger CI
      
      * Change special case from bias_add to add
      
      * Revert special case change
      
      * Ignore units check
      
      * dummy change to retrigger CI
      
      * dummy change to re-trigger CI
      
      * Improve docs
      
      * Update docs
      
      * Update docs
      Jon Soifer committed
  14. 22 Sep, 2019 1 commit
    • Qnn fully connected (#3910) · 43f54a58
      * Qnn Dense layer.
      
      * Reformatting code.
      
      * Reformatting code and making the test case more readable.
      
      * Fixing lint issues.
      
      * Fixing test method names to pass the nose related configurations.
      
      * Aligning the code for code style.
      shoubhik committed
  15. 20 Sep, 2019 1 commit
  16. 12 Sep, 2019 1 commit
  17. 11 Sep, 2019 1 commit
  18. 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
  19. 05 Sep, 2019 2 commits
  20. 04 Sep, 2019 1 commit
  21. 01 Sep, 2019 2 commits
    • [Relay][Any] Add shape func for dynamic shape (#3606) · eef35a57
      * init shape func in interpreter and vm compiler
      
      * Update interpreter
      
      * fix
      
      * lint
      
      * lint
      
      * fix
      
      * remove hack
      
      * update
      
      * fix
      
      * fix
      
      * update
      
      * address comments & update for shape_of
      
      * fix lint
      
      * update
      
      * fix hybrid
      
      * lint
      
      * fix bug & add take shape func
      
      * lint
      
      * lint
      
      * update
      
      * fix flaky test
      
      * add todo
      Haichen Shen committed
    • [Relay] Bitserial ops (#3844) · d08c74ca
      * Added arm_cpu NHWC schedules.
      
      * Fixed kernel shape legalization.
      
      * Added bitserial ops to relay.
      
      * Snapshot and more missing files.
      
      * Added dense testing.
      
      * Added tests
      
      * Added ASF header to new files.
      
      * cc lint
      
      * Pylint change.
      
      * pylint fixes.
      
      * Change arm legalize test.
      
      * Added assert check to arm legalize.
      
      * Added better documentation, fixed some bad style
      
      * Reverted arm conv2d nhwc changes.
      Josh Fromm committed
  22. 31 Aug, 2019 1 commit
  23. 30 Aug, 2019 1 commit
  24. 22 Aug, 2019 2 commits
  25. 16 Aug, 2019 1 commit
    • QNN quantize and dequantize operators. (#3745) · d3eb9cb8
      * QNN quantize and dequantize operators.
      
      * addressing review comments.
      
      * addressing review comments.
      
      * Adding new line at the end of the file.
      
      * Adhering to styling guidelines.
      
      * Adding name to contributors.
      
      * Fixing lint issue.
      
      * Fixing file name.
      
      * Removing unnecessary code.
      shoubhik committed
  26. 15 Aug, 2019 1 commit
  27. 13 Aug, 2019 1 commit
    • [Relay] SpaceToDepth and MirrorPad Operators (#3718) · 8bd9d4d5
      * Added relay and topi mirror_pad operator.
      
      * Added mirror_padding to tensorflow frontend.
      
      * Added mirrorpad testing in tensorflow frontent.
      
      * Added space_to_depth in tf frontend.
      
      * Added tests for spacetodepth.
      
      * spacetodepth bug fix.
      
      * Lint fix
      
      * Added mirror pad python attrs.
      
      * Pad code formatting.
      
      * Syntax improvement
      
      * Hopefully last lint fix
      Josh Fromm committed
  28. 08 Aug, 2019 1 commit
    • [QNN] Requantize operator (#3531) · a78adbd5
      * [Relay] [Quantization] WIP - Common files for the qauntization work.
      
      * [Relay] [Quantization] WIP - Prototyping requantize op.
      
      * Requantize operator implementation.
      
      Requantize converts one quantized tensor representation to another quantized
      representation. The PR has following implementation features
      
      - Requantize operator defined in qnn namespace - relay.qnn.requantize
      - Lowering of the requantize to exisiting Relay operators
      - Integer fixed point implementation of requantize
          - Two rounding modes - FE_UPWARDS (round towards infinity) and
          FE_AWAY_FROM_ZERO (std::round behavior)
      - Floating point implementation as well, that can act as reference or can be
      used for devices when FP32 computation is not used.
      - Unit test cases
      
      Relevant Issue - https://github.com/dmlc/tvm/issues/2351
      
      Credit to TFLite and GemmLowp to provide reference implementations.
      
      * Typo and lint fixes.
      
      * Doc fix.
      
      * Uncommenting the lint script (fixing mistake).
      
      * Modifying the unit tests.
      
      * Moving C++ files into src/relay/qnn
      
      * Moving python files to python/tvm/relay/qnn. Some minor fixes.
      
      * Moving the attrs.h inside the include directory.
      
      * Pushing files that I forgot earlier. Changing util location.
      
      * Incorporating comments. API change. Lint fixes.
      
      * Modifying the GetFixedPointMultiplierShift API as per comments.
      
      * Forgot the dialect change.
      
      * Changing rewrite to qnn_lower.
      
      * Renaming Quantize to Qnn for clarity.
      
      * Remove use_int_domain.
      
      * Incorportaing review comments.
      
      * Adding API doc for QNN dialect.
      
      * Move the qnn_lower pass to transform namespace.
      
      * Moving from expr to module. Adding namespace in C++.
      
      * Minor sentence rewrites. Added qnn namespace.
      
      * Added the API doc.
      
      * Chanding default out_dtype to int8. Adding a test with in/out_dtype as uint8.
      
      * Style fixes. Better error messages.
      
      * Adding documentation.
      
      * More documentation fixes.
      
      * Adding out dtype check for requantize.
      
      * Adding corner case for FP32 to fixed point conversion.
      
      * Adding extra line.
      
      * Documentation fix.
      
      * Adding static inline.
      
      * Incorporating jackwish comment. Removed idtype from requantize lowering.
      
      * Removing Quantize/Dequantize code. Restricting Requantize to (u)int8/int32.
      
      * Style fixes.
      
      * Fix the docs.
      
      * Move to Legalize API.
      Animesh Jain committed
  29. 07 Aug, 2019 1 commit
  30. 06 Aug, 2019 2 commits
    • [Relay] Legalize pass (#3672) · 79922bd3
      * [Relay] Rewrite pass.
      
      This pass transforms an expression to other expression.
      
      This pass has many usecases
       * Replace a expr to another expr, if the other expr has faster performance.
       * For ASICs, we might want to modify the inputs to adapt to the HW support.
       * Alter op layout can work in conjunction with this pass.
      
      The supporting usecase is the Intel i8 x i8 conv. Intel HW supports u8 x i8 conv
      in HW. Using this pass, we can replace an i8 x i8 conv to a sequence of
      operators where one of the operators is now u8 x i8 conv. This will also help
      automatic quantizaion performance.
      
      * Better API name.
      
      * Removing the conv2d legalization for x86. Will send a separate PR.
      
      * Test name changes.
      
      * Registering one funtion to register FTVMLegalize.
      
      * Better comments.
      Animesh Jain committed
    • [Relay] [TOPI] `{relay,topi}.nn.sparse_transpose` for **Square** CSR matrices (#3707) · 3b287c4d
      * add build gcn tutorial
      
      * add transpose operator for square sparse matrices
      
      * remove extra files
      
      * change loop tag
      
      * comply with lint
      
      * comply with lint -- line too long
      
      * comply with lint
      
      * lint check
      
      * lint check
      
      * lint check
      
      * apply marisa and theirry's reviews
      Yulun Yao committed
  31. 05 Aug, 2019 1 commit
  32. 01 Aug, 2019 1 commit
    • [Relay] Strict mode in pattern matching (#3620) · 331585f4
      * add fatal
      
      lint
      
      lint
      
      lint
      
      do
      
      make completeness check an error
      
      lint
      
      remove fatal
      
      * fix test
      
      * reset parser file
      
      * remove unneeded import
      
      * Update python/tvm/relay/adt.py
      
      Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
      
      * Update include/tvm/relay/adt.h
      
      Co-Authored-By: Steven S. Lyubomirsky <slyubomirsky@gmail.com>
      
      * Eliminate trailing whitespace (my fault)
      雾雨魔理沙 committed
  33. 23 Jul, 2019 1 commit