[Apache TVM Discuss] [Development/RFC] [RFC] TensorIR: A schedulable IR for TVM

2020-10-01 Thread Manupa Karunaratne via Apache TVM Discuss


Yes, the ambiguity is something I was struggling with too, when having a 
conversation. May I ask what does the  "T" of old TIR stands for ? TVM ?





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/rfc-tensorir-a-schedulable-ir-for-tvm/7872/40)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/77baf2aff59764bbb237948b7030fdbccfd4f5fd085530df64a433da98edecc4).


[Apache TVM Discuss] [Development/RFC] [RFC] TensorIR: A schedulable IR for TVM

2020-10-01 Thread tqchen via Apache TVM Discuss


TensorIR can be viewed as major feature enhancements(upgrade) to the TIR in 
master. That is why TensorIR and TIR are used interchangeably as they are 
supposed to be so.

Some of the elements like multidimensional buffer load and tvm script are 
already present as part of the unified IR effort. 

The upgrade will happen quite naturally. With the TIR continue to support 
current code as as they are, and gains new scheduling capabilities with the new 
block constructs.





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/rfc-tensorir-a-schedulable-ir-for-tvm/7872/41)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/ae8056c981087ec9ceae54fef35fde4e0761b5af456a3db5512238ccfbdbbdd2).


Re: [apache/incubator-tvm] TVM v0.7 Release Note Candidate (#6486)

2020-10-01 Thread ziheng
## API Changes
### DataType to runtime

- Rationale: DataType is a runtime data structure
- PRs https://github.com/apache/incubator-tvm/pull/4560
- Rename all old reference of tvm::Type to DataType
- ExprNode.type -> ExprNode.dtype, Expr.type() -> Expr.dtype()
- Move type constructors as static function: Int(bits) -> DataType::Int(bits)

### Node Object Unification

- Rationale: remove a few redirected macros and alias, unify node and object
- PRs: https://github.com/apache/incubator-tvm/pull/4603
- NodeXYZ -> ObjectXYZ
- TVM_DEFINE_NODE_REF: define the class and TVM_DEFINE_OBJECT_REF_METHODS

### IRMutator/Visitor Functor Unification

- Rationale: Unify mutator and functor
- PRs: https://github.com/apache/incubator-tvm/pull/4607 
https://github.com/apache/incubator-tvm/pull/4606
- Add ```#include``` for places that need mutator
- IRMutator: sub-class StmtMutator or StmtExprMutator instead
- IRVisitor: sub-class StmtVisitor or StmtExprVisitor instead

### TVM_REGISTER_API -> TVM_REGISTER_GLOBAL

- Rationale: remove indirection
- PR: https://github.com/apache/incubator-tvm/pull/4621 
- Rename to TVM_REGISTER_GLOBAL in ```runtime/registry.h```

### SeqStmt

- Rationale: avoid nested recursion in long blocks
- PR https://github.com/apache/incubator-tvm/pull/4627
- Use SeqStmt instead to constructs sequences

### tir::Call.name -> op

- Use op(RelayExpr) to replace the string name. see 
https://github.com/apache/incubator-tvm/pull/5863
- Remove the call_type field https://github.com/apache/incubator-tvm/pull/5937

### IRPrinter -> ReprPrinter

- Rationale: repr printer is shared across all variants in the stack
- PRs https://github.com/apache/incubator-tvm/pull/4622 
https://github.com/apache/incubator-tvm/pull/4752
- Rename IRPrinter -> ReprPrinter

### set_body_typed

- Rationale: avoid duplication in terms of type signatures
- https://github.com/apache/incubator-tvm/pull/4623
- Remove type signature argument in set_body_typed 
```c++
// before
TVM_REGISTER_GLOBAL("add")
.set_body_typed([](int x) { return x + 1; }

// after
TVM_REGISTER_GLOBAL("add")
.set_body_typed([](int x) { return x + 1; }
```

### Node suffix Convention

- Rationale: unify the naming convention throughout the codebase see also 
https://github.com/apache/incubator-tvm/issues/4648
- PRs https://github.com/apache/incubator-tvm/pull/4649
- Add Node suffix to low level IR nodes
- Add ObjectRef classes to the TIR nodes
 - https://github.com/apache/incubator-tvm/pull/5773
 - https://github.com/apache/incubator-tvm/pull/5778
 - https://github.com/apache/incubator-tvm/pull/5784

### tvm::Expr -> PrimExpr

- Rationale: the low-level expression is renamed to "primitive" expression in 
order to bring more unifications.
- PR https://github.com/apache/incubator-tvm/pull/4669
-  tvm::Expr -> PrimExpr, ExprHash/ExprEqual->ObjectHash/ObjectEqual, 
VarExpr->Var

### Relay Type/Module/Op
- Rationale: unify type system, and module across the stack.
- PRs  https://github.com/apache/incubator-tvm/pull/4616 
https://github.com/apache/incubator-tvm/pull/4678  
https://github.com/apache/incubator-tvm/pull/4699
- tvm/relay/module.h -> tvm/ir/module.h
- relay::Module -> IRModule

### New Subfolders and Namespaces
- ir: Common set of types and IR structures
   - attrs.h -> ir/attrs.h https://github.com/apache/incubator-tvm/pull/4709
- arith: Arithmetic simplification and integer analysis
   - arithmetic.h -> arith/analyzer.h arith/bound.h arith/int_set.h 
arith/pattern.h 
   - https://github.com/apache/incubator-tvm/pull/4722
- target: Target dependent information and codegen
  - target_info.h -> target/target_info.h 
https://github.com/apache/incubator-tvm/pull/4721
  - codegen.h -> target/codegen.h 
https://github.com/apache/incubator-tvm/pull/4742
- te namespace: Tensor expression DSL(compute and schedule)
   - Add namespace to compute/schedule
   - operation.h -> te/operation.h
   - schedule.h -> te/schedule.h
   - schedule_pass.h -> te/schedule_pass.h
   - tensor.h -> te/tensor.h
   -  https://github.com/apache/incubator-tvm/pull/4727, 
https://github.com/apache/incubator-tvm/pull/4759
- tir namespace: tensor-level IR 
  - lowered_func.h,buffer.h,data_layout.h -> 
tir/buffer.h,tir/data_layout.h,tir/lowered_func.h
  - ir.h -> tir/expr.h, tir/stmt.h
  - ir_functor_ext.h -> tir/expr_functor.h, tir/stmt_functor.h
  - https://github.com/apache/incubator-tvm/pull/4740

### LoweredFunc
TIR uses IRModule as basic unit of transformation instead of LoweredFunc.
- https://github.com/apache/incubator-tvm/pull/5233

### ir_pass.h

- The IRModule->IRModule transformations are moved to tir/transform.h
- The IRModule->Analaysis result passes are moved to tir/analysis.h

### Simplify
- Simplify function is removed, use Analyzer in arith/analyzer.h instead
- https://github.com/apache/incubator-tvm/pull/5385

### BuildConfig
- BuildConfig-> PassContext 
https://github.com/apache/incubator-tvm/pull/5668

### Runtime Misc
- ThreadScope::make -> ThreadScope::Create
- StorageScope:

Re: [apache/incubator-tvm] [RFC] v0.7 Release Planning (#6421)

2020-10-01 Thread ziheng
@leandron @comaniac @tqchen 
We are still waiting CI for #6597 and #6578 . I have added them into the 
release note and let's merge them tomorrow morning.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/6421#issuecomment-702473210

Re: [apache/incubator-tvm] [RFC] v0.7 Release Planning (#6421)

2020-10-01 Thread Cody Yu
> @leandron @comaniac @tqchen
> We are still waiting CI for #6597 and #6578 . I have added them into the 
> release note and let's merge them tomorrow morning.

Thanks. I am actually waiting to merge them today but still waiting for their 
CIs.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/6421#issuecomment-702474229

[apache/incubator-tvm] [RELEASE] Update NEWS.md for v0.7 (#6613)

2020-10-01 Thread ziheng
cc: @tqchen @yzhliu @zhiics 
You can view, comment on, or merge this pull request online at:

  https://github.com/apache/incubator-tvm/pull/6613

-- Commit Summary --

  * [RELEASE] Update NEWS.md for v0.7

-- File Changes --

M NEWS.md (1338)

-- Patch Links --

https://github.com/apache/incubator-tvm/pull/6613.patch
https://github.com/apache/incubator-tvm/pull/6613.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6613


[apache/incubator-tvm] [RELEASE] Bump version to 0.7.0 (#6614)

2020-10-01 Thread ziheng
Thanks for contributing to TVM!   Please refer to guideline 
https://tvm.apache.org/docs/contribute/ for useful information and tips. After 
the pull request is submitted, please request code reviews from 
[Reviewers](https://github.com/apache/incubator-tvm/blob/master/CONTRIBUTORS.md#reviewers)
 by @ them in the pull request thread.

You can view, comment on, or merge this pull request online at:

  https://github.com/apache/incubator-tvm/pull/6614

-- Commit Summary --

  * [RELEASE] Bump version to 0.7.0

-- File Changes --

M conda/tvm-libs/meta.yaml (2)
M conda/tvm/meta.yaml (2)
M include/tvm/runtime/c_runtime_api.h (2)
M python/tvm/_ffi/libinfo.py (2)
M version.py (2)

-- Patch Links --

https://github.com/apache/incubator-tvm/pull/6614.patch
https://github.com/apache/incubator-tvm/pull/6614.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/pull/6614


Re: [apache/incubator-tvm] [RFC] v0.7 Release Planning (#6421)

2020-10-01 Thread Cody Yu
@ZihengJiang both were merged.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/6421#issuecomment-702523318

Re: [apache/incubator-tvm] [RFC] v0.7 Release Planning (#6421)

2020-10-01 Thread Zhi
@comaniac cool, thanks. We plan to make a cut tomorrow.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/6421#issuecomment-702523862