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

344 Коммитов

Автор SHA1 Сообщение Дата
Tianqi Chen 4361ba0d33 [RUNTIME] Simple NDArray container API in c++ (#1418) 2018-07-11 18:31:29 -07:00
Tianqi Chen 69b23d9e4d [OP] Improve bitwise op type checks (#1415) 2018-07-10 14:13:53 -07:00
MORITA Kazutaka cb68c82c7e Add support for multiple OpenCL platforms (#1345) 2018-07-09 09:41:33 -07:00
Tianqi Chen 5d2ccd662b [SCHEDULE] Fuse support for 0 rank tensor (#1328) 2018-06-23 22:13:50 -07:00
Lianmin Zheng 531bb7c422 [PASS] Add GPU IR verifier (#1296) 2018-06-23 13:21:54 -07:00
Leyuan Wang 396bd5623b [TOPI] Conv2d Added and Optimized for Intel HD Graphics (#1290) 2018-06-22 11:46:47 -07:00
Tianqi Chen 61370e4b6c [MATH][TOPI][NNVM] introduce trunc, round (#1310) 2018-06-21 13:23:54 -07:00
Tianqi Chen 0702d2c04d [OP] Introduces auxiliary attrs into compute (#1293) 2018-06-17 10:23:39 -07:00
Tianqi Chen 146714acfe [CONTAINER] Introduce StrMap (#1292) 2018-06-15 20:08:54 -07:00
Tianqi Chen dc6203c2e6 [INTRIN] Add support for floor and ceil (#1267) 2018-06-12 13:31:16 -07:00
Tianqi Chen 2d3031ee6b [BUILD] Switch to CMake only Infra (#1254) 2018-06-10 22:00:33 -07:00
tqchen 52f045171f [RUNTIME] update to make runtime copy type aware 2018-05-30 22:27:44 -07:00
tqchen 42608ddafb [IO] Support cross-endian 2018-05-30 22:27:44 -07:00
tqchen bb2b86201c [DOCS] documentation merge 2018-05-29 08:47:00 -07:00
acmore 21fa4cabb8 Fix build break on Windows. (#1179) 2018-05-25 09:17:30 -07:00
webberg b1c690bda6 #1159 bug fixed (#1164)
* #1159 bug fixed

* #1159 #1164 fixed
2018-05-18 16:05:27 -07:00
Tianqi Chen f48befc6ec [PASS] Revert the change of intel gpu warp index (#1127) 2018-04-20 21:18:40 -07:00
Yida Wang c7e7e7f5e6 add two more device properties (#1124) 2018-04-20 20:39:31 -07:00
libing4752 202570e4d6 enhance cache write to support multiple tensors generated by ONE computeOp (#1042) 2018-04-20 09:00:20 -07:00
Tianqi Chen 154104b32c [PASS] Remap thread axis. (#1122) 2018-04-19 11:36:06 -07:00
Tianqi Chen d9bab380d2 [IR] Change pragma convention, enable pass unroll option via pragma (#1112)
* [IR] Change pragma scope convention, enable pass unroll option via pragma

* add coverage test

* add explicit unroll as option
2018-04-15 21:12:55 -07:00
nhynes 6f2ef9dca0 Add SGXModule (#1019) 2018-04-09 22:24:19 -07:00
Lianmin Zheng 3121441d39 add device name to context attribute (#1090)
* add device name to context attribute

* update for other backends
2018-04-09 10:15:28 -07:00
Tianqi Chen 9082a93b51 Make target and build module more pythonic (#1089) 2018-04-07 21:12:49 -07:00
Leyuan Wang d949c742b6 Intel target added, sub group sync added (#1084) 2018-04-06 20:48:43 -07:00
Lianmin Zheng 2e17e85005 add query for shared memory size (#1083) 2018-04-06 10:11:47 -07:00
alex-weaver aaf7ff04e3 Move BuildConfig context stack to C++ (#1025) 2018-04-01 10:42:54 -07:00
eqy b205db35e7 preserve input option order (#1068) 2018-03-31 10:18:11 -07:00
Lianmin Zheng cfdc5119f3 delete init part when keeping trivial loop (#1031) 2018-03-28 14:30:07 -07:00
Tianqi Chen e15aae2b3e [SCHEDULE][PASS] Enable Warp memory and lower to shuffle (#1050)
* [SCHEDULE][PASS] Enable Warp memory and lower to shuffle

* OpenCL dispatches for now to intel shuffle
2018-03-26 10:43:40 -04:00
cjjia 246223153b Fix the issue #1033 (#1037)
* Fix the issue #1033

fix the issue #1033 "converting to ‘const std::unordered_set<std::basic_string<char> >’from initializer"

* Fix the issue #1033

fix the issue #1033 "converting to ‘const std::unordered_set<std::basic_string >’from initializer".
2018-03-23 01:59:30 -07:00
alex-weaver 6292204e94 Implement C++ registry to back Python target.generic_func (#892) 2018-03-19 00:17:25 -07:00
Salem Derisavi 893a2ae762 file include/tvm/logging.h from AutoTensorize work (#1015) 2018-03-16 18:09:38 -07:00
nhynes bfceafc7b4 Pluggable Thread Launching Mechanism (#991) 2018-03-15 19:06:46 -07:00
Ding 34e31c4439 [PASS] Add VerifyMemory pass and test cases (#410) (#993) 2018-03-13 08:52:21 -07:00
Tianqi Chen df1b4f6461 [IOS] Improve the iOS RPC with exclusive filesys lock (#981) 2018-03-09 11:12:57 -08:00
libing4752 38274115a9 enhance access_ptr that args can support Expr (#970) 2018-03-07 20:04:21 -08:00
Chris Nuernberger b1ffac4434 [RUNTIME] Stream API (#953) 2018-03-02 11:59:22 -08:00
Yige Hu ca8e31ff18 Fixed a g++ explicit constructor compatibility error for unordered_set. (#935)
* Fixed a g++ explicit constructor compatibility error for unordered_set.

* Change std::unordered_set<std::basic_string<char>>() to
std::unordered_set<std::string>().
2018-02-27 15:14:58 -08:00
nhynes f4b063e927 TVM SGX (#919)
* Update DMLC core most recent version

* Modify runtime to minimize io when building for SGX

* Add SGX example app

* Prefer streaming versions of packed_func function
2018-02-27 11:36:57 -08:00
Tianqi Chen d99bcaf156 [EXT] Allow easy extraction of extern module (#926) 2018-02-23 10:24:17 -08:00
Tianqi Chen 433756b9fd Revert "[RUNTIME] Refactor extension type handling, now it is header only (#924)" (#925)
This reverts commit 12d15704d7f5d30cff7540f1fd16be64c6baca68.
2018-02-22 20:18:08 -08:00
Tianqi Chen a6b4a219e2 [RUNTIME] Refactor extension type handling, now it is header only (#924)
* [RUNTIME] Refactor extension type handling, now it is header only
2018-02-22 18:26:32 -08:00
libing4752 61cdf903dd [SCHEDULE] Add factor_axis to rfactor (#895) 2018-02-22 09:28:23 -08:00
alex-weaver 523b6a6bec Convert BuildModule to use TVM node system (#879)
* Make python BuildConfig serializable/deserializable to/from string

* Make C++ BuildConfig serializable/deserializable to/from string

* Revert "Make python BuildConfig serializable/deserializable to/from string"

This reverts commit a5e1fb3ff63a161cc0d63475d2a32816cc4c3666.

* Revert "Make C++ BuildConfig serializable/deserializable to/from string"

This reverts commit ec0c2c54543050fe6f264d06eebff33dee70370b.

* Converted BuildConfig to use TVM node system

* Fix lint

* Fix lint

* Added code to set node attributes through the C API

* Fixed bug in build_config()

* Fix lint

* Fix lint

* Fix test errors

* Reduced scope of node __setattr__ to apply only to BuildConfig

* Fix lint

* Fix lint

* Changed python BuildConfig to be immutable, with values set once on construction.

* Fix lint

* Fix C++ test

* Fixed BuildConfig setting python-side args

* Fix lint

* Removed dependency on reflection.cc to construct BuildConfig (allow use in runtime library)

* Fix lint

* Revert "Fix lint"

This reverts commit 16ed6d7a1ca5e551b035bad46e8361ea487cd45b.

* Revert "Removed dependency on reflection.cc to construct BuildConfig (allow use in runtime library)"

This reverts commit 43817c97a2ee045791e0c031d962fa97636ce8f6.

* Avoid accessing BuildConfig when using runtime lib

* Fix missing import

* Fix error running under cython (root cause: node handle is not valid until after __init__ has returned, so cannot call __dir__ during __init__

* Fix error where BuildConfig._node_defaults was not copied in build_config()

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Add comments to python BuildConfig
2018-02-10 12:39:34 -08:00
Zhixun Tan 0a410a39dc [WIP] Add OpenGL topi. (#836)
[TOPI][GL] OpenGL topi.
2018-02-07 12:57:00 -08:00
Lianmin Zheng d56c777af8 support to keep trivial loops with extent of 1 (#877) 2018-02-06 09:23:19 -08:00
Tianqi Chen 79d503fd3b [BACKEND] Vulkan Runtime and SPIRV Codegen (#861)
* [BACKEND] Vulkan Runtime and SPIRV Codegen

* fix doc
2018-02-01 22:24:57 -08:00
alex-weaver f280f23a3d Porting schedules (except convolutions) to C++ (#763)
* Ported injective schedules to C++. Added some elementwise ops.

* Fix lint errors

* Added reduction ops and schedules

* Fix lint errors

* Fix lint errors

* Fix lint errors

* Added transform ops

* Fix lint errors

* Fix lint errors

* Added softmax, log_softmax, leaky_relu and flatten ops.
Fixed issue where TVM_DECLARE_INTRIN_UNARY used the PureExtern flag
instead of PureIntrinsic.
Added softmax CUDA schedule.

* Fix lint

* Fix lint

* Added binary_dense, batch_norm_inference, dense, dilate, scale_shift_*,
global_pool and pool ops.
Extended pad to allow specifying pad_value.
Fixed issue where pad would throw if padding was zero in all dimensions.

* Fix lint

* Fix lint

* Added CUDA schedules for dense, pool and global_pool

* Added extern schedules for generic and CUDA

* Fix lint

* Added x86 binary schedules

* Fix lint

* Added rocm dense schedule. Added rocBLAS and cuBLAS support to dense ops

* Added pow ops. Added x86 default and injective schedules

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix indent

* Removed schedules directory

* Changed left_shift, right_shift to operators. Changed pad_value in pad() to remove pointer usage

* Fixed usage of pad in nn/pooling.h. Fixed declaration of operator>>

* Fixed comments for shift operators

* Added comments to utility functions

* Added TOPI C++ library, exporting broadcast_add op

* Fix lint

* Share libinfo.py with TVM

* Fix lint

* Add other broadcast ops

* Fix lint

* Fix imports in topi

* Fix lib names

* Fixed build issue where windows builds don't apply correct definitions

* Removed TVM_EXPORTS from topi library

* Attempted CI build fix

* Add topi lib to tvm_multilib

* Fix Jenkinsfile

* Added TOPI build target to Makefile

* Fix nn op namespaces.

* Fix lint

* Renamed TOPI lib to libtvm_topi

* Removed _ffi/base.py

* Remove _ffi from topi, now shared with tvm.

* Make libtvm_topi loading optional

* Fix compiler warnings

* Fix lint

* Fix lint

* Fix lint

* Fix build error by making new libs argument to Target optional

* Added C++ Target type interop. Added registration of remaining C++ ops and schedules. Added test of broadcast ops

* Fix lint

* Fix lint

* Fix compile error

* Fix compiler warnings

* Fix compiler warnings

* Fixed int vector interop. Fixed argmin incorrectly invoking argmax. Fixed corner case in default schedules of attempting to fuse 0 length axes. Added tests for reduce ops.

* Refactored reduce builders

* Fixed typos in topi.cc. Added basic test.

* Fixed padding size error. Added dense, dilate, pooling tests

* Fixed issue where clip would output a different dtype to the input. Added split_sections op to cover the other mode of the python split op. Added tests.

* Changed extension type numbers to avoid clash with NNVM

* Fix lint

* Fix compiler warnings

* Removed use of std::vector from the public TOPI API

* Fix lint

* Add TOPI C++ tests to CI

* Fixed detail namespacing. Improved comments.
2018-01-27 21:57:13 -08:00
Zhixun Tan 944de73b4b Add type code and bits to AllocWorkspace. (#831) 2018-01-27 21:50:52 -08:00
kun-zh 293dac397b support using pointer with an original offset (#826)
* when there is no intrin func, using body for initialization. For issue 714.

* Refine code per review comments, and add a test case.

* Fix lint issues.

* Re-organize the tensorize test cases, and add a new case for none-reset
mode.

* Fix a typo.

* Delete the unit case because merged it into test_schedule_tensorize.py already.

* always use new tensor in its stage when rewrite for cache read

* revert previous changes to sync up with master

* support using the ptr with an original offset

* update test case and fix CI error
2018-01-27 09:10:42 -08:00
Zhixun Tan 589831df65 [WIP] WebGL Backend (#672)
Basic WebGL Backend
2018-01-20 13:51:34 -08:00
Jammy Zhou ebf4e5a32c Additional mali target support (#794)
* Add Mali target support to tvm.target.create

* Add Mali target support in codegen
2018-01-19 09:40:05 -08:00
Tianqi Chen 2ff7431775 [PASS] StorageRewrite Fold Inplace op storage when possible (#759)
* [PASS] StorageRewrite Fold Inplace op storage when possible

* update comment to fix typos
2018-01-07 16:46:01 -08:00
xqdan 5f1816dbdd enable partition const loop with build flag (#732)
* [SCHEDULE]enable partition const loop with build flag (#719)

    * enable partition loop with build flag

    * add a testcase, and modify LoopPartition related cases

*     * add document for split_const_loop
2017-12-29 16:56:27 +08:00
Tianqi Chen 89b8456eff [CODEGEN] enable static handle cache (#723) 2017-12-24 18:06:01 +08:00
Andrew Adams bb97938df8 Halide -> HalideIR (#698) 2017-12-18 07:52:48 +08:00
alex-weaver 17e7e3d50a Port build_module.py to C++ (#667)
* Port build_module.py to C++

* Fix lint errors

* Fix more lint errors

* Fix more lint errors

* Fix more lint errors

* Fix build error

* Implemented style fixes

* Fix lint errors

* Added function to construct target from string
lower now returns array

* Fix lint error

* Implemented review changes - style & Target options -> std::vector

* Fixed lint, argument alignment and added unit test

* Changed test to target LLVM, fixed sign compare warnings

* Reverted unit test to CUDA, changed Jenkinsfile to enable GPU for C++ tests

* Slight change to Jenkinsfile

* Changed build_module test from CUDA to LLVM

* Added function var() to construct a Var instance.
Changed implementation of LLVMEnabled()

* Reverted Jenkinsfile
2017-12-05 12:06:46 -08:00
Tianqi Chen f2b913925d Support rank-0 tensor (#687)
* Support rank-0 tensor

* fix lint
2017-12-03 22:38:28 -08:00
solin319 e1b2c02f00 fix parameter name in UnrollLoop (#679)
In unroll_loop.cc the parameter name is "auto_max_depth", but in ir_pass.h the parameter name is "auto_min_depth"
2017-11-30 09:37:11 -08:00
Tianqi Chen 2bb1d8e458 [ARITH] Upgrade CanonicalSimplify to Simplify Mod (#676) 2017-11-28 13:26:17 -08:00
Tianqi Chen 9c0da90fb1 [PASS/SETUP] Fix minior issues (#663)
* [PASS/SETUP] Fix minior issues

* fix lint
2017-11-21 11:11:41 -08:00
Tianqi Chen a2aa154cfe [UNROLL] New unroll option (#647) 2017-11-14 15:01:15 -08:00
eqy cedd390062 Support vector operations for AMD (llvm IR) (#623)
* Support vector operations for AMD (llvm IR)

* fix whitespace

* update comments, docstring
2017-11-08 15:47:07 -08:00
Tianqi Chen 8214d6ca8e [DLPack] Upgrade dlpack to 0.2 (#609) 2017-11-03 15:55:17 +08:00
Tianqi Chen acd48e9ade [RUNTIME] Enable ext_dev type for quick plugin of device (#542)
* [RUNTIME] Enable ext_dev type for quick plugin of device

* [TEST] Update testcase to cover all computation
2017-10-11 17:09:20 -07:00
Tianqi Chen 581509ab4b [PASS] copy intrin (#536)
* [PASS] copy intrin

* update comment thanks to derisavi
2017-10-11 10:07:22 -07:00
Tianqi Chen 65038950b4 [ARITH] Improve detect linear equation (#529)
* [ARITH] Improve detect linear equation

* fix doc
2017-10-10 09:48:36 -07:00
Tianqi Chen 4865f95830 [BUILD] Windows support of DLL exports (#522) 2017-10-08 15:28:36 -07:00
Tianqi Chen c468558ef9 [CUDA] auto detect compatibility when arch is not passed (#490) 2017-09-25 17:38:17 -07:00
Tianqi Chen acd9db843f [BASE] Make macro namespace angostic (#480) 2017-09-23 17:51:24 -07:00
Tianqi Chen cd623f43ea [TEST] rfactor+ewise, cite rfactor paper (#474)
* [TEST] rfactor+ewise, cite rfactor paper

* include all authors via abbrv

* [TOPI] Add transpose

* fix lint
2017-09-22 21:30:46 -07:00
Tianqi Chen fe564d9037 [RPC] Include rpc session info into context (#458)
* [RPC] Include rpc session info into context

* add type checker in return converison
2017-09-17 19:05:55 -07:00
Tianqi Chen f2ab736b61 [RUNTIME] Enable extension type to PackedFunc. (#447)
* [RUNTIME] Enable extension type to PackedFunc.

* More comments
2017-09-11 17:29:18 -07:00
Tianqi Chen 400c1c483e [SCHEDULE] Enhance cache_write to enable layout change. (#432)
* [SCHEDULE] Enahance cache_write to enable layout change.

* more tests
2017-09-07 15:50:25 -07:00
Tianqi Chen adf39837aa [PASS] Improve double buffer (#413) 2017-09-02 22:49:08 -07:00
Tianqi Chen 5072efaeca [PASS] Improve vthread injection. (#411) 2017-09-02 21:16:57 -07:00
Tianqi Chen a45d3b01f7 [PASS] InjectDoubleBuffer (#405) 2017-08-31 18:28:24 -07:00
ziheng 50c7a01b30 [submodule] update dlpack (#403) 2017-08-31 08:58:23 -07:00
Tianqi Chen 4578048ce1 [PASS] IRTransform to enable IR pass proptype in python (#401) 2017-08-30 16:01:35 -07:00
Tianqi Chen 8ef266063f [SCHEDULE][PASS] support storage_align of certain axis (#400)
* [SCHEDULE][PASS] support storage_align of certain axis

* fix lint
2017-08-30 13:11:18 -07:00
Tianqi Chen ad8733ea14 [DOCS][APP] Add Example for C++ deployment (#398)
* [DOCS][APP] Add Example for C++ deployment

* fix lint
2017-08-30 08:50:36 -07:00
Aditya Atluri 90809381e1 [RUNTIME] v2: runtime support for rocm (#386)
* v2: runtime support for rocm

* fixed coding space errors

* removed kROCM from c_runtime_api.h
2017-08-25 17:00:29 -07:00
Tianqi Chen 090468aa53 [PASS] RewriteUnsafeSelect lowers unsafe select to condition expr (#335) 2017-08-15 22:32:43 -07:00
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 79e482bc5a [PASS] Memory barrier detection, storage access lower. (#317) 2017-08-13 11:35:50 -07:00
Tianqi Chen b40d43c479 [PASS][RUNTIME] Support attr scope lift and runonce (#303) 2017-08-08 15:21:37 -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
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
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
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
William Moses cf2f5197d9 Fix issue relating to serialization of reducer (#282) 2017-07-31 09:01:21 -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
Jian Weng 01cbc61a89 [API] Prefetch schedule supported (#258)
* prefetch interface added

* prefetch python comments modified. prefetch info data structure maintained.

* start injecting prefetches. first step (domain touch) implemented.

* domain touch tested.

* Prefetch ir_mutator and ir_visitor dispatch registered.

* modify domain touched from passing a func_ref to passing a tensor

* modify domain touched from passing a func_ref to passing a tensor

* modify Tensor copy to Tensor ref

* temp commit for rebase

* debug info removed, typo fixed, ready to rebase

* prefetch flatten test add!

* roll back builtin functions to side effect functions

* lint error fixed!

* add cache line size to storage flatten argument

* forgot modifications add

* change code style to dmlc-like; get rid of can_prove, use manually compute instead

* python lint error fixed

* modify instrinsic name to pass tests

* [TEST] get rid of str(), replace them by accessing attributes

* change map to list comprehension

* redundant numpy import removed
2017-07-18 09:40:54 -07:00
Tianqi Chen 8e51af2f94 [PASS] CombineContextCall (#255) 2017-07-16 22:48:31 -07:00
Tianqi Chen f433373de4 [CODEGEN] Generate main compute function separately with alias info (#253) 2017-07-16 14:16:09 -07:00
Tianqi Chen 3f3bf29d5a [DOC] Make range related function consistent (#249) 2017-07-15 10:43:20 -07:00
Tianqi Chen 86ff24abb5 [DOC] Fix doxygen comments (#247) 2017-07-14 17:33:40 -07:00
Tianqi Chen c324494f1a [RUNTIME][RPC] Change RPCServer to Event Driven Code (#243)
* [RUNTIME][RPC] Change RPCServer to Event Driven Code

* fix
2017-07-13 18:44:33 -07:00
Tianqi Chen 0a07411d54 [JS][WEB][BACKEND] Javascript(webassembly) backend. (#239) 2017-07-10 18:23:47 -07:00
Tianqi Chen adc06e6fbb [RUNTIME][ABI] Remove TVMValue as argument, use address (#236) 2017-07-09 18:02:56 -07:00
Tianqi Chen cd29c18c34 [RUNTIME][ABI] Flat structure arguments (#232) 2017-07-08 16:26:36 -07:00
Tianqi Chen 9d84cb0777 [RUNTIME] Add workspace pool (#229)
* [RUNTIME] Add workspace pool

* fix doc

* fix the free list

* avoid zero size
2017-07-07 23:19:57 -07:00
Tianqi Chen 72fcd4e6ee [RUNTIME] Add System Lib (#227)
* [RUNTIME] Add System Lib

* lint

* lint

* fix compile
2017-07-07 12:16:37 -07:00
Tianqi Chen 825566ccff [SCHEDULE] tensorize (#223) 2017-07-06 13:56:39 -07:00
Tianqi Chen 28120f554c [C API] Make DSL API registerable, add copy from/to raw bytes (#222)
* [C API] Make DSL API registerable, add copy from/to raw bytes

* fix cython
2017-07-06 11:34:08 -07:00
Tianqi Chen 0a19b16ac0 [CODEGEN/PASS] add restricted, alignment option (#221)
* [CODEGEN/PASS] add restricted, alignment option

* fix lint

* Fix the alloca
2017-07-05 23:21:42 -07:00
Tianqi Chen 00506a62e7 [IR] Add body to AssertStmt (#220)
* [IR] Add body to AssertStmt

* fix lint
2017-07-05 17:55:34 -07:00
ziheng c9da7254ba [TAG] Add tvm.tag module for tagging operator (#217)
* [TAG] Add op_tag module for tagging operator

* Fix accroading to comments

* Add example

* Add into doc

* Add --fix-missing for docker
2017-07-04 22:27:48 -07:00
Tianqi Chen 8a66ac230f [PASS/OP/REFACTOR] IRDeepCompare, isolate computeop part, allow fuzzy bind (#218) 2017-07-04 21:53:15 -07:00
Tianqi Chen 4bb3c35a05 [REFACTOR/PASS] Formalize argument bind and match util (#214)
* [REFACTOR/PASS] Formalize argument bind and match util

* grammar
2017-07-04 10:30:24 -07:00
Tianqi Chen 34d2aae351 [BUFFER/REFACTOR] Buffer byte_offset-> elem_offset, add buffer_bind_scope (#209) 2017-07-03 14:13:52 -04:00
Tianqi Chen 5a7a056c3c [LANG/BUFFER] Change buffer arguments to match DLPack order, add scope (#203) 2017-06-30 10:34:07 -04:00
ziheng 29d5ffbbbe [INTRINSIC] Add sqrt (#202)
* [INTRINSIC] Add sqrt

* [INTRINSIC] Expose on cpp
2017-06-27 19:53:57 -04:00
Tianqi Chen 3cad2478f1 [OP] Initial Stucture of Op Library (#198)
* [OP] Initial start of op library

* add gtest
2017-06-23 17:34:12 -07:00
Tianqi Chen 1400edac33 [IR] Include PrefetchIR (#189) 2017-06-18 21:53:13 -07:00
Tianqi Chen 5445061469 [CODEGEN] More storage alignment info aware generation (#186)
* [CODEGEN] More storage alignment info aware generation

* fix

* fix

* fix warning
2017-06-17 19:00:47 -07:00
Tianqi Chen 3b8e70ae03 [RUNTIME] Move device_api to include (#185)
* [RUNTIME] Move device_api to include

* fix doxygen

* fix device api

* fx
2017-06-16 18:10:15 -07:00
ziheng f467f66e32 Support for Tuple Inputs of Reducer and ComputeOp (#175)
* Support for batch ComputeOp

* Support for batch ComputeOp

* Fix CrossThreadReduction

* Fix lint

* Add UpdateArray, remove support for batch reduce

* Tuple input support for reduce

* rfactor works with multiple reducer; support multiple reducers with different types

* Small fix

* Small fix

* Change return type of rfactor to Array<Expr>

* Fix lint

* Improve

* Add tutorial

* Improve tutorial

* Improve tutorial
2017-06-10 23:28:52 -07:00
Tianqi Chen ef50162b95 [MODULE/RUNTIME] Remove Precompile, simplify module (#174) 2017-06-05 22:00:22 -07:00
ziheng 84aeaf4803 Change Schedule Array constructor to static make method (#170)
* Change Schedule Array constructor to static make method

* Add CreateSchedule

* Add doc

* Change CreateSchedule to create_schedule at cpp side
2017-06-04 17:34:14 -07:00
Tianqi Chen 3bf7246929 [BUILD/CODEGEN] Allow combine multiple functions in build stage. (#169)
* [BUILD/CODEGEN] Allow combine multiple functions in build stage.

* Enhance code module

* fix compile
2017-06-04 15:47:18 -07:00
Tianqi Chen 46b4a91404 [PASS] Refactor build config, allow implicit unroll pragma (#167) 2017-06-02 11:32:53 -07:00
Tianqi Chen 134c6ba335 [RUNTIME] RPC runtime that support run testing on remote device. (#147)
* [RUNTIME] RPC runtime that support run testing on remote device.

* Fix ctypes in OSX.

* fix lint
2017-05-20 09:05:12 -07:00
Hu Shiwen b47a12489c fix TVMRetValue move constructor not clear old value (#144)
* fix TVMRetValue move constructor not clear old value lead to repeat delete

* fix
2017-05-17 22:21:50 -07:00
ziheng 971e76713f Fix build status (#145) 2017-05-17 10:10:11 -07:00
Tianqi Chen c89cd59a87 [MODULE/DSO] Support pack everything into one shared library. (#133)
* [MODULE/DSO] Support pack everything into one shared library.

* fix osx load
2017-05-08 22:19:20 -07:00
Tianqi Chen bf8a5c07de [SCHEDULE] Add store_predicate (#131) 2017-05-08 09:20:56 -07:00
ziheng 2112a1f923 [FIX] Miss kUInt in TypeCode2Str & dir method (#130)
* [FIX] Miss kUInt in TypeCode2Str & dir method

* [FIX] Add regression test
2017-05-07 18:24:41 -07:00
Tianqi Chen be1a29edb2 [CMAKE] Windows support upgrade (#125)
* [CMAKE] Windows support upgrade

* Fix lint
2017-05-06 19:48:10 -07:00
Tianqi Chen f364d563c2 [CONTRIB/BLAS] Add CBLAS Example to contrib (#120)
* [CONTRIB/BLAS] Add CBLAS Example to contrib

* Update makefile
2017-05-05 10:55:34 -07:00
Tianqi Chen 330d49f81c [IR] Update new version of HalideIR (#116) 2017-05-04 12:15:02 -07:00
ziheng d3c8256b5a Fix comment (#115) 2017-05-03 10:31:53 -07:00
Tianqi Chen 706f9b6f7e [CODEGEN/RUNTIME] Metal support, runtime improvement. (#111)
* [CODEGEN/RUNTIME] Metal support, runtime improvement.

* Fix case when no device is available
2017-05-02 10:14:45 -07:00
Tianqi Chen 9ba40dc0fe [CODEGEN/PASS] Improve callpacked lowering, allow pass array callback. (#110)
* [CODEGEN/PASS] Improve callpacked lowering, allow pass array callback.

* fix cython
2017-04-29 19:43:04 -07:00
ziheng d45b6d4b84 [DOC] Add intro to 'comm_reducer' in tutorial; fix doc (#108)
* [DOC] Add intro to 'comm_reducer' in tutorial; fix doc

* Fix

* Fix
2017-04-29 14:39:24 -07:00
Tianqi Chen 535a97c968 [PYTHON/FFI] Enable Cython FFI (#106)
* [PYTHON/FFI] Enable Cython FFI

* fix cython
2017-04-27 15:20:29 -07:00
ziheng 26d91985c0 [LANG] CommReducer (#103)
* [LANG] CommReducer

* Reorganize c_api

* Remove InitValue and Combine; refactor Functor

* Make CommReducer an Expr

* Make comm_reducer type independent

* Make CommReducerNode a Node

* Small fix

* Refine

* Refine front api; add integration testcases for min/max

* Fix python

* Refine

* Fix lint and add example
2017-04-26 15:22:59 -07:00
Tianqi Chen e4c746684d [PASS] StorageRewrite, Memory optimization pass as in NNVM. (#104)
* [PASS] StorageRewrite, reuse memory pass as in NNVM.

* fix issue
2017-04-25 13:58:45 -07:00
Tianqi Chen d17b10f0de [LANG/CODEGEN] Intrinsics and Extern Math (#101)
* [LANG/CODEGEN] Intrinsics and Extern Math

* fix lint
2017-04-22 09:08:47 -07:00
Tianqi Chen 181edb4aae [LANG] Change namespace convention to dot (#100) 2017-04-21 09:47:30 -07:00
Tianqi Chen 3b8ad0a228 [SCHEDULE] Normalize returns a new schedule (#94) 2017-04-17 18:03:12 -07:00
Tianqi Chen 4d2809058c [PERF] Persitent kernel (#87)
* [PERF] Persitent kernel

* fix doc
2017-04-14 22:06:41 -07:00
Tianqi Chen 8f51c5fd79 [SCHEDULE] Add group, refactor thread bind api. (#82)
* [SCHEDULE] Add group, refactor thread bind api.

* fix doc

* fix g++-4.8

* More testscase

* Remove graph context from fix pt analysis
2017-04-08 23:31:52 -07:00
Tianqi Chen 54593ca1cc [LANG/GPU] Cross Thread Reduction (#79)
* [LANG/GPU] Cross Thread Reduction.

* Fix doxygen error

* Upgrade verilog testcase to new one
2017-03-31 21:47:54 -07:00
Tianqi Chen 6d79877863 [LANG/SCHEDULE] Reduction factor, predicate in reduction. (#77) 2017-03-29 11:34:56 -07:00