- 23 Apr, 2020 3 commits
-
-
Signed-off-by: Wei Pan <weip@nvidia.com>
Wei Pan committed -
* [RUNTIME][CONTRIB] CoreML Runtime * fix lint * fix CI * use xcrun to compile coreml model
MORITA Kazutaka committed -
This PR removes ir_pass(old style pass functions) in favor of analysis/transform(new style pass manager).
Tianqi Chen committed
-
- 22 Apr, 2020 3 commits
-
-
* Customize SI prefix in logging * Include unit test
Andrew Reusch committed -
Substitute now takes a std::function to customize more replacing behaviors. Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn> Co-authored-by: Siyuan Feng <hzfengsy@sjtu.edu.cn>
Tianqi Chen committed -
Samuel committed
-
- 21 Apr, 2020 6 commits
-
-
Tianqi Chen committed
-
* Fix oversight in importing tf.compat.v1 as tf. * Actually disable test for lstm in TF2.1 Since the testing framework actually uses pytest, the version check needs to be moved.
Ramana Radhakrishnan committed -
* The void return type is not None/nullptr, it's VoidType or TupleType([]).
Andrew Reusch committed -
Josh Fromm committed
-
The legacy Simplify/CanonicalSimplify are now a thin wrapper around the Analyzer. This PR removes these functions and migrated every place that requires simplification to enforce Analyzer creation. The new API would encourage more Analyzer sharing and potentially enable context-aware analyzer-based simplification.
Tianqi Chen committed -
Rationale: inline is a transformation used in te to rewrite its internal expressions. It is not a formal IRModule->IRModule transform pass. Also removed the python test as the test is covered by stage.compute_inline.
Tianqi Chen committed
-
- 20 Apr, 2020 2 commits
- 19 Apr, 2020 3 commits
-
-
* [TIR][REFACTOR] Remove te::Tensor dependencies from TIR passes. te::Tensor is an useful object for tensor expression, but brings un-necessary reverse dependency in TIR nodes such as Provide and Realize. This PR is a first step to remove this dependency. We will use Buffer in all the places where the te::Tensor was used. The rough correspondence are: - Provide -> BufferStore - Realize -> BufferRealize - HalideCall -> BufferLoad. After this change, we can not use IRModule of PrimFuncs cleanly to represent TIR at any point of the optimizations. Buffer will serve as the abstraction for the TIR data models to represent the intermediate storages and their constraints. We still keep Realize/HalideCall and Provide as TIR nodes for now to make the change minimum. Right after ScheduleOps, we call SchedulePostProcToPrimFunc to canonicalize the temporary IR generated by TE(which contains these nodes) to the TIR. The TIR optimizations are now mostly migrated to to the pass manager. Followup PRs are needed to migrate the remaining few passes. * Fix dev tutorial
Tianqi Chen committed -
shoubhik committed
-
* fix recursion in lower_warp_memory * post-order mutation
Tang, Shizhi committed
-
- 18 Apr, 2020 2 commits
-
-
- Migrate BoundCheckers and Simplify - Migrate RewriteUnsafeSelect and RemoveNoOp - Migrate UnrollLoop and StorageRewrite - Migrate InjectDoubleBuffer and InjectVirtualThread - Migrate LoopPartition and Vectorize - Migrate CoProcSync, LiftAttrScope, InjectCopyIntrin We still keep ir_pass registerations for now. Need a separate PR to refactor the parts before the StorageFlatten.
Tianqi Chen committed -
Zhi committed
-
- 17 Apr, 2020 4 commits
-
-
Samuel committed
-
* support extent(threadIdx.x) < warp_size in lower_warp_memory * more docs for lower_warp_memory
Tang, Shizhi committed -
* [TOPI-ARM] Do not alter layout if layout is NHWC * Add test.
Animesh Jain committed -
Samuel committed
-
- 16 Apr, 2020 2 commits
-
-
* [RELAY][BYOC] Register pattern tables from external codegens This adds utility functions to support registering and retrieving pattern tables used by MergeComposite for external codegens. Change-Id: I5be165a321440e48b15ff6aff4970e0c67496aaa * Updated DNNL tests to use pattern table mechanism * Removed pattern table standalone test * Change reg to _op
mbaret committed -
Samuel committed
-
- 15 Apr, 2020 6 commits
-
-
* Fix duplicate output in partitiongraph * Add test case * Fix test_annotated_regions with duplicate compiler_end outputs * Revert "Fix duplicate output in partitiongraph" This reverts commit e1f8ef3f4ca5b2aaa31ace6fa968bb50e5e4d1fa. * Prevent duplicate outputs in Tuple in PartitionGraph * Fix lint * Add another test case for when regions are merged, and when TupleGetItem was duplicated * Pull GetFunctionOutput out of branch, improve description of GetFunctionOutput * Use std::move for GetFunctionOutput. Fix typo with testcase name * Use tvm.transform.Sequential
Trevor Morris committed -
* [TIR] Remove ProducerConsumer and AllocateNode::new_expr This PR removes two legacy IR parts in TIR that are deprecated. ProducerConsumer node only serves as a hint markup and may no longer be informative after extensive transformations in the pass. If necessary, we can add related info via AttrStmt. The new_expr field in the AllocateNode is deprecated since it can just be replaced by a LetStmt. - Remove dependencies of passes on ProducerConsumer. - Remove ProducerConsumer from the IR. - Remove the deprecated fields (new_expr, free_function) from AllocateNode. * Fix additional testcases
Tianqi Chen committed -
Tianqi Chen committed
-
* get_valid_count updated to have correct results * speedup nms * update nms * revert back nms * recover one test for get_valid_count
Leyuan Wang committed -
* [PYTORCH]take, topk op support * Ci Failure fix
Samuel committed -
Tianqi Chen committed
-
- 14 Apr, 2020 4 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 -
* 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
-
- 13 Apr, 2020 4 commits
-
-
* 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 -
* [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 1 commit
-
-
* [Intrinsic] Add log1p, ldexp, atan2, hypot, nextafter, copysign * Lint
Junru Shao committed
-