Граф коммитов

447 Коммитов

Автор SHA1 Сообщение Дата
Nicolas Vasilache f08de2b690 [WIP] C++ topi contributions (#312)
* [WIP] C++ topi contributions

Summary:
This diff implements C++ topi contributions for:
  - relu with parametrix threshold
  - pad with generic padBefore / padAfter specification
  - matmult with transposes
  - conv2d_nchw, conv2d_hwcn with runtime constant padding and strides
  - depthwise_conv2d_nchw with runtime constant padding and strides
  - group_conv2d_ngchw with runtime constant padding and strides
  - broadcast_to a broadcastable shape
  - broadcast_bop where bop is an usual binary op (+ - * / %)

Convolution padding is implemented using the pad operation.
To avoid extra memory consumption, it is generally recommended to inline the padding with the autoinliner.
Unfortunately in its current form the elemwise checks are too restrictive to allow inlining.
So this diff also proposes an extension to LHS injective (i.e. no reduction axis in the current IR design)

Test Plan:
Tested in C++ testsuite in a separate repository, I am looking for suggestions to quickly spin up some tests for tvm.

Reviewers: tqchen

Subscribers:

Tasks:

Tags:

Blame Revision:

* Review + Lint + GSG C++
2017-08-13 15:50:25 -07:00
Tianqi Chen a3776ba5ae [PASS][PRAGMA] Allow pragma debug_skip_region to skip region of computation (#318) 2017-08-13 15:35:38 -07:00
Tianqi Chen 79e482bc5a [PASS] Memory barrier detection, storage access lower. (#317) 2017-08-13 11:35:50 -07:00
Tianqi Chen afa20869b4 [PASS] More improvement of canonical (#314) 2017-08-11 18:17:08 -07:00
Yuwei HU 3c2569a0ab minor fix (#313) 2017-08-11 12:48:54 -07:00
Tianqi Chen e4b500b608 [PASS][FIX] Fix LiftAttrScope with if (#309)
* [PASS][FIX] Fix LiftAttrScope with if

* [PASS] Fix on proc sync

* fix
2017-08-10 18:38:09 -07:00
Tianqi Chen 19381b51ff [RPC] Enable shutdown hook (#308) 2017-08-10 09:36:42 -07:00
Yizhi Liu 48fd9e461e [tvm4j] disable proxy test for now (#307) 2017-08-10 09:36:22 -07:00
Tianqi Chen 47eb85de3e [TEST] Upgrade gpu docker to cudnn7 (#306)
* [TEST] Upgrade gpu docker to cudnn7

* fx
2017-08-09 18:08:23 -07:00
Tianqi Chen 29338ea428 [PASS] Allow allocation in parallel scope (#305) 2017-08-09 11:21:50 -07:00
ziheng 11328f64f9 [FIX] Pass the attributes of master node (#304) 2017-08-09 08:32:37 -07:00
Tianqi Chen b40d43c479 [PASS][RUNTIME] Support attr scope lift and runonce (#303) 2017-08-08 15:21:37 -07:00
Yizhi Liu 7d67e473d6 [tvm4j] RPC Server (#268)
* [tvm4j] RPC Server

* [tvm4j] fix recursively function calling; connect to proxy server; osx rename .so to .dylib

* [tvm4j] test case for proxy connection; thread pool for serving
2017-08-08 10:23:17 -07:00
Tianqi Chen 1146495f3e [RUNTIME][PASS] Allow declare vector type array (#302)
* [RUNTIME][PASS] Allow declare vector type array

* fix bcast

* [BUFFER] Enable vload/store function in buffer

* ok
2017-08-07 17:51:33 -07:00
ziheng 1e48b02f8c [NNPACK] Add nnpack.convolution (#301)
* [NNPACK] Add nnpack.convolution

* Add instrinsic

* Fix lint
2017-08-07 08:29:37 -07:00
ziheng 1389d20888 [EXECUTOR] Split graph_executor to header file and (runtime) source file (#300)
* [EXECUTOR] Split graph_executor to header file and (runtime) source file

* Fix
2017-08-05 20:30:40 -07:00
Tianqi Chen 41768cf918 [SCHEDULE][RUNIME] Introduce pragma for additional extension hint, threadpool runtime. (#299) 2017-08-05 15:37:22 -07:00
Tianqi Chen fd96d28534 [PASS] More storage sync. (#297) 2017-08-03 22:24:51 -07:00
ziheng 581be16556 [PASS] Enhance LayoutTransform pass (#293)
* [PASS] Enhance LayoutTransform pass

* Fix

* Fix Compilation

* Refactor

* Refactor

* doc

* fix

* add file
2017-08-03 21:48:57 -07:00
Tianqi Chen eefcfe1985 [PASS] Refactor thread storage sync to a common visitor (#296)
* [PASS] Refactor thread storage sync to a common visitor

* Fix the sync scope check behavior
2017-08-03 13:21:49 -07:00
Tianqi Chen 6bc0ae12ca [ARITH] Refactor intset eval with functor (#295) 2017-08-02 23:28:28 -07:00
Edward Z. Yang 10bc2fdfe0 Conda build recipe (#288)
* Typofix.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>

* Probe for nvrtc in lib directory as well.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>

* Conda build recipe for TVM.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2017-08-01 15:23:56 -07:00
ziheng fe3b885755 [FIX] Fix doc_string of reducer (#292) 2017-08-01 10:49:59 -07:00
Tianqi Chen 989dda89e1 [PASS] Simplify dependency of StorageRewrite (#291) 2017-08-01 10:12:18 -07:00
Yizhi Liu 657498a327 fix rpc server proxy connect (#290) 2017-08-01 09:30:12 -07:00
ziheng 50ddb76ba8 [PASS] Improve graph fusion (#286)
* [PASS] Improve graph fusion

* Change fusion center to segment head

* Use 'master' to identity the schedule node

* Make things compact

* Fix
2017-07-31 22:28:55 -07:00
Tianqi Chen 7e82eb61a2 [SCHEDULE][REFACTOR] Default Fuse to outer inner, consistent to split (#289)
* [SCHEDULE] Fix fuse node order

* Make fuse order consistent with split
2017-07-31 17:57:18 -07:00
Edward Z. Yang e974443167 Build system and dynamic library fixes (#283)
* Install rules and dynamic library loading fixes.

A batch of fixes:

- Added 'install' rule to cmake and make, which installs runtime
  headers and library (libtvm_runtime).

- Added 'installdev' rule to make, which also installs the compiler
  infrastructure headers and library (libtvm)

- Added 'INSTALL_DEV' option to cmake, for toggling installation
  of compiler infrastructure headers and library

- cmake no longer builds into lib/ directory; instead all build
  products go in your build directory

- New algorithm for dynamic library loading, as described in #281.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>

* Emit dylib on OS X

Signed-off-by: Edward Z. Yang <ezyang@fb.com>

* Lint fixes.

Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2017-07-31 12:23:34 -07:00
Mercy fe51c49805 [DOC] Fix typos in tutorials (#287) 2017-07-31 09:51:43 -07:00
William Moses cf2f5197d9 Fix issue relating to serialization of reducer (#282) 2017-07-31 09:01:21 -07:00
Leyuan Wang cf4e77750f [BUILD] rename build.py to avoid conflict name of build (#284)
* __init__ updated

* pull request updated

* build_module added

* typo fixed

* another typo fixed
2017-07-28 20:01:03 -07:00
ziheng 458d4f19ed [EXECUTOR] Add GraphHandle (#285)
* [GRAPH] Add GraphHandle

* Move to apps/graph_executor
2017-07-28 16:20:52 -07:00
Edward Z. Yang 7bc5b5e508 gitignore tags (#277)
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
2017-07-27 08:33:38 -07:00
Tianqi Chen d3b8c869cd [TEST] Fix java compilation (#279) 2017-07-27 08:33:32 -07:00
Jian Weng 52c8db5bf4 [TUTORIAL] gemm tutorial image add! (#276)
* image add!

* image path move to web-data
2017-07-27 08:10:45 -07:00
ziheng 095ce8758f [EXECUTOR] PruneGraph pass (#274) 2017-07-26 11:18:59 -07:00
Jian Weng 29d253d0bd [TUTORIAL] Optimize gemm on CPU add! (#270)
* [TUTORIAL] Optimize gemm add!

* temp commitment

* [TUTORIAL] python3 compatiblity made; doc generation updated!

* [DOCS] gen_modules clean and ignore add!

* [TUTORIAL] title modified!

* [TUTORIAL] some rolled-back modification re-write

* [TUTORIAL] title underscore extended!

* CONTRIBUTORS add me!
2017-07-25 22:58:41 -07:00
ziheng 3935329b7a [EXECUTOR] Improve LayoutTransform pass (#273)
* [EXECUTOR] Improve LayoutTransform pass

* Remove offline params for now

* Small fix
2017-07-25 17:54:05 -07:00
Tianqi Chen 591afad948 [SCHEDULE] Remap the cached bind_scope. (#272)
* [SCHEDULE] Remap the cached bind_scope.

* more fix
2017-07-25 17:24:07 -07:00
Tianqi Chen 2e373de4a8 [BUILD] Fix osx compilation (#271) 2017-07-25 09:42:43 -07:00
Tianqi Chen 0de717004a [BUGFIX] Fix CanonicalSimplify change type of int constant (#269) 2017-07-24 16:30:39 -07:00
Tianqi Chen 7e3d9da43c [STORAGE][BUFFER] Support access ptr for clear access pattern. (#266)
* [STORAGE][BUFFER] Support access ptr for clear access pattern.

* fix lint
2017-07-23 19:30:59 -07:00
Tianqi Chen 1f7712ae1d [LANG] Add reflection routine to construct node (#265) 2017-07-20 11:01:52 -07:00
Yizhi Liu 68c4400e1c [tvm4j] register user-defined function (#251)
* [tvm4j] register user-defined function

* [tvm4j] define java function (pushArgToStack) to convert arguments to C TVMValue

* [tvm4j] make Module & Function extends TVMValue

* [tvm4j] make registered cb function return Object

* [tvm4j] add cb finalizer; add TVMValueBytes

* [tvm4j] support NDArrayBase cb arg

* [tvm4j] register cb function unit tests

* [tvm4j] pass Function.Callback to resource_handle

* [tvm4j] fix type cast
2017-07-20 10:28:40 -07:00
Tianqi Chen 532ee9b7a2 [SCHEDULE] Detect useless bound early (#264)
* [SCHEDULE] Detect useless bound early

* fix
2017-07-19 15:57:31 -07:00
ziheng bdcd325686 [FIX] Fix bug and typo in rpc_server (#263)
* [FIX] Fix bug and typo in rpc_server

* [FIX] Remove unnecessary condition
2017-07-18 23:19:25 -07:00
Tianqi Chen 4f4cd5c16f [DOC] More detailed installation instruction (#262)
* [DOC] More detailed installation instruction

* fix lang
2017-07-18 22:42:02 -07:00
Tianqi Chen 71cb07aee7 [RPC] IOS RPC (#261) 2017-07-18 22:20:36 -07:00
Tianqi Chen 9037a4c2e5 [RUNTIME] Enable injection of some core runtime functions to avoid dynamic lookup (#260) 2017-07-18 21:40:18 -07:00
ziheng 6196cd5072 [EXECUTOR] Move tvm_op and Handler<DLTensor> to graph_executor.cc (#259) 2017-07-18 19:39:26 -07:00