Updated Docs pre-RFC

In reviewing the feedback, it appears that there is a preference for including easier access for some specialized pages, and ordering the layout in a way that moves through the user and developer journey of beginner to expert. I’ve refined the discussion into a new structure that attempts to address these issues. I’ve included three representations of it below to help give a high-level overview of what this would look like, but also dig into the specific details of where existing documents would land in this structure.

It creates placeholders for some new documents (such as the TVM Developer Tutorial and an Architecture Diagram/Map), but largely is focused on document organization and relocation of existing documents.

Within the Getting Started section there’s room for additional documents, such as a higher-level tour of TVM. This structure doesn’t preclude the creation of these sorts of documents, but rather creates a framework for their addition.

If this framework is generally acceptable for the community, we can begin writing a formal RFC for consideration.

L3 - Top Level

  • Getting Started
  • User Guide
  • TVM Topic Guide
  • Developer Guide
  • TVM Architecture Guide
  • API Reference (reference)
  • Index

L3 - Major Sections

  • Getting Started
    • About TVM
    • Installing TVM
    • TVM Contributor Guide
  • User Guide
    • Tutorial
    • How To
  • TVM Topic Guide
    • MicroTVM Guide (index to existing docs)
    • VTA (index to existing docs)
  • Developer Guide
    • TVM Contributor Tutorial (new, to be written)
    • How To
  • TVM Architecture Guide
    • Architecture Overview (new, diagram/map, to be written)
  • API Reference (reference)
    • Generated C++ Docs…
    • Generated Python Docs…
  • Index

L3 - Detailed

  • Getting Started
    • About TVM
    • Installing TVM
    • Contributor Guide
      • TVM Community Guideline
      • Performing Code Reviews
      • Committer Guide
      • Writing Document and Tutorials
      • Code Guide and Tips
      • Error Handling Guide
      • Submitting a Pull Request
      • Git Usage Tips
      • Apache TVM Release Process
  • User Guide
    • Tutorial
      • Introduction
      • An Overview of TVM and Model Optimization
      • Installing TVM
      • Compiling and Optimizing a Model with TVMC
      • Compiling and Optimizing a Model with the Python Interface (AutoTVM)
      • Working with Operators Using Tensor Expression
      • Optimizing Operators with Schedule Templates and AutoTVM
      • Optimizing Operators with Auto-scheduling
      • Cross Compilation and RPC
      • Introduction to TOPI
      • Quick Start Tutorial for Compiling Deep Learning Models
    • How To
      • Install TVM
        • Install from Source
        • Docker Images
      • Compile Deep Learning Models
      • Deploy Deep Learning Models
      • Work With Relay
      • Work with Tensor Expression and Schedules
      • Optimize Tensor Operators
      • Auto-Tune with Templates and AutoTVM
      • Use AutoScheduler for Template-Free Auto Scheduling
      • Work With microTVM
  • TVM Topic Guide
    • MicroTVM Guide (index to existing docs)
      • → Work With microTVM
      • → microTVM Architecture
    • VTA (index to existing docs)
  • Developer Guide
    • TVM Contributor Tutorial
    • How To
      • Write an operator
      • Write a backend
  • TVM Architecture Guide
    • Architecture Overview
    • Research Papers
    • Frontend
    • Relay: Graph-level design: IR, pass, lowering
    • TensorIR: Operator-level design: IR, schedule, pass, lowering
    • TOPI: Pre-defined operators operator coverage
    • AutoScheduler / AutoTVM: Performance tuning design
    • Runtime & microTVM design
    • Customization with vendor libraries BYOC workflow
    • RPC system
    • Target system
  • API Reference (reference)
    • Generated C++ Docs…
    • Generated Python Docs…
  • Index

Thanks @hogepodge .

Placing higher-level tour into Getting started would indeed help us incorporate elements from L2 into this framework and combines the concern of M0 and M1. As a result, we could start with L3 and continue to improve our docs.

As part of the docs, it would be great to capture the rationale in the RFC as a documentation page in the docs (“docs of docs”). Where do you think such documentation fit into L3?

It could easily fit into the getting started section, a “Documentation Guide” which lays out the organization and motivation, as well as how to contribute.

1 Like

Thanks for your input everyone, I’m going to begin writing up L3, with the additional changes, as a formal RFC.

We can continue the discussion in the RFC pull request.

Pull request up: https://github.com/apache/tvm/pull/9196

Being a refactor, this is a big PR. To help evaluate it, the PR also includes a link to a rendering that you can use to evaluate the changes and more easily identify an issues.

Re-spun the patch. https://github.com/apache/tvm/pull/9203