Commit Graph

241 Commits

Author SHA1 Message Date
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
Tianqi Chen adf39837aa [PASS] Improve double buffer (#413) 2017-09-02 22:49:08 -07:00
Tianqi Chen 0138997fbe [BUILD] Allow inject custom pass via phase (#408) 2017-09-01 16:00:04 -07:00
Tianqi Chen a45d3b01f7 [PASS] InjectDoubleBuffer (#405) 2017-08-31 18:28:24 -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 0560e1569e [CODEGEN] NVPTX backend. (#392)
* [CODEGEN] NVPTX backend.

* Fix pylint

* use fix
2017-08-27 17:09:55 -07:00
Tianqi Chen 26b433b5de [TEST] Jenkinsfile (#389)
* [TEST] Jenkinsfile

* Fix wheel setup
2017-08-26 12:08:59 -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
Yizhi Liu 0ee68d7273 [APP] Android RPC (#359)
* [APP] Android RPC first version

* [APP] Android RPC build jni automatically

* [APP] Android OpenCL RPC tested on real devices

* [APP] optimize android app interface. add ndk compile tool

* add ndk compile tool

* [APP] fix android app thread crash; add android test script

* [APP] android app - show alert dialog and disconnect when error occurs

* fix ndk build script code lint

* fix ndk build default argument

* ndk script build remove shell=True. disable android app screen orientation
2017-08-25 09:02:21 -07:00
Tianqi Chen 7f1b0f5bae [SETUP] Fix python setup (#380) 2017-08-24 09:00:03 -07:00
ziheng c6ebb5a1ef [Python] Dist wheel tools (#348) 2017-08-19 20:43:11 -07:00
Tianqi Chen 090468aa53 [PASS] RewriteUnsafeSelect lowers unsafe select to condition expr (#335) 2017-08-15 22:32:43 -07:00
ziheng 25ded693ec [NNPack] Support for threadpool (#334)
* [NNPack] Support for threadpool

* fix lint

* fix lint

* Use static class function
2017-08-15 19:39:48 -07:00
ziheng 64870ffb86 [Contrib] CuDNN v7 Support (#311)
* [Contrib] CuDNN v7 Support

* Add test
2017-08-15 12:37:10 -07:00
Tianqi Chen 7196c791cb [TOPI] Isolate padding option, improve decl of depthwise/conv2d/pool (#332) 2017-08-15 11:24:07 -07:00
Xingjian Shi 760475f9a7 [TOPI] Add broadcast and reduce operators (#267)
[TOPI] Add broadcast and reduce operators
2017-08-14 19:35:40 -07:00