Towards Tensor Expression Schedule operational · Schedule Tree IterVar-reIation DAG Operational...

Post on 05-Sep-2020

8 views 0 download

Transcript of Towards Tensor Expression Schedule operational · Schedule Tree IterVar-reIation DAG Operational...

Yuan Lin and Yongfeng Gu

TOWARDS AN OPERATIONAL MODEL OF SCHEDULES IN TENSOR EXPRESSION

2019-12-05

QQuestion: is this a legal schedule?

QIllegal, but why?

TVMError: Check failed: found_attach || stage_attach.size() == 0: Invalid Schedule, cannot find the producer compute(B, 0x2851e60) along the loop nest specified by compute_at of consumer compute(B.local, 0x2b83b00)

Show the Schedule Tree

LCA(B, C)

LCA(BL, C)

Illegal

Violation of Legality

LCA(B, C)

LCA(BL, C)

Legal

A Possible Fix

Background

• Describe schedule primitives and transformations in a more elaborate way

• Provide guidance to new TE users

• Help debugging tricky TE programs

• Provide a framework to discuss bugs (is this a bug or feature?)

• Ensure conherent development of new features

Motivations

Dataflow Graph

The Operational Model

IterVar-relation DAG

Tensor Expression

Schedule Tree

The Document

Example pages

• We would like to contribute the document to the TVM community.• We are also working on a visualization tool, Tensor Expression Debug Display (TEDD).

• Questions/Survey:• Is this model helpful?

• Is this or similar model well understood?

• Will you use it for future discussion?

• Let's work together to• improve the model

• complete the document

Help Needed!

Thank you