Commit Graph

265 Commits

Author SHA1 Message Date
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