- 15 Apr, 2020 1 commit
-
-
Tianqi Chen committed
-
- 14 Apr, 2020 6 commits
-
-
Previously MakePackedAPI was in the target independent stage, but never the less requires the device_type information that will be binded at a later target dependent stage. The previous implementation was due to the limitation of LoweredFunc which can not carry buffer_map info(so they have to be lowered right away). This is no longer the case after the unified IR refactor. This PR migrates MakePackedAPI to a target dependent stage and removes the un-necessary BindDevice pass.
Tianqi Chen committed -
* [RELAY][PYTORCH]isNan, isinf, isfinite, ceil, clamp, round ops * Review comments
Samuel committed -
Wuwei Lin committed
-
* MXNet swap axis * MXNet swap axis * swap axis review comment * swap axis review comment
Mahesh Ambule committed -
* Fix high-low bit bug in __pack_half2 * Fix vector load * Add unit8 support for PrintVecElemLoadExpr and BroadcastNode
LiangLiu committed -
masahi committed
-
- 13 Apr, 2020 7 commits
-
-
Tianqi Chen committed
-
* Remove duplicated output args * address comment * fix codegen c * improve comment * VisitExprDefault_ * deduce type
Zhi committed -
* [RUNTIME] Allow non-nullable ObjectRef, introduce Optional<T>. We use ObjectRef and their sub-classes extensively throughout our codebase. Each of ObjectRef's sub-classes are nullable, which means they can hold nullptr as their values. While in some places we need nullptr as an alternative value. The implicit support for nullptr in all ObjectRef creates additional burdens for the developer to explicitly check defined in many places of the codebase. Moreover, it is unclear from the API's intentional point of view whether we want a nullable object or not-null version(many cases we want the later). Borrowing existing wisdoms from languages like Rust. We propose to introduce non-nullable ObjectRef, and Optional<T> container that represents a nullable variant. To keep backward compatiblity, we will start by allowing most ObjectRef to be nullable. However, we should start to use Optional<T> as the type in places where we know nullable is a requirement. Gradually, we will move most of the ObjectRef to be non-nullable and use Optional<T> in the nullable cases. Such explicitness in typing can help reduce the potential problems in our codebase overall. Changes in this PR: - Introduce _type_is_nullable attribute to ObjectRef - Introduce Optional<T> - Change String to be non-nullable. - Change the API of function->GetAttr to return Optional<T> * Address review comments * Upgrade all compiler flags to c++14 * Update as per review comment
Tianqi Chen committed -
* one weird trick. * Added schedule knob for different workloads. * Initial conv3d tensorcore working. * Added conv3d tensorcore strategy. * Added layout conversion to tensorcore friendly format for conv2d and conv3d. * Add target name check. * Fixed bad names and depthwise check. * Removed duplicated attribute assignment.
Josh Fromm committed -
Signed-off-by: windclarion <windclarion@gmail.com>
windclarion committed -
* [PYTORCH]Reduce_ops support added * Review comments updated * typo bug in qnn test
Samuel committed -
* use funcs from prelude, pass around convert_map * get relay input type from user ishape * handle tuple unpack * experimenting with static tensor array * use prelude concat instead of cons + rev * minor clean up * fix layer norm conversion bug, unwrap tensor array * add infer shape on tensor array * pass around prelude for now * compile worked but runtime error * fix tensor array wrapping * begin list dynamic test * is_list_dynamic first version * finish dynamic list test * a few fix * use shape_of function if Any is found * improve size conversion * working on adding free vars to loop block * fixed inlined inner loop issue * clean up free var handling * add support for tensor array concat * adding ta concat on last axis * fix concat, but got runtime error * disable concat on axis -1 for now * add lstm tests * revert unrelated change * fix stacked bidir test * minor fix to test * relax tol a bit, revert dnnl change to avoid conflict * simplify infer type, use input tensor shape rather than concat shape * more shape fix
masahi committed
-
- 12 Apr, 2020 5 commits
-
-
* [Intrinsic] Add log1p, ldexp, atan2, hypot, nextafter, copysign * Lint
Junru Shao committed -
Jared Roesch committed
-
Zhi committed
-
* Adding Cast back to Int32 in FixedPointMultiply. * Removing extra clip. * Fix space. * Retrigger. * Retrigger.
Animesh Jain committed -
This PR enables the copy on write optimizations passes: - Enable COW for IRModule both TIR and relay passes. - Enabled COW for PrimFunc in TIR passes. Need more thoughts into whether/how to enable COW for relay::Function, due to some function passes depend on the presence of IRModule for context information, and the std::move of the related function to nullptr might affect the related behavior.
Tianqi Chen committed
-
- 11 Apr, 2020 5 commits
-
-
* [PYTHON]Abs, Arange, Softplus ops * Review comments updated
Samuel committed -
* [LLVM] Fix generation of LLVM intrinsics The type list in the call to llvm::Intrinsic::getDeclaration is not the intrinsic's signature, it's the list of overloaded types. Without this fix, the updated unit test would cause the following error: TVMError: LLVM module verification failed with the following errors: Intrinsic name not mangled correctly for type arguments! Should be: llvm.ctlz.i32 i32 (i32, i1)* @llvm.ctlz.i32.i1 Special handling for llvm.prefetch, sig matching for overloaded ints only The prefetch intrinsic returns void in LLVM, while it returns i32 in TVM. This case needs to be handled specially, because rule-based intrinsic translation would cause invalid LLVM type to be created. Do the signature matching only for overloaded intrinsics. It's not needed for non-overloaded ones, so this can save a bit of compile-time. * Include intrinsic name in the error message * Fix number of arguments for llvm.fmuladd and llvm.pow
Krzysztof Parzyszek committed -
* merge change from dev branch * fix string issue * bring comanic's change back
masahi committed -
* Support TF Frontend Static TensorArray * Fix pylint * Fix lint * Move get_tensor_array_shape into prelude * Fix lint * Fix common
Yao Wang committed -
* [RUNTIME] Introduce RValue reference(move) support to TypedPackedFunc This PR introduces RValue reference support the PackedFunc calling convention to address the above issue. Specifically, when an argument is a r-value reference, we will use a assign a different type code(`kObjectRValueRefArg`), and pass `Object**` (the address to the Object pointer) instead through the values array. The callee can choose to move out this Object pointer and set the original Object pointer from the caller side to be nullptr. We also add an experimental move support to the python side(marked as _move so to indicate the dev nature). This enhancement will enable copy on write optimizations through out the TVM stack. * Address review comments * fix compilation
Tianqi Chen committed
-
- 10 Apr, 2020 16 commits
-
-
Huacong Yang committed
-
* add target to region * refactor annotate_target * Make all unit test working * quick fix * enable BN, unit test failed * Fix vm test, unit test. Refactor annotate_target a bit. * quick fix fusion * revert fusion change * style fix * Refactor merge region pass * format * minor fix * Skip e2e test * lint * support AnnotateTarget multiple runs * Add HasAttr and revert DNNL codegen * address comment Co-authored-by: Zhi Chen <chzhi@amazon.com>
Cody Yu committed -
Tianqi Chen committed
-
* [arith] linear system and equation solver Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com> * avoid constructing analyzer every time * generate random test cases and address comments Co-authored-by: Sergei Grechanik <sergei.grechanik@gmail.com> * rename linear_system to int_constraints * add comments and use random seed * message for reporting failure with seed * add SEqualReduce to IntConstraints; allow variables & ranges to be None Co-authored-by: Sergei Grechanik <sergei.grechanik+h@gmail.com> Co-authored-by: Sergei Grechanik <sergei.grechanik@gmail.com>
Yizhi Liu committed -
Samuel committed
-
* [FRONTEND][TENSORFLOW] Fix gather_nd indices * retrigger CI
MORITA Kazutaka committed -
weiliangweiliang committed
-
* Use runtime::String * move string to tvm namespace * add const char* constructor * implicit cast from std::string
Zhi committed -
hlu1 committed
-
* [RUNTIME] Initial implementation of Hexagon runtime support This is only the TVM runtime. The FastRPC libraries, simulator driver, etc. will be provided in subsequent commits. * Fix pylint complaints * Fix some more pylint complaints * Add link to the Hexagon SDK website * Extract VTCM marker into a common variable * Implement device->device memory copy * Disable unsigned PDs by default * Ensure that --hvx_length is present in sim_args if HVX is enabled * Remove the line about clang from README.md Apparently things work with libstdc++. * Mention to set USE_RPC=OFF when building libtvm_runtime.so for Hexagon * Remember to use codegen_hvx in validate_hvx_length * Add a line about minimum version of LLVM
Krzysztof Parzyszek committed -
* Improve DNNL * Add bind params * trigger ci
Cody Yu committed -
shoubhik committed
-
This PR refactors the serialization mechanism to support general serialization of leaf objects into bytes. The new feature superceded the original GetGlobalKey feature for singletons. Added serialization support for runtime::String.
Tianqi Chen committed -
* Legalize - Use Non-recursive Rewriter. * Cleanup.
Animesh Jain committed -
Yizhi Liu committed
-
Samuel committed
-