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

556 Коммитов

Автор SHA1 Сообщение Дата
Jared Roesch 51fe00fb90 [High level OPT][RFC] NNVMv2 IR - Relay (#1672) 2018-09-19 15:55:12 -07:00
Tianqi Chen a6724b6e6b
[NODE] Enable EnvFunc to serialize global function as node (#1721) 2018-09-15 13:32:30 -07:00
Tianqi Chen 10ae8ee1c0
[RUNTIME] Support TVMContext (#1720) 2018-09-14 10:59:22 -07:00
Siva 5cbcf2f50b [RUNTIME][API] Graph runtime API enahncement to support NDArray (#1659) 2018-09-11 14:24:58 -07:00
Siju b27a9a7ea3 Documentation issues (#1702) 2018-09-09 21:29:23 -07:00
Alexander Pivovarov ab4946c8b8 Add dist to python/.gitignore (#1691) 2018-09-07 09:11:00 -08:00
Lianmin Zheng a57b5493df [AUTOTVM][TOPI] Use tunable templates for GPU (CUDA/OpenCL/ROCm/Mali) (#1638) 2018-09-06 09:33:37 -08:00
Liangfu Chen d87c94d475 [Sparse] add sparse tensor computation support (#1289) 2018-09-06 09:29:47 -08:00
Jian Weng d173e6374b [Tutorial] tutorial to writing a costumized pass (#1671) 2018-09-04 21:45:17 -08:00
Tatsuya Nishiyama 4c4a8ea47b [CUDA][TVM] fix constructing invalid command line string for nvcc (#1674) 2018-08-31 21:02:55 -08:00
Lianmin Zheng 12839e6d2b [AUTOTVM] Decouple build and run in measurement (#1661) 2018-08-28 21:56:49 -08:00
Jian Weng 1d7c52f2b2 add docstring skip in hybrid script (#1668)
* add docstring skip in hybrid script

* fix lint
2018-08-27 13:33:27 -07:00
MORITA Kazutaka a03c60ba1c [CODEGEN][AOCL] Add math intrinsic rules (#1653)
* [CODEGEN][AOCL] Add math intrinsic rules

* introduce aocl_emu target for AOCL emulation

* rename aocl_emu with aocl_sw_emu

* update docs
2018-08-25 01:05:06 -07:00
Lianmin Zheng a1688998f8 improve text summary (#1655) 2018-08-24 09:37:05 -07:00
Lianmin Zheng 771d895d22 [AUTOTVM] Fix local executor (#1651)
The old queue size is too small. It will stall the executor due to race condition.
2018-08-23 19:37:03 -07:00
Tianqi Chen 6eecec92d1
[PYTHON] Enable constructors in Node (#1647) 2018-08-23 16:28:46 -07:00
Tianqi Chen 56ab0adbe6
[RUNTIME][PYTHON] Switch to use __new__ for constructing node. (#1644) 2018-08-23 08:28:55 -07:00
Lianmin Zheng cfafd212c0 [AUTOTVM] Simplify TopHub (#1630) 2018-08-22 20:21:15 -07:00
Lianmin Zheng b7beb1ebef [AUTOTVM] Allow fallback for template & Fix bugs in tuners (#1615)
* support fallback & fix bugs in tuners & clean topi test

* update task extraction

* update task extraction

* fix arm tutorial

* Update tune_nnvm_arm.py
2018-08-21 18:35:32 -07:00
Tianqi Chen 7cb85d8196
[VERSION] Update to 0.5.dev (#1623)
* [VERSION] Update to 0.5.dev

* Update the docs to include all intrins
2018-08-20 16:28:28 -07:00
Tianqi Chen 20c495e95b
[NODEREF] Introduce named attribute system. (#1618) 2018-08-20 09:20:19 -07:00
Lianmin Zheng e282915a9c add -mattr=+neon for all arm cpu target (#1612) 2018-08-16 16:37:03 -07:00
Lianmin Zheng 7751a6babc [AUTOTVM] Fix GATuner and improve error message (#1605) 2018-08-15 15:34:05 -07:00
Tianqi Chen 19cf5c66ad
[DLPACK] Enable cython support (#1589) 2018-08-11 15:31:15 -07:00
Tianqi Chen ec3f09b30e
[RUNTIME] Refactor to enable stackvm in runtime. (#1588) 2018-08-11 09:15:05 -07:00
eqy f52255b9b5 DLPack Conversion API (#1573) 2018-08-10 15:02:10 -07:00
Lianmin Zheng 48ff777aa3 [AUTOTVM] API change (#1583) 2018-08-10 11:45:09 -07:00
Dayananda V 2afe024809 Vulkan TVM Android Support (#1571) 2018-08-09 18:41:49 -07:00
Lianmin Zheng 672147c8e1 add conv2d transpose and fix bugs (#1566) 2018-08-09 11:17:37 -07:00
Lianmin Zheng 136061dcdc [AUTOTVM] Improve tutorial and logging (#1544) 2018-08-03 16:43:16 -07:00
Lianmin Zheng 9e33774664 fix dependenci and improve doc (#1535) 2018-08-03 14:47:22 -07:00
Lianmin Zheng 32076df815 [AUTOTVM] TOPI integration for ARM CPU (#1487) 2018-08-02 08:59:25 -07:00
TABATA, Keiichi 14142a8142 Add initial support for Intel FPGA SDK for OpenCL (AOCL) (#1474) 2018-07-31 09:58:59 -07:00
Tianqi Chen f7d05b7ce2 [CODEGEN] Enable inline llvm asm code (#1486) 2018-07-25 09:30:23 -07:00
Meghan Cowan 36d3a41e3d [TOPI] Bitserial low-precision convolution (#1332) 2018-07-22 21:56:11 -07:00
Lianmin Zheng ad28f5ca3e [AUTOTVM] Misc bug fix (#1467) 2018-07-21 10:11:05 -07:00
Tianqi Chen 9026f3fcd4 Revert "[FRONTEND] [HYBRID] Augmented assign operator supported! (#1459)" (#1466)
This reverts commit 33245b8c09009fa2c080e1f42e786ede745de963.
2018-07-20 17:06:57 -07:00
Jian Weng b8fedfb14c [FRONTEND] [HYBRID] Augmented assign operator supported! (#1459) 2018-07-20 16:03:21 -07:00
Tatsuya Nishiyama 30409045e4 [CUDA] FP16 support (#1413) 2018-07-19 20:40:15 -07:00
Tatsuya Nishiyama 3d0d96c81e Fix runtime error on osx (#1449) 2018-07-18 20:59:37 -07:00
Tianqi Chen 72fa4c1d93 [NODE][REFLECTION] Support NDArray as field (#1452) 2018-07-18 16:18:58 -07:00
MORITA Kazutaka 00c87b376d [CODEGEN][SDACCEL] add support for specifying FPGA device name (#1448) 2018-07-18 09:06:08 -07:00
abergeron 2a1c2ba9bc Fix conda package builds (#1445) 2018-07-17 13:45:08 -07:00
MORITA Kazutaka 12cf343abf [RUNTIME][SDACCEL] Add support for multiple kernels (#1424) 2018-07-14 14:14:46 -07:00
Pariksheet Pinjari 1fb2d7e22e Add support for absolute opeartion (#1406) 2018-07-13 09:49:49 -07:00
Lianmin Zheng 6ea74d4119 [AUTOTVM] Core part of auto-tuning module (#1312) 2018-07-12 16:54:15 -07:00
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
Tianqi Chen 81db22c56a [RPC] graduate tvm.contrib.rpc -> tvm.rpc (#1410) 2018-07-09 15:23:41 -07:00
MORITA Kazutaka cb68c82c7e Add support for multiple OpenCL platforms (#1345) 2018-07-09 09:41:33 -07:00
nhynes e1283ff5e3 Add normal distribution to random engines (#1352) 2018-07-05 20:05:16 -07:00
Tianqi Chen 15d5801f3e [PYTHON] Make decorator optional for runtime (#1350) 2018-06-27 19:50:30 -07:00
MORITA Kazutaka ca2ad6d427 Add support for Xilinx FPGA board with SDAccel (#1278) 2018-06-26 09:07:36 -07:00
Jian Weng d29b1c9e12 [FRONTEND] [HYBRID] Non-zero starting supported; Buffer AttrStmt add! (#1330) 2018-06-25 16:08:42 -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
Jian Weng a83e1e1eff Import hybrid module in __init__.py (#1323) 2018-06-23 08:57:09 -07:00
Tianqi Chen db4be63c51 [TOPI] Numpy consistency: always broadcast binary op. (#1321) 2018-06-22 16:49:07 -07:00
Jian Weng 90db723d28 [FRONTEND] A Python hybrid frontend (#1251) 2018-06-22 13:47:45 -07:00
Thierry Moreau a55bc2907a moving module import inside of download function (#1319) 2018-06-22 12:09:05 -07:00
Leyuan Wang 396bd5623b [TOPI] Conv2d Added and Optimized for Intel HD Graphics (#1290) 2018-06-22 11:46:47 -07:00
Thierry Moreau baa04599da [CONTRIB] TVM download utility based on urllib2/urlib.request (#1313)
moving nnvm/testing/download.py to python/tvm/contrib/download.py to be used as a general TVM download utility
2018-06-21 15:39:43 -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
eqy f969a68972 fix lint (#1284) 2018-06-14 14:58:18 -07:00
eqy d3c92aeb2a fix proxy registration with tracker (#1283) 2018-06-14 14:00:17 -07:00
Lianmin Zheng d0eb2d3dbc Add silent mode to rpc server and rpc tracker (#1268) 2018-06-12 19:18:15 -07:00
Tianqi Chen dc6203c2e6 [INTRIN] Add support for floor and ceil (#1267) 2018-06-12 13:31:16 -07:00
eqy 5ba24773d6 support custom IP address from rpc server to tracker (PUT) (#1243) 2018-06-07 21:32:37 -07:00
Leyuan Wang dcf18a3c20 [RPC] default use spawn for fork safety (#1240) 2018-06-06 22:52:03 -07:00
Tianqi Chen f9965c18cc [DOCS] Detailed contributor guide, doc refactor (#1220) 2018-06-01 16:38:58 -07:00
tqchen 42608ddafb [IO] Support cross-endian 2018-05-30 22:27:44 -07:00
tqchen 5195679c5c [DOCS] Improve docs naming, fix docs warnings 2018-05-29 08:47:00 -07:00
Tianqi Chen 05e806e033 change version number (#1175) 2018-05-21 15:57:31 -07:00
Leyuan Wang 9e1966b7ef barrier fence added for warp mem (#1174) 2018-05-21 15:44:04 -07:00
Tatsuya Nishiyama aede482089 Fix error during running on nvptx with cuda9 (#1162) 2018-05-15 16:16:25 -07:00
Yao Wang 3d74b48f45 Add ssd op with ir builder (#1095) 2018-05-12 08:56:35 -07:00
Tianqi Chen 396393c2a5 [APP] ROCM RPC (#1155) 2018-05-10 20:24:35 -07:00
Tianqi Chen 51c40b4f8b [CODEGEN] Enable cross compile of AMDGPU without rocm, update rpc (#1154) 2018-05-10 19:27:55 -07:00
Tianqi Chen 240be55b23 [DOCS] API doc update (#1136) 2018-04-27 17:59:11 -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
Tianqi Chen a20c741bf5 pickle memoize no longer print message (#1111) 2018-04-14 20:13:10 -07:00
Tianqi Chen 47ed25e8b9 Remove cython init messaging. (#1110) 2018-04-13 20:06:08 -07:00
Tianqi Chen 38e723b1e2 [RPC] Fix tracker fault handling (#1109) 2018-04-13 18:36:33 -07:00
Tianqi Chen b3f09b019e [RPC] LocalSession to provide RPCSession back by local env (#1102) 2018-04-12 17:23:20 -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
Tianqi Chen 1418134003 [RPC] More robust tracker protocol (#1085)
* [RPC] More robust tracker protocol

* fix normal rpc
2018-04-06 14:18:44 -07:00
Lianmin Zheng 2e17e85005 add query for shared memory size (#1083) 2018-04-06 10:11:47 -07:00
Tianqi Chen 3d67ea17d2 [RPC] support tracker in proxy (#1082) 2018-04-05 21:44:07 -07:00
Tianqi Chen 79fc66724d [RPC] Tracker status query (#1081) 2018-04-05 13:47:48 -07:00
Tianqi Chen 6bd8dbc764 [RPC] Refactor, introduce tracker (#1080)
* [RPC] Refactor, introduce tracker

* [RPC] Change RPC hand shake convention, always get remote key.

* fix lint
2018-04-04 20:40:41 -07:00
Lianmin Zheng 9fb260568d mix fix (#1079) 2018-04-04 14:31:24 -07:00
alex-weaver aaf7ff04e3 Move BuildConfig context stack to C++ (#1025) 2018-04-01 10:42:54 -07:00
Lianmin Zheng 8065f2e078 support string option when create cuda/rocm/... target (#1071) 2018-03-31 15:48:05 -07:00
Tianqi Chen c29205da87 [DOCS] Try upgrade build (#1066) 2018-03-30 17:46:10 -07:00
Ding cc7a8fcf99 [TOPI] Overload operators of Tensor when TOPI is imported (#1029) 2018-03-27 12:57:20 -04: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
Tianqi Chen cc71d505a0 [CONTRIB] Patch nnvcc to generate error when build the empty result (#1049) 2018-03-25 15:07:57 -04:00
Tianqi Chen 1ab05faffa [CYTHON] Fix exception propagation for cython3 (#1046) 2018-03-24 18:34:53 -07:00
alex-weaver 6292204e94 Implement C++ registry to back Python target.generic_func (#892) 2018-03-19 00:17:25 -07:00
Tianqi Chen 6bcf95f2e4 [CONTRIB] windows compatiblity (#1009) 2018-03-15 19:16:45 -07:00
Ding 34e31c4439 [PASS] Add VerifyMemory pass and test cases (#410) (#993) 2018-03-13 08:52:21 -07:00
Tianqi Chen 89d5e552d5 [RUNTIME] Update graph runtime to rely on smarter planner, add get_input (#990) 2018-03-10 15:32:32 -08:00
Tianqi Chen bcb3bef579 [CYTHON] Correct backtrace print for python3 (#989) 2018-03-10 14:25:45 -08:00
Tianqi Chen a6e8fe6c70 [FFI] Fix global free destruction (#985) 2018-03-10 09:40:52 -08: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
Leyuan Wang 078c767cda MPS conv (#822) 2018-03-06 17:51:13 -08:00
eqy 3e543bd055 prevent starting of RPC server w/o RPC support (#962)
* prevent starting of RPC server w/o RPC support

* fix indent
2018-03-05 13:00:22 -08:00
Tianqi Chen 0d6cf0c870 Update function.py 2018-03-02 15:39:52 -08:00
Tianqi Chen 0e6370db4f explicit import testing (#956)
* explicit import testing

* Enable init api for extension modules
2018-03-02 15:19:13 -08:00
Atsushi Nukariya 549aa16555 Fix a typo for Target class (#951) 2018-03-01 21:07:35 -08:00
Tianqi Chen 413e2b7a2e Better error message handling for contrib (#946)
* Better error message handling for contrib

* fix lint

* fix testcase

* fix test
2018-03-01 10:59:58 -08:00
Pariksheet Pinjari e3f6938a22 Spelling mistake corrected (#945) 2018-02-28 19:42:50 -08:00
Lianmin Zheng 07cc21f106 add exclusive mode for rpc server (#941) 2018-02-28 08:54:58 -08:00
Zhixun Tan 589a26515f Add test case: Create a static WebGL library and run it in the browser. (#932)
* Add test case: Create a static WebGL library and run it in the browser.

* Add documentation for loadModuleFromFile

* Modify emscripten.createjs
2018-02-27 20:20:16 -08:00
Tianqi Chen 1c97eaf622 MXNet NDArray bridge. (#930)
* MXNet NDArray bridge.
Support convert a tvm Function as MXNet's async NDArray function.

* fix lint

* update comment
2018-02-25 11:45:45 -08:00
Jammy Zhou 60d42a97a8 Fix a typo for function registration (#927) 2018-02-24 16:34:03 -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
Tianqi Chen 12d1ab5ae2 [RUNTIME] More reliable runtime only detection (#914)
* [RUNTIME] More reliable runtime only detection

* fix lint
2018-02-20 16:56:59 -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 fb556ef4b8 [CONTRIB] add peak test (#878)
* add peak test

* fix error for lanes=16

* update doc

* fix names

* fix names
2018-02-06 17:51:03 -08:00
Tianqi Chen 7d2654c2ba [CODEGEN] Fix vector element access in metal (#872) 2018-02-04 23:06:46 -08:00
yuruofeifei 2e94a4b55f [TOPI] Add compute for more operators (#849)
* [TOPI] Add compute for more operators

* Remove device except llvm

* Address comments

* Remove matmul compute

* Add outtype to boolean operator

* Address coments
2018-02-02 14:33:29 -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
Tianqi Chen bf71582cc9 [RELEASE] Release note for 0.2 (#853) 2018-01-31 11:58:43 -08:00
Tianqi Chen ec9f38ec44 [TOPI] Fix cpp library dependency on MAC (#852) 2018-01-31 10:20: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
Siva eb8077fff8 [DEBUG] get_node_output : To retrieve out put of any node - for debug purpose. (#820) 2018-01-27 21:50:04 -08:00
Tianqi Chen ba8d00c2da [TIMER] Enhance time evaluator to create multiple results (#830) 2018-01-27 10:45:28 -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
Clouds d1cdb623c3 Update setup.py (#803)
fix errors when running `python3 setup.py sdist bdist_wheel`
2018-01-22 10:00:08 -08:00
Zhixun Tan 589831df65 [WIP] WebGL Backend (#672)
Basic WebGL Backend
2018-01-20 13:51:34 -08:00
xqdan d4a46898e0 Support dump ir for each pass (#693) (#791)
* Support dump ir for each pass(#693)

* expose DumpIR

* fix comments

* fix comments
2018-01-19 19:57:39 -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
solin319 742669a208 fix the description of create_shared (#793)
The type of parameter options should be a str list.
2018-01-18 18:47:18 -08:00
Lianmin Zheng 1669481518 [TOPI] add schedule for ARM Mali GPU (#786)
* add schedule for ARM Mali GPU

* fix lint

* fix lint
2018-01-16 09:14:01 -08:00
masahi a407ec153d [CONTRIB] rocBLAS integration (#751)
* rocblas integration

* fix include

* fix lint
2018-01-03 13:38:24 -08:00
masahi 3d5032aebf [CONTRIB] cuBLAS integration (#744)
* add cublas support

* integrate cublas to topi dense

* add cublas error check

* minor fix

* fix lint

* remove topi import from contrib unittest
2018-01-02 21:52:53 +08:00
xqdan 77299df315 Support automatically Name Loop Variable in IRBuilder (#716) (#741)
* [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

* [IRbuild]Support automatically Name Loop Variable in IRBuilder (#719)

    * add idx_num in class

* using typical index [i, j, k] first, then i_suffix

* keep inputs names

* fix lint

* improve comment of name

* fix lint
2017-12-31 21:58:20 +08:00
Tianqi Chen 6a0a8e9878 [WEB] update web runtime to latest emcc (#742) 2017-12-31 21:57:23 +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
masahi 66fa0c3d62 Let CUDNN choose the best algo (#734)
* use cudnn findalgo to choose the best algo

* fix lint
2017-12-29 09:53:05 +08:00
masahi 85e4058c35 [TOPI] CUDNN integration (#730)
* add target.libs to target str representation

* integrate cudnn into topi cuda

* append target.libs to target.options
2017-12-27 12:12:21 +08:00
masahi 3b9f16523b [ROCM] MIOpen contrib for convolution kernels (#722)
* fist working miopen support

* do FindFwdAlgo during build time

* fix lint

* update doc string

* import topi after checking if rocm is enabled

* add miopen namespace

* fixed descriptor overwrite bug

* add use_miopen option

* fix lint

* better miopen option handling

* fix typo

* fix options handling
2017-12-24 23:23:55 +08:00
Tianqi Chen 89b8456eff [CODEGEN] enable static handle cache (#723) 2017-12-24 18:06:01 +08:00
Cody Hao Yu 51223c38bf Make duplicated function name checker working (#705) 2017-12-15 08:35:50 +08:00
Tianqi Chen f2b913925d Support rank-0 tensor (#687)
* Support rank-0 tensor

* fix lint
2017-12-03 22:38:28 -08:00
ziheng df4962e203 [RANDOM] Init contrib.random Library (#684)
* [RANDOM] Init contrib.random library

* [RANDOM] Add uniform

* [RANDOM] Fix lint

* [RANDOM] Add comments and tests

* [RANDOM] Fix lint
2017-12-01 12:38:33 -08:00
Tianqi Chen cf81f9f984 [CUDA] Enable int64 (#683)
* [CUDA] Enable int64

* [PYTHON] Fix rpc tutorial with opencl

* OK

* update
2017-11-30 14:24:44 -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
Sheng Zha 46e6cae5aa [CONTRIB] MPS DNN Dense (#615)
* mps

* update
2017-11-21 09:25:35 -08:00
Tianqi Chen a2aa154cfe [UNROLL] New unroll option (#647) 2017-11-14 15:01:15 -08:00
abergeron a908b83174 Fix conda packages (#642)
* Make the tvm conda package build with in-place source and use cmake from conda.

* Add a package for topi.
2017-11-13 12:56:47 -08:00
Tianqi Chen f1aabedc9e [PASS] Update coproc sync (#634) 2017-11-11 18:15:31 -08:00
ziheng 182a7852de [NNPACK] Add argument nthreads (#631) 2017-11-10 19:02:46 -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
Yuwei Hu 685f78d0d7 [INTRIN] Enable popcount (#606)
* enable popcount intrin

* fix lint

* add test

* fix python3
2017-11-02 20:08:50 +08:00
Tianqi Chen 25f95766c9 [PYTHON] Allow no de-allocation when exit (#583) 2017-10-24 16:58:04 -07:00
Wei Chen 18e4a1bdf5 [DOCS] Fix tag_scope example (#581) 2017-10-24 08:52:03 -07:00
Tianqi Chen 0f1e0ff086 [PASS] More robust UnrollLoop configuratin (#576) 2017-10-22 11:17:21 -07:00
Hu Shiwen 69759c0c57 add friendly tips when not found cl and link (#574)
* add friendly tips when not found cl and link

* fix lint
2017-10-21 21:47:57 -07:00
masahi 326edd76ec [ROCM] Working math function support for ROCm backend, a bug fix in LLVM based codegen (#570)
* added math function support

* bug fix extern func call in llvm based codegen

lint fix

fix build

bug fix extern func call in llvm based codegen

* moved rocm bitcodes detection to python
2017-10-19 20:13:31 -07:00
Wei Chen ab858e3f8a [PYTHON] Improve equality wrapper (#567)
use `object.__eq__`(default object identity comparison) as default
implementation of same_as. This should be OK since `EqualOp` and
`NotEqualOp` are pure Python object, `object.__eq__` is sufficient.
2017-10-18 22:05:54 -07:00
Tianqi Chen 9a2f01abd6 [PYTHON] Improve equal sugar (#564)
* [PYTHON] Improve equal sugar

* fix comment
2017-10-17 11:52:47 -07:00
ziheng 9e8bae25d5 [FIX] Fix target warning (#560)
* [FIX] Fix target warning

* [FIX] Deduplicate options

* Fix

* Fix
2017-10-16 13:02:34 -07:00
Tianqi Chen 6894d42b63 [CODEGEN] Allow link additional module (#559)
* [CODEGEN] Allow link additional module

* fix py3

* add register back
2017-10-15 19:49:28 -07:00
Tianqi Chen eb761f3630 [Refactor] Introduce target generic dispatch system (#556)
* [TVM] Introduce target generic dispatch system

* fix target warning
2017-10-14 16:46:18 -07:00
Wei Chen fde9b5701f Add same_as to NodeBase (#550)
* Add same_as to NodeBase

1. Most class inherited from NodeBase(Schedule, Stage, etc) still have
the convenience of using '==' for object identity. And this is the right
behavior for non-Expr classes.
2. subclasses of ExprOp now create EQ expression when '==' is used.

`__nonzero__` and `__bool__` in EQ and NE is a comprise that in some cases
object identity semantics is still useful, like in unit test. For instance:
````
assert a == b
````

"a == b" will create EQ expression, assert then calls `__nonzero__` of the
result expression. `Expr.__nonzero__` throws exception since it prohibits
evaluating IR expression.

More complex case like:
````
assert a in b # b is dict
````

it will call `__eq__` on a and all keys of b, then `__bool__` on the result
expression. This could not easily be done by same_as.

* Retain __hash__ from NodeBase in Python3
2017-10-13 14:47:14 -07:00
Hu Shiwen 87c929f5ac add msvc in cc (#531) 2017-10-13 12:54:08 -07:00
ziheng b20678b03d [TOPI] Fix declaration for different dtypes (#546) 2017-10-12 17:00:14 -07:00
陳煒 f491a7c256 [TEST] Use equal for equality comparison expression (#543)
also improve comment and unit test
2017-10-12 10:18:45 -07: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 4865f95830 [BUILD] Windows support of DLL exports (#522) 2017-10-08 15:28:36 -07:00
ziheng 4fdef3adfc [LANG] Support for Bitwise Operation (#502)
* [LANG] Support for Bitwise Operation

* Add test
2017-10-01 10:32:02 -07:00
ziheng 5b8a8d0050 [UTILS] Move target to tvm; rename convolution as conv2d (#492)
* Move target to tvm; rename convolution as conv2d

* Fix

* Fix
2017-09-26 11:44:53 -07:00
Tianqi Chen fd864c51d9 [RUNTIME] Fix graph runtime for gpu (#491) 2017-09-25 20:05:11 -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 145b3d0fb2 [RUNTIME] Minimum graph runtime (#484)
* [RUNTIME] Minimum graph runtime

* update docs
2017-09-24 18:50:15 -07:00
Tianqi Chen 0a6c36ce1e [INTRIN] Enable pow (#471)
* [INTRIN] Enable pow

* rename pow->power

* fix
2017-09-22 10:45:54 -07:00
Tianqi Chen 2607a83619 [RUNTIME][PYTHON] More compatibility in ndarray (#463) 2017-09-18 23:11:19 -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
Aditya Atluri 891e226bae [BACKEND] initial llvm codegen for amdgpu (#402)
* added initial llvm codegen for amdgpu

* fixed whitespace

* fixed hsaco gen from ir

* fixed targetmachine for rocm and added GetSource for rocm

* fixed whitespace issues

* changed statement to use less than 100 lines

* added intrinsics for workgroup - rocm

* whitespace - newline error fix

* fixed error msg for workitem-workgroup intrinsics

* added llvm ir dump for rocm codegen

* [ROCM] changed codegen to emit proper amdgpu kernel header

* fixed whitespace error

* fixed whitespace error- 2

* fixed AddFunction to not to use extra arg

1. Changed AddFunctionInternal to not to take extra arg for target type
2. Use Target from CodeGenLLVM to check for AMDGPU target

* fixed whitespaces

* fixed whitespaces 2

* fixed codegen for AMDGPU - now generating valid IR

* fixed codegen depending on code review

* reviewed alignment for amd devices

* added code to dump code object to file

* fixed cpplint errors

* print out IR after pass manager

* added code to dump asm, obj to file and std string

* fixed whitespaces

* Update codegen_amdgpu.cc

* used registry for amdgpu llvm

* Fixed whitespaces

* added code for calling linker

* fixed formatting errors

* added rocm link python interface

* fixed pylint issues and added more body to the function

* added doc string

* added doc string for module

* fixed python code after review, fixed llvm object codegen

* fixed linker to generate code object

* removed dumping to output file and debugging log out

* fixed lint for python code

* added fault check after running linker

* removed print statement in rocm.py

* changed rocm lld linker to raise runtimeerror than emitting error log to stderr

* changed the way linker command line is pass to subprocess.popen

* removed redundant code and reuse tvm utils

* removed commented out code

* removed cloning of unused modules, and put IR into string
2017-09-13 12:29:20 -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 1077f8e814 [RUNTIME][RPC] Enable remote linking of device code. (#444)
* [RUNTIME][RPC] Enable remote linking of device code.

* fix build
2017-09-10 23:56:46 -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 5ea4072c5a [PYTHON] Allow general types (#425) 2017-09-04 22:24:17 -07:00
Tianqi Chen df3c996b2a [TEST] Add memoize to save test data (#424)
* [TEST] Add memoize to save test data

* Update comment

* mark py version
2017-09-04 21:55:05 -07:00
Tianqi Chen c6c287bfa3 [SETUP] Always use relpath for setup (#421)
* [SETUP] Always use relpath for setup

* [CMAKE] Fix cmake llvm build
2017-09-04 17:53:18 -07:00