From d8acbcdd1403699c0cbabe0a541ae92793b5daf8 Mon Sep 17 00:00:00 2001 From: Chris Hoge Date: Tue, 5 Oct 2021 00:49:47 +0000 Subject: [PATCH 1/3] Documentation Refactor - Stage 1 RFC: https://github.com/apache/tvm-rfcs/blob/main/rfcs/0027-formalize-documentation-organization.md Tracking Issue: https://github.com/apache/tvm/issues/8987 Stage 1 of the documentation refactor reorganizes the docs structure, moving files (without content changes) and adding new scaffolding to generate the proper document tree. It does not address naming, style, content, links, or other existing content in documents that were moved. State 2 will address fixing these issues with existing content. Major changes include but are not limited to: * Dividing the existing tutorials into two sections: * Tutorials * How Tos * Moving all of the existing tutorials out of the `/tutorial` directory and into the more general `/gallery` directory. * Breaking up how-tos into individual sections for more flexibility and more consistent rendering. * Moving content into new classifications: * `/docs/arch` for architecture guides * `/docs/reference` for API guides and other reference material * `/docs/topic` for topic specific guides such as microTVM and VTA * Restructuring `/docs/dev` * Adding a table of contents to the doc index * Adding instructions on how to install using third-party tlcpack --- docs/{dev => arch}/benchmark.rst | 0 docs/{dev => arch}/convert_layout.rst | 0 docs/{dev => arch}/debugger.rst | 0 .../device_target_interactions.rst | 0 docs/{dev => arch}/frontend/tensorflow.rst | 0 docs/{dev => arch}/hybrid_script.rst | 0 docs/{dev => arch}/index.rst | 0 docs/{dev => arch}/inferbound.rst | 0 .../introduction_to_module_serialization.rst | 0 docs/{dev => arch}/microtvm_design.rst | 0 docs/{dev => arch}/model_library_format.rst | 0 docs/{dev => arch}/pass_infra.rst | 0 docs/{dev => arch}/relay_intro.rst | 0 docs/{dev => arch}/relay_op_strategy.rst | 0 docs/{dev => arch}/runtime.rst | 0 docs/{dev => arch}/runtimes/vulkan.rst | 0 docs/{dev => arch}/security.rst | 0 docs/{dev => arch}/virtual_machine.rst | 0 docs/conf.py | 55 ++++++++----- docs/dev/{ => how_to}/how_to.rst | 0 .../pytest_target_parametrization.rst | 0 docs/dev/{ => how_to}/relay_add_op.rst | 0 docs/dev/{ => how_to}/relay_add_pass.rst | 0 .../relay_bring_your_own_codegen.rst | 0 .../{ => tutorial}/codebase_walkthrough.rst | 0 docs/dev/tutorial/index.rst | 29 +++++++ docs/{ => how_to}/deploy/android.rst | 0 docs/{ => how_to}/deploy/arm_compute_lib.rst | 0 docs/{ => how_to}/deploy/bnns.rst | 0 docs/{ => how_to}/deploy/cpp_deploy.rst | 0 docs/{ => how_to}/deploy/hls.rst | 0 docs/{ => how_to}/deploy/index.rst | 0 docs/{ => how_to}/deploy/integrate.rst | 0 docs/{ => how_to}/deploy/tensorrt.rst | 0 docs/{ => how_to}/deploy/vitis_ai.rst | 0 docs/how_to/index.rst | 38 +++++++++ docs/{profiling => how_to/profile}/index.rst | 0 docs/{profiling => how_to/profile}/papi.rst | 0 docs/index.rst | 82 ++++++++----------- docs/install/index.rst | 22 +++-- docs/install/tlcpack.rst | 38 +++++++++ docs/{ => reference}/api/links.rst | 0 .../api/python/auto_scheduler.rst | 0 docs/{ => reference}/api/python/autotvm.rst | 0 docs/{ => reference}/api/python/contrib.rst | 0 docs/{ => reference}/api/python/driver.rst | 0 docs/{ => reference}/api/python/error.rst | 0 .../api/python/graph_executor.rst | 0 docs/{ => reference}/api/python/index.rst | 0 docs/{ => reference}/api/python/ir.rst | 0 docs/{ => reference}/api/python/micro.rst | 0 docs/{ => reference}/api/python/ndarray.rst | 0 .../api/python/relay/analysis.rst | 0 .../api/python/relay/backend.rst | 0 .../api/python/relay/dataflow_pattern.rst | 0 .../api/python/relay/frontend.rst | 0 .../api/python/relay/image.rst | 0 .../api/python/relay/index.rst | 0 docs/{ => reference}/api/python/relay/nn.rst | 0 .../api/python/relay/testing.rst | 0 .../api/python/relay/transform.rst | 0 .../api/python/relay/vision.rst | 0 docs/{ => reference}/api/python/rpc.rst | 0 docs/{ => reference}/api/python/runtime.rst | 0 docs/{ => reference}/api/python/target.rst | 0 docs/{ => reference}/api/python/te.rst | 0 docs/{ => reference}/api/python/tir.rst | 0 docs/{ => reference}/api/python/topi.rst | 0 docs/{ => reference}/api/python/vta/index.rst | 0 .../{ => reference}/langref/hybrid_script.rst | 0 docs/{ => reference}/langref/index.rst | 0 docs/{ => reference}/langref/relay_adt.rst | 0 docs/{ => reference}/langref/relay_expr.rst | 0 docs/{ => reference}/langref/relay_op.rst | 0 .../{ => reference}/langref/relay_pattern.rst | 0 docs/{ => reference}/langref/relay_type.rst | 0 docs/reference/publications.rst | 31 +++++++ docs/{ => topic}/microtvm/index.rst | 0 docs/{ => topic}/vta/.gitignore | 0 docs/{ => topic}/vta/dev/config.rst | 0 docs/{ => topic}/vta/dev/hardware.rst | 0 docs/{ => topic}/vta/dev/index.rst | 0 docs/{ => topic}/vta/index.rst | 0 docs/{ => topic}/vta/install.rst | 0 .../how_to/compile_models}/README.txt | 0 .../how_to/compile_models}/from_caffe2.py | 0 .../how_to/compile_models}/from_coreml.py | 0 .../how_to/compile_models}/from_darknet.py | 0 .../how_to/compile_models}/from_keras.py | 0 .../how_to/compile_models}/from_mxnet.py | 0 .../how_to/compile_models}/from_onnx.py | 0 .../how_to/compile_models}/from_paddle.py | 0 .../how_to/compile_models}/from_pytorch.py | 0 .../how_to/compile_models}/from_tensorflow.py | 0 .../how_to/compile_models}/from_tflite.py | 0 gallery/how_to/deploy_models/README.txt | 6 ++ .../deploy_models}/deploy_model_on_android.py | 0 .../deploy_models}/deploy_model_on_rasp.py | 0 .../deploy_object_detection_pytorch.py | 0 .../deploy_models}/deploy_prequantized.py | 0 .../deploy_prequantized_tflite.py | 0 .../how_to/deploy_models}/deploy_quantized.py | 0 .../how_to/deploy_models}/deploy_sparse.py | 0 .../deploy_models}/deploy_ssd_gluoncv.py | 0 .../how_to/extend_tvm}/README.txt | 0 .../extend_tvm}/bring_your_own_datatypes.py | 0 .../extend_tvm}/low_level_custom_pass.py | 0 .../how_to/extend_tvm}/use_pass_infra.py | 0 .../how_to/extend_tvm}/use_pass_instrument.py | 0 .../how_to/optimize_operators}/README.txt | 0 .../optimize_operators}/opt_conv_cuda.py | 0 .../opt_conv_tensorcore.py | 0 .../how_to/optimize_operators}/opt_gemm.py | 0 .../tune_with_autoscheduler}/README.txt | 0 .../ci_logs/conv2d.json | 0 .../ci_logs/matmul.json | 0 .../ci_logs/resnet-18-NHWC-B1-cuda.json | 0 .../ci_logs/resnet-50-NHWC-B1-llvm.json | 0 .../ci_logs/sparse_dense.json | 0 .../tune_conv2d_layer_cuda.py | 0 .../tune_network_arm.py | 0 .../tune_network_cuda.py | 0 .../tune_network_mali.py | 0 .../tune_network_x86.py | 0 .../tune_sparse_x86.py | 0 .../how_to/tune_with_autotvm}/README.txt | 0 .../tune_with_autotvm}/tune_conv2d_cuda.py | 0 .../tune_with_autotvm}/tune_relay_arm.py | 0 .../tune_with_autotvm}/tune_relay_cuda.py | 0 .../tune_relay_mobile_gpu.py | 0 .../tune_with_autotvm}/tune_relay_x86.py | 0 .../how_to/work_with_microtvm}/README.txt | 0 .../work_with_microtvm}/micro_autotune.py | 0 .../work_with_microtvm}/micro_reference_vm.py | 0 .../work_with_microtvm}/micro_tflite.py | 0 gallery/how_to/work_with_relay/README.txt | 2 + .../how_to/work_with_relay}/build_gcn.py | 0 .../work_with_relay}/using_external_lib.py | 0 .../how_to/work_with_schedules}/README.txt | 0 .../how_to/work_with_schedules}/extern_op.py | 0 .../work_with_schedules}/intrin_math.py | 0 .../how_to/work_with_schedules}/reduction.py | 0 .../how_to/work_with_schedules}/scan.py | 0 .../schedule_primitives.py | 0 .../how_to/work_with_schedules}/tedd.py | 0 .../how_to/work_with_schedules}/tensorize.py | 0 .../work_with_schedules}/tuple_inputs.py | 0 .../tutorial}/README.txt | 0 .../tutorial}/auto_scheduler_matmul_x86.py | 0 .../tutorial}/autotvm_matmul_x86.py | 0 .../tutorial}/autotvm_relay_x86.py | 0 .../tutorial}/cross_compilation_and_rpc.py | 0 .../tutorial}/install.py | 0 .../topi => gallery/tutorial}/intro_topi.py | 0 .../tutorial}/introduction.py | 0 .../tutorial}/relay_quick_start.py | 0 .../tutorial}/tensor_expr_get_started.py | 0 .../tutorial}/tvmc_command_line_driver.py | 0 tutorials/README.txt | 1 - tutorials/topi/README.txt | 2 - 160 files changed, 228 insertions(+), 78 deletions(-) rename docs/{dev => arch}/benchmark.rst (100%) rename docs/{dev => arch}/convert_layout.rst (100%) rename docs/{dev => arch}/debugger.rst (100%) rename docs/{dev => arch}/device_target_interactions.rst (100%) rename docs/{dev => arch}/frontend/tensorflow.rst (100%) rename docs/{dev => arch}/hybrid_script.rst (100%) rename docs/{dev => arch}/index.rst (100%) rename docs/{dev => arch}/inferbound.rst (100%) rename docs/{dev => arch}/introduction_to_module_serialization.rst (100%) rename docs/{dev => arch}/microtvm_design.rst (100%) rename docs/{dev => arch}/model_library_format.rst (100%) rename docs/{dev => arch}/pass_infra.rst (100%) rename docs/{dev => arch}/relay_intro.rst (100%) rename docs/{dev => arch}/relay_op_strategy.rst (100%) rename docs/{dev => arch}/runtime.rst (100%) rename docs/{dev => arch}/runtimes/vulkan.rst (100%) rename docs/{dev => arch}/security.rst (100%) rename docs/{dev => arch}/virtual_machine.rst (100%) rename docs/dev/{ => how_to}/how_to.rst (100%) rename docs/dev/{ => how_to}/pytest_target_parametrization.rst (100%) rename docs/dev/{ => how_to}/relay_add_op.rst (100%) rename docs/dev/{ => how_to}/relay_add_pass.rst (100%) rename docs/dev/{ => how_to}/relay_bring_your_own_codegen.rst (100%) rename docs/dev/{ => tutorial}/codebase_walkthrough.rst (100%) create mode 100644 docs/dev/tutorial/index.rst rename docs/{ => how_to}/deploy/android.rst (100%) rename docs/{ => how_to}/deploy/arm_compute_lib.rst (100%) rename docs/{ => how_to}/deploy/bnns.rst (100%) rename docs/{ => how_to}/deploy/cpp_deploy.rst (100%) rename docs/{ => how_to}/deploy/hls.rst (100%) rename docs/{ => how_to}/deploy/index.rst (100%) rename docs/{ => how_to}/deploy/integrate.rst (100%) rename docs/{ => how_to}/deploy/tensorrt.rst (100%) rename docs/{ => how_to}/deploy/vitis_ai.rst (100%) create mode 100644 docs/how_to/index.rst rename docs/{profiling => how_to/profile}/index.rst (100%) rename docs/{profiling => how_to/profile}/papi.rst (100%) create mode 100644 docs/install/tlcpack.rst rename docs/{ => reference}/api/links.rst (100%) rename docs/{ => reference}/api/python/auto_scheduler.rst (100%) rename docs/{ => reference}/api/python/autotvm.rst (100%) rename docs/{ => reference}/api/python/contrib.rst (100%) rename docs/{ => reference}/api/python/driver.rst (100%) rename docs/{ => reference}/api/python/error.rst (100%) rename docs/{ => reference}/api/python/graph_executor.rst (100%) rename docs/{ => reference}/api/python/index.rst (100%) rename docs/{ => reference}/api/python/ir.rst (100%) rename docs/{ => reference}/api/python/micro.rst (100%) rename docs/{ => reference}/api/python/ndarray.rst (100%) rename docs/{ => reference}/api/python/relay/analysis.rst (100%) rename docs/{ => reference}/api/python/relay/backend.rst (100%) rename docs/{ => reference}/api/python/relay/dataflow_pattern.rst (100%) rename docs/{ => reference}/api/python/relay/frontend.rst (100%) rename docs/{ => reference}/api/python/relay/image.rst (100%) rename docs/{ => reference}/api/python/relay/index.rst (100%) rename docs/{ => reference}/api/python/relay/nn.rst (100%) rename docs/{ => reference}/api/python/relay/testing.rst (100%) rename docs/{ => reference}/api/python/relay/transform.rst (100%) rename docs/{ => reference}/api/python/relay/vision.rst (100%) rename docs/{ => reference}/api/python/rpc.rst (100%) rename docs/{ => reference}/api/python/runtime.rst (100%) rename docs/{ => reference}/api/python/target.rst (100%) rename docs/{ => reference}/api/python/te.rst (100%) rename docs/{ => reference}/api/python/tir.rst (100%) rename docs/{ => reference}/api/python/topi.rst (100%) rename docs/{ => reference}/api/python/vta/index.rst (100%) rename docs/{ => reference}/langref/hybrid_script.rst (100%) rename docs/{ => reference}/langref/index.rst (100%) rename docs/{ => reference}/langref/relay_adt.rst (100%) rename docs/{ => reference}/langref/relay_expr.rst (100%) rename docs/{ => reference}/langref/relay_op.rst (100%) rename docs/{ => reference}/langref/relay_pattern.rst (100%) rename docs/{ => reference}/langref/relay_type.rst (100%) create mode 100644 docs/reference/publications.rst rename docs/{ => topic}/microtvm/index.rst (100%) rename docs/{ => topic}/vta/.gitignore (100%) rename docs/{ => topic}/vta/dev/config.rst (100%) rename docs/{ => topic}/vta/dev/hardware.rst (100%) rename docs/{ => topic}/vta/dev/index.rst (100%) rename docs/{ => topic}/vta/index.rst (100%) rename docs/{ => topic}/vta/install.rst (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/README.txt (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_caffe2.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_coreml.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_darknet.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_keras.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_mxnet.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_onnx.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_paddle.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_pytorch.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_tensorflow.py (100%) rename {tutorials/frontend => gallery/how_to/compile_models}/from_tflite.py (100%) create mode 100644 gallery/how_to/deploy_models/README.txt rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_model_on_android.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_model_on_rasp.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_object_detection_pytorch.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_prequantized.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_prequantized_tflite.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_quantized.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_sparse.py (100%) rename {tutorials/frontend => gallery/how_to/deploy_models}/deploy_ssd_gluoncv.py (100%) rename {tutorials/dev => gallery/how_to/extend_tvm}/README.txt (100%) rename {tutorials/dev => gallery/how_to/extend_tvm}/bring_your_own_datatypes.py (100%) rename {tutorials/dev => gallery/how_to/extend_tvm}/low_level_custom_pass.py (100%) rename {tutorials/dev => gallery/how_to/extend_tvm}/use_pass_infra.py (100%) rename {tutorials/dev => gallery/how_to/extend_tvm}/use_pass_instrument.py (100%) rename {tutorials/optimize => gallery/how_to/optimize_operators}/README.txt (100%) rename {tutorials/optimize => gallery/how_to/optimize_operators}/opt_conv_cuda.py (100%) rename {tutorials/optimize => gallery/how_to/optimize_operators}/opt_conv_tensorcore.py (100%) rename {tutorials/optimize => gallery/how_to/optimize_operators}/opt_gemm.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/README.txt (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/ci_logs/conv2d.json (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/ci_logs/matmul.json (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/ci_logs/resnet-18-NHWC-B1-cuda.json (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/ci_logs/resnet-50-NHWC-B1-llvm.json (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/ci_logs/sparse_dense.json (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_conv2d_layer_cuda.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_network_arm.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_network_cuda.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_network_mali.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_network_x86.py (100%) rename {tutorials/auto_scheduler => gallery/how_to/tune_with_autoscheduler}/tune_sparse_x86.py (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/README.txt (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/tune_conv2d_cuda.py (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/tune_relay_arm.py (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/tune_relay_cuda.py (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/tune_relay_mobile_gpu.py (100%) rename {tutorials/autotvm => gallery/how_to/tune_with_autotvm}/tune_relay_x86.py (100%) rename {tutorials/micro => gallery/how_to/work_with_microtvm}/README.txt (100%) rename {tutorials/micro => gallery/how_to/work_with_microtvm}/micro_autotune.py (100%) rename {tutorials/micro => gallery/how_to/work_with_microtvm}/micro_reference_vm.py (100%) rename {tutorials/micro => gallery/how_to/work_with_microtvm}/micro_tflite.py (100%) create mode 100644 gallery/how_to/work_with_relay/README.txt rename {tutorials/frontend => gallery/how_to/work_with_relay}/build_gcn.py (100%) rename {tutorials/frontend => gallery/how_to/work_with_relay}/using_external_lib.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/README.txt (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/extern_op.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/intrin_math.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/reduction.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/scan.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/schedule_primitives.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/tedd.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/tensorize.py (100%) rename {tutorials/language => gallery/how_to/work_with_schedules}/tuple_inputs.py (100%) rename {tutorials/get_started => gallery/tutorial}/README.txt (100%) rename {tutorials/get_started => gallery/tutorial}/auto_scheduler_matmul_x86.py (100%) rename {tutorials/get_started => gallery/tutorial}/autotvm_matmul_x86.py (100%) rename {tutorials/get_started => gallery/tutorial}/autotvm_relay_x86.py (100%) rename {tutorials/get_started => gallery/tutorial}/cross_compilation_and_rpc.py (100%) rename {tutorials/get_started => gallery/tutorial}/install.py (100%) rename {tutorials/topi => gallery/tutorial}/intro_topi.py (100%) rename {tutorials/get_started => gallery/tutorial}/introduction.py (100%) rename {tutorials/get_started => gallery/tutorial}/relay_quick_start.py (100%) rename {tutorials/get_started => gallery/tutorial}/tensor_expr_get_started.py (100%) rename {tutorials/get_started => gallery/tutorial}/tvmc_command_line_driver.py (100%) delete mode 100644 tutorials/README.txt delete mode 100644 tutorials/topi/README.txt diff --git a/docs/dev/benchmark.rst b/docs/arch/benchmark.rst similarity index 100% rename from docs/dev/benchmark.rst rename to docs/arch/benchmark.rst diff --git a/docs/dev/convert_layout.rst b/docs/arch/convert_layout.rst similarity index 100% rename from docs/dev/convert_layout.rst rename to docs/arch/convert_layout.rst diff --git a/docs/dev/debugger.rst b/docs/arch/debugger.rst similarity index 100% rename from docs/dev/debugger.rst rename to docs/arch/debugger.rst diff --git a/docs/dev/device_target_interactions.rst b/docs/arch/device_target_interactions.rst similarity index 100% rename from docs/dev/device_target_interactions.rst rename to docs/arch/device_target_interactions.rst diff --git a/docs/dev/frontend/tensorflow.rst b/docs/arch/frontend/tensorflow.rst similarity index 100% rename from docs/dev/frontend/tensorflow.rst rename to docs/arch/frontend/tensorflow.rst diff --git a/docs/dev/hybrid_script.rst b/docs/arch/hybrid_script.rst similarity index 100% rename from docs/dev/hybrid_script.rst rename to docs/arch/hybrid_script.rst diff --git a/docs/dev/index.rst b/docs/arch/index.rst similarity index 100% rename from docs/dev/index.rst rename to docs/arch/index.rst diff --git a/docs/dev/inferbound.rst b/docs/arch/inferbound.rst similarity index 100% rename from docs/dev/inferbound.rst rename to docs/arch/inferbound.rst diff --git a/docs/dev/introduction_to_module_serialization.rst b/docs/arch/introduction_to_module_serialization.rst similarity index 100% rename from docs/dev/introduction_to_module_serialization.rst rename to docs/arch/introduction_to_module_serialization.rst diff --git a/docs/dev/microtvm_design.rst b/docs/arch/microtvm_design.rst similarity index 100% rename from docs/dev/microtvm_design.rst rename to docs/arch/microtvm_design.rst diff --git a/docs/dev/model_library_format.rst b/docs/arch/model_library_format.rst similarity index 100% rename from docs/dev/model_library_format.rst rename to docs/arch/model_library_format.rst diff --git a/docs/dev/pass_infra.rst b/docs/arch/pass_infra.rst similarity index 100% rename from docs/dev/pass_infra.rst rename to docs/arch/pass_infra.rst diff --git a/docs/dev/relay_intro.rst b/docs/arch/relay_intro.rst similarity index 100% rename from docs/dev/relay_intro.rst rename to docs/arch/relay_intro.rst diff --git a/docs/dev/relay_op_strategy.rst b/docs/arch/relay_op_strategy.rst similarity index 100% rename from docs/dev/relay_op_strategy.rst rename to docs/arch/relay_op_strategy.rst diff --git a/docs/dev/runtime.rst b/docs/arch/runtime.rst similarity index 100% rename from docs/dev/runtime.rst rename to docs/arch/runtime.rst diff --git a/docs/dev/runtimes/vulkan.rst b/docs/arch/runtimes/vulkan.rst similarity index 100% rename from docs/dev/runtimes/vulkan.rst rename to docs/arch/runtimes/vulkan.rst diff --git a/docs/dev/security.rst b/docs/arch/security.rst similarity index 100% rename from docs/dev/security.rst rename to docs/arch/security.rst diff --git a/docs/dev/virtual_machine.rst b/docs/arch/virtual_machine.rst similarity index 100% rename from docs/dev/virtual_machine.rst rename to docs/arch/virtual_machine.rst diff --git a/docs/conf.py b/docs/conf.py index 03e0fae97090..455a832f1553 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -210,21 +210,38 @@ def git_describe_version(original_version): from sphinx_gallery.sorting import ExplicitOrder examples_dirs = [tvm_path.joinpath("tutorials"), tvm_path.joinpath("vta", "tutorials")] -gallery_dirs = ["tutorials", "vta/tutorials"] + +gallery_dirs = [ + "tutorial", + "how_to/compile_models", + "how_to/deploy_models", + "how_to/work_with_relay", + "how_to/work_with_schedules", + "how_to/optimize_operators", + "how_to/tune_with_autotvm", + "how_to/tune_with_autoscheduler", + "how_to/work_with_microtvm", + "how_to/extend_tvm", + "topic/vta/tutorials", +] + +examples_dirs = [ + tvm_path.joinpath("gallery/tutorial"), + tvm_path.joinpath("gallery/how_to/compile_models"), + tvm_path.joinpath("gallery/how_to/deploy_models"), + tvm_path.joinpath("gallery/how_to/work_with_relay"), + tvm_path.joinpath("gallery/how_to/work_with_schedules"), + tvm_path.joinpath("gallery/how_to/optimize_operators"), + tvm_path.joinpath("gallery/how_to/tune_with_autotvm"), + tvm_path.joinpath("gallery/how_to/tune_with_autoscheduler"), + tvm_path.joinpath("gallery/how_to/work_with_microtvm"), + tvm_path.joinpath("gallery/how_to/extend_tvm"), + tvm_path.joinpath("vta/tutorials"), +] subsection_order = ExplicitOrder( str(p) for p in [ - tvm_path / "tutorials" / "get_started", - tvm_path / "tutorials" / "frontend", - tvm_path / "tutorials" / "language", - tvm_path / "tutorials" / "optimize", - tvm_path / "tutorials" / "autotvm", - tvm_path / "tutorials" / "auto_scheduler", - tvm_path / "tutorials" / "dev", - tvm_path / "tutorials" / "topi", - tvm_path / "tutorials" / "deployment", - tvm_path / "tutorials" / "micro", tvm_path / "vta" / "tutorials" / "frontend", tvm_path / "vta" / "tutorials" / "optimize", tvm_path / "vta" / "tutorials" / "autotvm", @@ -236,7 +253,7 @@ def git_describe_version(original_version): # The unlisted files are sorted by filenames. # The unlisted files always appear after listed files. within_subsection_order = { - "get_started": [ + "tutorial": [ "introduction.py", "install.py", "tvmc_command_line_driver.py", @@ -244,10 +261,11 @@ def git_describe_version(original_version): "tensor_expr_get_started.py", "autotvm_matmul_x86.py", "auto_scheduler_matmul_x86.py", + "topi.pi", "cross_compilation_and_rpc.py", "relay_quick_start.py", ], - "frontend": [ + "compile_models": [ "from_pytorch.py", "from_tensorflow.py", "from_mxnet.py", @@ -259,7 +277,7 @@ def git_describe_version(original_version): "from_caffe2.py", "from_paddle.py", ], - "language": [ + "work_with_schedules": [ "schedule_primitives.py", "reduction.py", "intrin_math.py", @@ -269,26 +287,25 @@ def git_describe_version(original_version): "tuple_inputs.py", "tedd.py", ], - "optimize": [ + "optimize_operators": [ "opt_gemm.py", "opt_conv_cuda.py", "opt_conv_tensorcore.py", ], - "autotvm": [ - "tune_simple_template.py", + "tune_with_autotvm": [ "tune_conv2d_cuda.py", "tune_relay_cuda.py", "tune_relay_x86.py", "tune_relay_arm.py", "tune_relay_mobile_gpu.py", ], - "auto_scheduler": [ + "tune_with_autoscheduler": [ "tune_matmul_x86.py", "tune_conv2d_layer_cuda.py", "tune_network_x86.py", "tune_network_cuda.py", ], - "dev": [ + "extend_tvm": [ "low_level_custom_pass.py", "use_pass_infra.py", "use_pass_instrument.py", diff --git a/docs/dev/how_to.rst b/docs/dev/how_to/how_to.rst similarity index 100% rename from docs/dev/how_to.rst rename to docs/dev/how_to/how_to.rst diff --git a/docs/dev/pytest_target_parametrization.rst b/docs/dev/how_to/pytest_target_parametrization.rst similarity index 100% rename from docs/dev/pytest_target_parametrization.rst rename to docs/dev/how_to/pytest_target_parametrization.rst diff --git a/docs/dev/relay_add_op.rst b/docs/dev/how_to/relay_add_op.rst similarity index 100% rename from docs/dev/relay_add_op.rst rename to docs/dev/how_to/relay_add_op.rst diff --git a/docs/dev/relay_add_pass.rst b/docs/dev/how_to/relay_add_pass.rst similarity index 100% rename from docs/dev/relay_add_pass.rst rename to docs/dev/how_to/relay_add_pass.rst diff --git a/docs/dev/relay_bring_your_own_codegen.rst b/docs/dev/how_to/relay_bring_your_own_codegen.rst similarity index 100% rename from docs/dev/relay_bring_your_own_codegen.rst rename to docs/dev/how_to/relay_bring_your_own_codegen.rst diff --git a/docs/dev/codebase_walkthrough.rst b/docs/dev/tutorial/codebase_walkthrough.rst similarity index 100% rename from docs/dev/codebase_walkthrough.rst rename to docs/dev/tutorial/codebase_walkthrough.rst diff --git a/docs/dev/tutorial/index.rst b/docs/dev/tutorial/index.rst new file mode 100644 index 000000000000..88ea27162abb --- /dev/null +++ b/docs/dev/tutorial/index.rst @@ -0,0 +1,29 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _dev-how-to: + +Developer Tutorial +================== + +This section is a guide to the TVM codebase, and an introduction on how to +contribute to different parts of the platform. + +.. toctree:: + :maxdepth: 1 + + codebase_walkthrough diff --git a/docs/deploy/android.rst b/docs/how_to/deploy/android.rst similarity index 100% rename from docs/deploy/android.rst rename to docs/how_to/deploy/android.rst diff --git a/docs/deploy/arm_compute_lib.rst b/docs/how_to/deploy/arm_compute_lib.rst similarity index 100% rename from docs/deploy/arm_compute_lib.rst rename to docs/how_to/deploy/arm_compute_lib.rst diff --git a/docs/deploy/bnns.rst b/docs/how_to/deploy/bnns.rst similarity index 100% rename from docs/deploy/bnns.rst rename to docs/how_to/deploy/bnns.rst diff --git a/docs/deploy/cpp_deploy.rst b/docs/how_to/deploy/cpp_deploy.rst similarity index 100% rename from docs/deploy/cpp_deploy.rst rename to docs/how_to/deploy/cpp_deploy.rst diff --git a/docs/deploy/hls.rst b/docs/how_to/deploy/hls.rst similarity index 100% rename from docs/deploy/hls.rst rename to docs/how_to/deploy/hls.rst diff --git a/docs/deploy/index.rst b/docs/how_to/deploy/index.rst similarity index 100% rename from docs/deploy/index.rst rename to docs/how_to/deploy/index.rst diff --git a/docs/deploy/integrate.rst b/docs/how_to/deploy/integrate.rst similarity index 100% rename from docs/deploy/integrate.rst rename to docs/how_to/deploy/integrate.rst diff --git a/docs/deploy/tensorrt.rst b/docs/how_to/deploy/tensorrt.rst similarity index 100% rename from docs/deploy/tensorrt.rst rename to docs/how_to/deploy/tensorrt.rst diff --git a/docs/deploy/vitis_ai.rst b/docs/how_to/deploy/vitis_ai.rst similarity index 100% rename from docs/deploy/vitis_ai.rst rename to docs/how_to/deploy/vitis_ai.rst diff --git a/docs/how_to/index.rst b/docs/how_to/index.rst new file mode 100644 index 000000000000..45d0add51c9c --- /dev/null +++ b/docs/how_to/index.rst @@ -0,0 +1,38 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +How To Guides +============= + +These user-focused "how to" guides are designed to help you find answers to +specific questions, like "How do I compile a model?" or "How to I optimize a +schedule with tesor expressions?" + +.. toctree:: + :maxdepth: 1 + + compile_models/index + deploy_models/index + deploy/index + work_with_relay/index + work_with_schedules/index + optimize_operators/index + tune_with_autotvm/index + tune_with_autoscheduler/index + work_with_microtvm/index + extend_tvm/index + profile/index diff --git a/docs/profiling/index.rst b/docs/how_to/profile/index.rst similarity index 100% rename from docs/profiling/index.rst rename to docs/how_to/profile/index.rst diff --git a/docs/profiling/papi.rst b/docs/how_to/profile/papi.rst similarity index 100% rename from docs/profiling/papi.rst rename to docs/how_to/profile/papi.rst diff --git a/docs/index.rst b/docs/index.rst index 491c42712e9a..aeb40805c62b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,76 +15,60 @@ specific language governing permissions and limitations under the License. -TVM Documentation -================= - -TVM is an open deep learning compiler stack for CPUs, GPUs, and specialized accelerators. It aims to close the gap between the productivity-focused deep learning frameworks, and the performance- or efficiency-oriented hardware backends. - - -Get Started ------------ - -- Follow the :doc:`instructions ` to install TVM. -- Checkout the :doc:`Getting Started with TVM Tutorial `. - -For Developers --------------- - -- :doc:`dev/index` is useful for developers who want to understand the - architecture of TVM and/or actively develop on the project. -- :doc:`dev/how_to` gives quick development tips on various topics. - +Apache TVM Documentation +======================== + +Welcome to the the documentation for Apache TVM, a deep learning compiler that +enables access to high-performance machine learning anywhere for everyone. +TVM's diverse community of hardware vendors, compiler engineers and ML +researchers work together to build a unified, programmable software stack, that +enriches the entire ML technology ecosystem and make it accessible to the wider +ML community. TVM empowers users to leverage community-driven ML-based +optimizations to push the limits and amplify the reach of their research and +development, which in turn raises the collective performance of all ML, while +driving its costs down. .. toctree:: :maxdepth: 1 - :caption: How to - :hidden: + :caption: Getting Started install/index contribute/index - deploy/index - dev/how_to - microtvm/index - errors - faq .. toctree:: :maxdepth: 1 - :caption: Tutorials - :hidden: - - tutorials/index + :caption: User Guide + tutorial/index + how_to/index .. toctree:: - :maxdepth: 2 - :caption: References - :hidden: + :maxdepth: 1 + :caption: Developer Guide - langref/index - api/python/index - api/links + dev/tutorial/index + dev/how_to/how_to.rst .. toctree:: - :maxdepth: 2 - :hidden: - :caption: Deep Dive + :maxdepth: 1 + :caption: Architecture Guide - dev/index + arch/index .. toctree:: - :maxdepth: 2 - :hidden: - :caption: MISC - - vta/index - profiling/index - + :maxdepth: 1 + :caption: Topic Guides -Index ------ + topic/microtvm/index + topic/vta/index .. toctree:: :maxdepth: 1 + :caption: Reference Guide + reference/deploy/index + reference/langref/index + reference/api/python/index + reference/api/links + reference/publications genindex diff --git a/docs/install/index.rst b/docs/install/index.rst index 5f739418add3..7edf765f5221 100644 --- a/docs/install/index.rst +++ b/docs/install/index.rst @@ -17,16 +17,24 @@ .. _installation: -Installation -============ -To install TVM, please read :ref:`install-from-source`. -If you are interested in deploying to mobile/embedded devices, -you do not need to install the entire TVM stack on your device, -instead, you only need the runtime, please read :ref:`deploy-and-integration`. -If you would like to quickly try out TVM or do demo/tutorials, checkout :ref:`docker-images` +Installing TVM +============== + +TVM is still pre-1.0 release software, meaning that it is under active +development and is changing quickly. Because of this, it is best to +:doc:`install TVM from source ` to guarantee you +have the latest features and bug fixes. If you are interested in deploying to +mobile or embedded devices, you do not need to install the entire TVM stack on +your device. Instead, you only need the runtime and can install using the +:doc:`deployment and integration guide `. + +If you would like to quickly try out TVM or run some demo and tutorials, you +can :doc:`install from Docker `, or install using the +third-party :doc:`TLCPack Python and Conda packages ` .. toctree:: :maxdepth: 2 from_source docker + tlcpack diff --git a/docs/install/tlcpack.rst b/docs/install/tlcpack.rst new file mode 100644 index 000000000000..541cffb0c2c2 --- /dev/null +++ b/docs/install/tlcpack.rst @@ -0,0 +1,38 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _tlcpack: + +TLCPack +======= + +The Tensor Learning Compiler binary Package (TLCPack) community builds and +maintains third-party packaging based on Apache TVM. TLCPack is a community +maintained release that does not contain any additional source code from the +TVM source repository. It takes source code from Apache TVM and builds Pip and +Conda binary packages with different build configurations, for both the stable +release and the nightly release. Please note that additional licensing +conditions may apply (for example, the CUDA EULA is enforced for the CUDA +enabled package) when you use the binary builds. + +TLCPack is not part of Apache and is run by thirdparty community volunteers. +Please refer to the official Apache TVM website for Apache source releases. + +Licenses for TVM and its dependencies can be found in the github repository. + +More information on installing with TLCPack can be found on the `TLCPack site +`_. diff --git a/docs/api/links.rst b/docs/reference/api/links.rst similarity index 100% rename from docs/api/links.rst rename to docs/reference/api/links.rst diff --git a/docs/api/python/auto_scheduler.rst b/docs/reference/api/python/auto_scheduler.rst similarity index 100% rename from docs/api/python/auto_scheduler.rst rename to docs/reference/api/python/auto_scheduler.rst diff --git a/docs/api/python/autotvm.rst b/docs/reference/api/python/autotvm.rst similarity index 100% rename from docs/api/python/autotvm.rst rename to docs/reference/api/python/autotvm.rst diff --git a/docs/api/python/contrib.rst b/docs/reference/api/python/contrib.rst similarity index 100% rename from docs/api/python/contrib.rst rename to docs/reference/api/python/contrib.rst diff --git a/docs/api/python/driver.rst b/docs/reference/api/python/driver.rst similarity index 100% rename from docs/api/python/driver.rst rename to docs/reference/api/python/driver.rst diff --git a/docs/api/python/error.rst b/docs/reference/api/python/error.rst similarity index 100% rename from docs/api/python/error.rst rename to docs/reference/api/python/error.rst diff --git a/docs/api/python/graph_executor.rst b/docs/reference/api/python/graph_executor.rst similarity index 100% rename from docs/api/python/graph_executor.rst rename to docs/reference/api/python/graph_executor.rst diff --git a/docs/api/python/index.rst b/docs/reference/api/python/index.rst similarity index 100% rename from docs/api/python/index.rst rename to docs/reference/api/python/index.rst diff --git a/docs/api/python/ir.rst b/docs/reference/api/python/ir.rst similarity index 100% rename from docs/api/python/ir.rst rename to docs/reference/api/python/ir.rst diff --git a/docs/api/python/micro.rst b/docs/reference/api/python/micro.rst similarity index 100% rename from docs/api/python/micro.rst rename to docs/reference/api/python/micro.rst diff --git a/docs/api/python/ndarray.rst b/docs/reference/api/python/ndarray.rst similarity index 100% rename from docs/api/python/ndarray.rst rename to docs/reference/api/python/ndarray.rst diff --git a/docs/api/python/relay/analysis.rst b/docs/reference/api/python/relay/analysis.rst similarity index 100% rename from docs/api/python/relay/analysis.rst rename to docs/reference/api/python/relay/analysis.rst diff --git a/docs/api/python/relay/backend.rst b/docs/reference/api/python/relay/backend.rst similarity index 100% rename from docs/api/python/relay/backend.rst rename to docs/reference/api/python/relay/backend.rst diff --git a/docs/api/python/relay/dataflow_pattern.rst b/docs/reference/api/python/relay/dataflow_pattern.rst similarity index 100% rename from docs/api/python/relay/dataflow_pattern.rst rename to docs/reference/api/python/relay/dataflow_pattern.rst diff --git a/docs/api/python/relay/frontend.rst b/docs/reference/api/python/relay/frontend.rst similarity index 100% rename from docs/api/python/relay/frontend.rst rename to docs/reference/api/python/relay/frontend.rst diff --git a/docs/api/python/relay/image.rst b/docs/reference/api/python/relay/image.rst similarity index 100% rename from docs/api/python/relay/image.rst rename to docs/reference/api/python/relay/image.rst diff --git a/docs/api/python/relay/index.rst b/docs/reference/api/python/relay/index.rst similarity index 100% rename from docs/api/python/relay/index.rst rename to docs/reference/api/python/relay/index.rst diff --git a/docs/api/python/relay/nn.rst b/docs/reference/api/python/relay/nn.rst similarity index 100% rename from docs/api/python/relay/nn.rst rename to docs/reference/api/python/relay/nn.rst diff --git a/docs/api/python/relay/testing.rst b/docs/reference/api/python/relay/testing.rst similarity index 100% rename from docs/api/python/relay/testing.rst rename to docs/reference/api/python/relay/testing.rst diff --git a/docs/api/python/relay/transform.rst b/docs/reference/api/python/relay/transform.rst similarity index 100% rename from docs/api/python/relay/transform.rst rename to docs/reference/api/python/relay/transform.rst diff --git a/docs/api/python/relay/vision.rst b/docs/reference/api/python/relay/vision.rst similarity index 100% rename from docs/api/python/relay/vision.rst rename to docs/reference/api/python/relay/vision.rst diff --git a/docs/api/python/rpc.rst b/docs/reference/api/python/rpc.rst similarity index 100% rename from docs/api/python/rpc.rst rename to docs/reference/api/python/rpc.rst diff --git a/docs/api/python/runtime.rst b/docs/reference/api/python/runtime.rst similarity index 100% rename from docs/api/python/runtime.rst rename to docs/reference/api/python/runtime.rst diff --git a/docs/api/python/target.rst b/docs/reference/api/python/target.rst similarity index 100% rename from docs/api/python/target.rst rename to docs/reference/api/python/target.rst diff --git a/docs/api/python/te.rst b/docs/reference/api/python/te.rst similarity index 100% rename from docs/api/python/te.rst rename to docs/reference/api/python/te.rst diff --git a/docs/api/python/tir.rst b/docs/reference/api/python/tir.rst similarity index 100% rename from docs/api/python/tir.rst rename to docs/reference/api/python/tir.rst diff --git a/docs/api/python/topi.rst b/docs/reference/api/python/topi.rst similarity index 100% rename from docs/api/python/topi.rst rename to docs/reference/api/python/topi.rst diff --git a/docs/api/python/vta/index.rst b/docs/reference/api/python/vta/index.rst similarity index 100% rename from docs/api/python/vta/index.rst rename to docs/reference/api/python/vta/index.rst diff --git a/docs/langref/hybrid_script.rst b/docs/reference/langref/hybrid_script.rst similarity index 100% rename from docs/langref/hybrid_script.rst rename to docs/reference/langref/hybrid_script.rst diff --git a/docs/langref/index.rst b/docs/reference/langref/index.rst similarity index 100% rename from docs/langref/index.rst rename to docs/reference/langref/index.rst diff --git a/docs/langref/relay_adt.rst b/docs/reference/langref/relay_adt.rst similarity index 100% rename from docs/langref/relay_adt.rst rename to docs/reference/langref/relay_adt.rst diff --git a/docs/langref/relay_expr.rst b/docs/reference/langref/relay_expr.rst similarity index 100% rename from docs/langref/relay_expr.rst rename to docs/reference/langref/relay_expr.rst diff --git a/docs/langref/relay_op.rst b/docs/reference/langref/relay_op.rst similarity index 100% rename from docs/langref/relay_op.rst rename to docs/reference/langref/relay_op.rst diff --git a/docs/langref/relay_pattern.rst b/docs/reference/langref/relay_pattern.rst similarity index 100% rename from docs/langref/relay_pattern.rst rename to docs/reference/langref/relay_pattern.rst diff --git a/docs/langref/relay_type.rst b/docs/reference/langref/relay_type.rst similarity index 100% rename from docs/langref/relay_type.rst rename to docs/reference/langref/relay_type.rst diff --git a/docs/reference/publications.rst b/docs/reference/publications.rst new file mode 100644 index 000000000000..3a90a3ad3c25 --- /dev/null +++ b/docs/reference/publications.rst @@ -0,0 +1,31 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + +.. http://www.apache.org/licenses/LICENSE-2.0 + +.. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +Publications +============ + +TVM is developed as part of peer-reviewed research in machine learning compiler +framework for CPUs, GPUs, and machine learning accelerators. + +This document includes references to publications describing the research, +results, and design underlying TVM. + +* `TVM: An Automated End-to-End Optimizing Compiler for Deep Learning `_ +* `Learning to Optimize Tensor Programs `_ +* `Ansor: Generating High-Performance Tensor Programs for Deep Learning `_ +* `Nimble: Efficiently Compiling Dynamic Neural Networks for Model Inference + `_ diff --git a/docs/microtvm/index.rst b/docs/topic/microtvm/index.rst similarity index 100% rename from docs/microtvm/index.rst rename to docs/topic/microtvm/index.rst diff --git a/docs/vta/.gitignore b/docs/topic/vta/.gitignore similarity index 100% rename from docs/vta/.gitignore rename to docs/topic/vta/.gitignore diff --git a/docs/vta/dev/config.rst b/docs/topic/vta/dev/config.rst similarity index 100% rename from docs/vta/dev/config.rst rename to docs/topic/vta/dev/config.rst diff --git a/docs/vta/dev/hardware.rst b/docs/topic/vta/dev/hardware.rst similarity index 100% rename from docs/vta/dev/hardware.rst rename to docs/topic/vta/dev/hardware.rst diff --git a/docs/vta/dev/index.rst b/docs/topic/vta/dev/index.rst similarity index 100% rename from docs/vta/dev/index.rst rename to docs/topic/vta/dev/index.rst diff --git a/docs/vta/index.rst b/docs/topic/vta/index.rst similarity index 100% rename from docs/vta/index.rst rename to docs/topic/vta/index.rst diff --git a/docs/vta/install.rst b/docs/topic/vta/install.rst similarity index 100% rename from docs/vta/install.rst rename to docs/topic/vta/install.rst diff --git a/tutorials/frontend/README.txt b/gallery/how_to/compile_models/README.txt similarity index 100% rename from tutorials/frontend/README.txt rename to gallery/how_to/compile_models/README.txt diff --git a/tutorials/frontend/from_caffe2.py b/gallery/how_to/compile_models/from_caffe2.py similarity index 100% rename from tutorials/frontend/from_caffe2.py rename to gallery/how_to/compile_models/from_caffe2.py diff --git a/tutorials/frontend/from_coreml.py b/gallery/how_to/compile_models/from_coreml.py similarity index 100% rename from tutorials/frontend/from_coreml.py rename to gallery/how_to/compile_models/from_coreml.py diff --git a/tutorials/frontend/from_darknet.py b/gallery/how_to/compile_models/from_darknet.py similarity index 100% rename from tutorials/frontend/from_darknet.py rename to gallery/how_to/compile_models/from_darknet.py diff --git a/tutorials/frontend/from_keras.py b/gallery/how_to/compile_models/from_keras.py similarity index 100% rename from tutorials/frontend/from_keras.py rename to gallery/how_to/compile_models/from_keras.py diff --git a/tutorials/frontend/from_mxnet.py b/gallery/how_to/compile_models/from_mxnet.py similarity index 100% rename from tutorials/frontend/from_mxnet.py rename to gallery/how_to/compile_models/from_mxnet.py diff --git a/tutorials/frontend/from_onnx.py b/gallery/how_to/compile_models/from_onnx.py similarity index 100% rename from tutorials/frontend/from_onnx.py rename to gallery/how_to/compile_models/from_onnx.py diff --git a/tutorials/frontend/from_paddle.py b/gallery/how_to/compile_models/from_paddle.py similarity index 100% rename from tutorials/frontend/from_paddle.py rename to gallery/how_to/compile_models/from_paddle.py diff --git a/tutorials/frontend/from_pytorch.py b/gallery/how_to/compile_models/from_pytorch.py similarity index 100% rename from tutorials/frontend/from_pytorch.py rename to gallery/how_to/compile_models/from_pytorch.py diff --git a/tutorials/frontend/from_tensorflow.py b/gallery/how_to/compile_models/from_tensorflow.py similarity index 100% rename from tutorials/frontend/from_tensorflow.py rename to gallery/how_to/compile_models/from_tensorflow.py diff --git a/tutorials/frontend/from_tflite.py b/gallery/how_to/compile_models/from_tflite.py similarity index 100% rename from tutorials/frontend/from_tflite.py rename to gallery/how_to/compile_models/from_tflite.py diff --git a/gallery/how_to/deploy_models/README.txt b/gallery/how_to/deploy_models/README.txt new file mode 100644 index 000000000000..22323c4e521b --- /dev/null +++ b/gallery/how_to/deploy_models/README.txt @@ -0,0 +1,6 @@ +Deploy Deep Learning Models +--------------------------- + +TVM is capable of deploying models to a variety of different platforms. These +how-tos describe how to prepapre and deploy models to many of the supported +backends. diff --git a/tutorials/frontend/deploy_model_on_android.py b/gallery/how_to/deploy_models/deploy_model_on_android.py similarity index 100% rename from tutorials/frontend/deploy_model_on_android.py rename to gallery/how_to/deploy_models/deploy_model_on_android.py diff --git a/tutorials/frontend/deploy_model_on_rasp.py b/gallery/how_to/deploy_models/deploy_model_on_rasp.py similarity index 100% rename from tutorials/frontend/deploy_model_on_rasp.py rename to gallery/how_to/deploy_models/deploy_model_on_rasp.py diff --git a/tutorials/frontend/deploy_object_detection_pytorch.py b/gallery/how_to/deploy_models/deploy_object_detection_pytorch.py similarity index 100% rename from tutorials/frontend/deploy_object_detection_pytorch.py rename to gallery/how_to/deploy_models/deploy_object_detection_pytorch.py diff --git a/tutorials/frontend/deploy_prequantized.py b/gallery/how_to/deploy_models/deploy_prequantized.py similarity index 100% rename from tutorials/frontend/deploy_prequantized.py rename to gallery/how_to/deploy_models/deploy_prequantized.py diff --git a/tutorials/frontend/deploy_prequantized_tflite.py b/gallery/how_to/deploy_models/deploy_prequantized_tflite.py similarity index 100% rename from tutorials/frontend/deploy_prequantized_tflite.py rename to gallery/how_to/deploy_models/deploy_prequantized_tflite.py diff --git a/tutorials/frontend/deploy_quantized.py b/gallery/how_to/deploy_models/deploy_quantized.py similarity index 100% rename from tutorials/frontend/deploy_quantized.py rename to gallery/how_to/deploy_models/deploy_quantized.py diff --git a/tutorials/frontend/deploy_sparse.py b/gallery/how_to/deploy_models/deploy_sparse.py similarity index 100% rename from tutorials/frontend/deploy_sparse.py rename to gallery/how_to/deploy_models/deploy_sparse.py diff --git a/tutorials/frontend/deploy_ssd_gluoncv.py b/gallery/how_to/deploy_models/deploy_ssd_gluoncv.py similarity index 100% rename from tutorials/frontend/deploy_ssd_gluoncv.py rename to gallery/how_to/deploy_models/deploy_ssd_gluoncv.py diff --git a/tutorials/dev/README.txt b/gallery/how_to/extend_tvm/README.txt similarity index 100% rename from tutorials/dev/README.txt rename to gallery/how_to/extend_tvm/README.txt diff --git a/tutorials/dev/bring_your_own_datatypes.py b/gallery/how_to/extend_tvm/bring_your_own_datatypes.py similarity index 100% rename from tutorials/dev/bring_your_own_datatypes.py rename to gallery/how_to/extend_tvm/bring_your_own_datatypes.py diff --git a/tutorials/dev/low_level_custom_pass.py b/gallery/how_to/extend_tvm/low_level_custom_pass.py similarity index 100% rename from tutorials/dev/low_level_custom_pass.py rename to gallery/how_to/extend_tvm/low_level_custom_pass.py diff --git a/tutorials/dev/use_pass_infra.py b/gallery/how_to/extend_tvm/use_pass_infra.py similarity index 100% rename from tutorials/dev/use_pass_infra.py rename to gallery/how_to/extend_tvm/use_pass_infra.py diff --git a/tutorials/dev/use_pass_instrument.py b/gallery/how_to/extend_tvm/use_pass_instrument.py similarity index 100% rename from tutorials/dev/use_pass_instrument.py rename to gallery/how_to/extend_tvm/use_pass_instrument.py diff --git a/tutorials/optimize/README.txt b/gallery/how_to/optimize_operators/README.txt similarity index 100% rename from tutorials/optimize/README.txt rename to gallery/how_to/optimize_operators/README.txt diff --git a/tutorials/optimize/opt_conv_cuda.py b/gallery/how_to/optimize_operators/opt_conv_cuda.py similarity index 100% rename from tutorials/optimize/opt_conv_cuda.py rename to gallery/how_to/optimize_operators/opt_conv_cuda.py diff --git a/tutorials/optimize/opt_conv_tensorcore.py b/gallery/how_to/optimize_operators/opt_conv_tensorcore.py similarity index 100% rename from tutorials/optimize/opt_conv_tensorcore.py rename to gallery/how_to/optimize_operators/opt_conv_tensorcore.py diff --git a/tutorials/optimize/opt_gemm.py b/gallery/how_to/optimize_operators/opt_gemm.py similarity index 100% rename from tutorials/optimize/opt_gemm.py rename to gallery/how_to/optimize_operators/opt_gemm.py diff --git a/tutorials/auto_scheduler/README.txt b/gallery/how_to/tune_with_autoscheduler/README.txt similarity index 100% rename from tutorials/auto_scheduler/README.txt rename to gallery/how_to/tune_with_autoscheduler/README.txt diff --git a/tutorials/auto_scheduler/ci_logs/conv2d.json b/gallery/how_to/tune_with_autoscheduler/ci_logs/conv2d.json similarity index 100% rename from tutorials/auto_scheduler/ci_logs/conv2d.json rename to gallery/how_to/tune_with_autoscheduler/ci_logs/conv2d.json diff --git a/tutorials/auto_scheduler/ci_logs/matmul.json b/gallery/how_to/tune_with_autoscheduler/ci_logs/matmul.json similarity index 100% rename from tutorials/auto_scheduler/ci_logs/matmul.json rename to gallery/how_to/tune_with_autoscheduler/ci_logs/matmul.json diff --git a/tutorials/auto_scheduler/ci_logs/resnet-18-NHWC-B1-cuda.json b/gallery/how_to/tune_with_autoscheduler/ci_logs/resnet-18-NHWC-B1-cuda.json similarity index 100% rename from tutorials/auto_scheduler/ci_logs/resnet-18-NHWC-B1-cuda.json rename to gallery/how_to/tune_with_autoscheduler/ci_logs/resnet-18-NHWC-B1-cuda.json diff --git a/tutorials/auto_scheduler/ci_logs/resnet-50-NHWC-B1-llvm.json b/gallery/how_to/tune_with_autoscheduler/ci_logs/resnet-50-NHWC-B1-llvm.json similarity index 100% rename from tutorials/auto_scheduler/ci_logs/resnet-50-NHWC-B1-llvm.json rename to gallery/how_to/tune_with_autoscheduler/ci_logs/resnet-50-NHWC-B1-llvm.json diff --git a/tutorials/auto_scheduler/ci_logs/sparse_dense.json b/gallery/how_to/tune_with_autoscheduler/ci_logs/sparse_dense.json similarity index 100% rename from tutorials/auto_scheduler/ci_logs/sparse_dense.json rename to gallery/how_to/tune_with_autoscheduler/ci_logs/sparse_dense.json diff --git a/tutorials/auto_scheduler/tune_conv2d_layer_cuda.py b/gallery/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.py similarity index 100% rename from tutorials/auto_scheduler/tune_conv2d_layer_cuda.py rename to gallery/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.py diff --git a/tutorials/auto_scheduler/tune_network_arm.py b/gallery/how_to/tune_with_autoscheduler/tune_network_arm.py similarity index 100% rename from tutorials/auto_scheduler/tune_network_arm.py rename to gallery/how_to/tune_with_autoscheduler/tune_network_arm.py diff --git a/tutorials/auto_scheduler/tune_network_cuda.py b/gallery/how_to/tune_with_autoscheduler/tune_network_cuda.py similarity index 100% rename from tutorials/auto_scheduler/tune_network_cuda.py rename to gallery/how_to/tune_with_autoscheduler/tune_network_cuda.py diff --git a/tutorials/auto_scheduler/tune_network_mali.py b/gallery/how_to/tune_with_autoscheduler/tune_network_mali.py similarity index 100% rename from tutorials/auto_scheduler/tune_network_mali.py rename to gallery/how_to/tune_with_autoscheduler/tune_network_mali.py diff --git a/tutorials/auto_scheduler/tune_network_x86.py b/gallery/how_to/tune_with_autoscheduler/tune_network_x86.py similarity index 100% rename from tutorials/auto_scheduler/tune_network_x86.py rename to gallery/how_to/tune_with_autoscheduler/tune_network_x86.py diff --git a/tutorials/auto_scheduler/tune_sparse_x86.py b/gallery/how_to/tune_with_autoscheduler/tune_sparse_x86.py similarity index 100% rename from tutorials/auto_scheduler/tune_sparse_x86.py rename to gallery/how_to/tune_with_autoscheduler/tune_sparse_x86.py diff --git a/tutorials/autotvm/README.txt b/gallery/how_to/tune_with_autotvm/README.txt similarity index 100% rename from tutorials/autotvm/README.txt rename to gallery/how_to/tune_with_autotvm/README.txt diff --git a/tutorials/autotvm/tune_conv2d_cuda.py b/gallery/how_to/tune_with_autotvm/tune_conv2d_cuda.py similarity index 100% rename from tutorials/autotvm/tune_conv2d_cuda.py rename to gallery/how_to/tune_with_autotvm/tune_conv2d_cuda.py diff --git a/tutorials/autotvm/tune_relay_arm.py b/gallery/how_to/tune_with_autotvm/tune_relay_arm.py similarity index 100% rename from tutorials/autotvm/tune_relay_arm.py rename to gallery/how_to/tune_with_autotvm/tune_relay_arm.py diff --git a/tutorials/autotvm/tune_relay_cuda.py b/gallery/how_to/tune_with_autotvm/tune_relay_cuda.py similarity index 100% rename from tutorials/autotvm/tune_relay_cuda.py rename to gallery/how_to/tune_with_autotvm/tune_relay_cuda.py diff --git a/tutorials/autotvm/tune_relay_mobile_gpu.py b/gallery/how_to/tune_with_autotvm/tune_relay_mobile_gpu.py similarity index 100% rename from tutorials/autotvm/tune_relay_mobile_gpu.py rename to gallery/how_to/tune_with_autotvm/tune_relay_mobile_gpu.py diff --git a/tutorials/autotvm/tune_relay_x86.py b/gallery/how_to/tune_with_autotvm/tune_relay_x86.py similarity index 100% rename from tutorials/autotvm/tune_relay_x86.py rename to gallery/how_to/tune_with_autotvm/tune_relay_x86.py diff --git a/tutorials/micro/README.txt b/gallery/how_to/work_with_microtvm/README.txt similarity index 100% rename from tutorials/micro/README.txt rename to gallery/how_to/work_with_microtvm/README.txt diff --git a/tutorials/micro/micro_autotune.py b/gallery/how_to/work_with_microtvm/micro_autotune.py similarity index 100% rename from tutorials/micro/micro_autotune.py rename to gallery/how_to/work_with_microtvm/micro_autotune.py diff --git a/tutorials/micro/micro_reference_vm.py b/gallery/how_to/work_with_microtvm/micro_reference_vm.py similarity index 100% rename from tutorials/micro/micro_reference_vm.py rename to gallery/how_to/work_with_microtvm/micro_reference_vm.py diff --git a/tutorials/micro/micro_tflite.py b/gallery/how_to/work_with_microtvm/micro_tflite.py similarity index 100% rename from tutorials/micro/micro_tflite.py rename to gallery/how_to/work_with_microtvm/micro_tflite.py diff --git a/gallery/how_to/work_with_relay/README.txt b/gallery/how_to/work_with_relay/README.txt new file mode 100644 index 000000000000..e25e1782c03f --- /dev/null +++ b/gallery/how_to/work_with_relay/README.txt @@ -0,0 +1,2 @@ +Work With Relay +--------------- diff --git a/tutorials/frontend/build_gcn.py b/gallery/how_to/work_with_relay/build_gcn.py similarity index 100% rename from tutorials/frontend/build_gcn.py rename to gallery/how_to/work_with_relay/build_gcn.py diff --git a/tutorials/frontend/using_external_lib.py b/gallery/how_to/work_with_relay/using_external_lib.py similarity index 100% rename from tutorials/frontend/using_external_lib.py rename to gallery/how_to/work_with_relay/using_external_lib.py diff --git a/tutorials/language/README.txt b/gallery/how_to/work_with_schedules/README.txt similarity index 100% rename from tutorials/language/README.txt rename to gallery/how_to/work_with_schedules/README.txt diff --git a/tutorials/language/extern_op.py b/gallery/how_to/work_with_schedules/extern_op.py similarity index 100% rename from tutorials/language/extern_op.py rename to gallery/how_to/work_with_schedules/extern_op.py diff --git a/tutorials/language/intrin_math.py b/gallery/how_to/work_with_schedules/intrin_math.py similarity index 100% rename from tutorials/language/intrin_math.py rename to gallery/how_to/work_with_schedules/intrin_math.py diff --git a/tutorials/language/reduction.py b/gallery/how_to/work_with_schedules/reduction.py similarity index 100% rename from tutorials/language/reduction.py rename to gallery/how_to/work_with_schedules/reduction.py diff --git a/tutorials/language/scan.py b/gallery/how_to/work_with_schedules/scan.py similarity index 100% rename from tutorials/language/scan.py rename to gallery/how_to/work_with_schedules/scan.py diff --git a/tutorials/language/schedule_primitives.py b/gallery/how_to/work_with_schedules/schedule_primitives.py similarity index 100% rename from tutorials/language/schedule_primitives.py rename to gallery/how_to/work_with_schedules/schedule_primitives.py diff --git a/tutorials/language/tedd.py b/gallery/how_to/work_with_schedules/tedd.py similarity index 100% rename from tutorials/language/tedd.py rename to gallery/how_to/work_with_schedules/tedd.py diff --git a/tutorials/language/tensorize.py b/gallery/how_to/work_with_schedules/tensorize.py similarity index 100% rename from tutorials/language/tensorize.py rename to gallery/how_to/work_with_schedules/tensorize.py diff --git a/tutorials/language/tuple_inputs.py b/gallery/how_to/work_with_schedules/tuple_inputs.py similarity index 100% rename from tutorials/language/tuple_inputs.py rename to gallery/how_to/work_with_schedules/tuple_inputs.py diff --git a/tutorials/get_started/README.txt b/gallery/tutorial/README.txt similarity index 100% rename from tutorials/get_started/README.txt rename to gallery/tutorial/README.txt diff --git a/tutorials/get_started/auto_scheduler_matmul_x86.py b/gallery/tutorial/auto_scheduler_matmul_x86.py similarity index 100% rename from tutorials/get_started/auto_scheduler_matmul_x86.py rename to gallery/tutorial/auto_scheduler_matmul_x86.py diff --git a/tutorials/get_started/autotvm_matmul_x86.py b/gallery/tutorial/autotvm_matmul_x86.py similarity index 100% rename from tutorials/get_started/autotvm_matmul_x86.py rename to gallery/tutorial/autotvm_matmul_x86.py diff --git a/tutorials/get_started/autotvm_relay_x86.py b/gallery/tutorial/autotvm_relay_x86.py similarity index 100% rename from tutorials/get_started/autotvm_relay_x86.py rename to gallery/tutorial/autotvm_relay_x86.py diff --git a/tutorials/get_started/cross_compilation_and_rpc.py b/gallery/tutorial/cross_compilation_and_rpc.py similarity index 100% rename from tutorials/get_started/cross_compilation_and_rpc.py rename to gallery/tutorial/cross_compilation_and_rpc.py diff --git a/tutorials/get_started/install.py b/gallery/tutorial/install.py similarity index 100% rename from tutorials/get_started/install.py rename to gallery/tutorial/install.py diff --git a/tutorials/topi/intro_topi.py b/gallery/tutorial/intro_topi.py similarity index 100% rename from tutorials/topi/intro_topi.py rename to gallery/tutorial/intro_topi.py diff --git a/tutorials/get_started/introduction.py b/gallery/tutorial/introduction.py similarity index 100% rename from tutorials/get_started/introduction.py rename to gallery/tutorial/introduction.py diff --git a/tutorials/get_started/relay_quick_start.py b/gallery/tutorial/relay_quick_start.py similarity index 100% rename from tutorials/get_started/relay_quick_start.py rename to gallery/tutorial/relay_quick_start.py diff --git a/tutorials/get_started/tensor_expr_get_started.py b/gallery/tutorial/tensor_expr_get_started.py similarity index 100% rename from tutorials/get_started/tensor_expr_get_started.py rename to gallery/tutorial/tensor_expr_get_started.py diff --git a/tutorials/get_started/tvmc_command_line_driver.py b/gallery/tutorial/tvmc_command_line_driver.py similarity index 100% rename from tutorials/get_started/tvmc_command_line_driver.py rename to gallery/tutorial/tvmc_command_line_driver.py diff --git a/tutorials/README.txt b/tutorials/README.txt deleted file mode 100644 index 8b137891791f..000000000000 --- a/tutorials/README.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tutorials/topi/README.txt b/tutorials/topi/README.txt deleted file mode 100644 index eae0aafafc02..000000000000 --- a/tutorials/topi/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -TOPI: TVM Operator Inventory ----------------------------- From 42c68ea52735da41e82e1110648b570a25e739be Mon Sep 17 00:00:00 2001 From: Chris Hoge Date: Tue, 5 Oct 2021 18:10:25 +0000 Subject: [PATCH 2/3] Documentation Refactor - Stage 2 RFC: https://github.com/apache/tvm-rfcs/blob/main/rfcs/0027-formalize-documentation-organization.md Tracking Issue: https://github.com/apache/tvm/issues/8987 Stage 2 of the documentation refactor fixes naming and links in the documentation to be consistent with the overall structure. Major changes include: * an update to how to contribute to docs. * several updated index pages with title changes to match the organization style and bring consistency to the sections * expanded descriptions of some page collections * fixed links --- docs/arch/microtvm_design.rst | 2 + docs/conf.py | 22 +-- docs/contribute/document.rst | 177 ++++++++++++++---- docs/contribute/index.rst | 2 +- docs/dev/how_to/how_to.rst | 1 - docs/dev/tutorial/index.rst | 2 +- docs/errors.rst | 4 +- docs/how_to/deploy/index.rst | 14 +- docs/how_to/index.rst | 3 +- docs/how_to/profile/index.rst | 4 +- docs/index.rst | 1 - docs/install/index.rst | 8 +- docs/reference/api/links.rst | 7 +- docs/topic/microtvm/index.rst | 4 +- docs/topic/vta/index.rst | 4 +- gallery/how_to/compile_models/README.txt | 5 +- gallery/how_to/extend_tvm/README.txt | 8 +- gallery/how_to/optimize_operators/README.txt | 3 + .../how_to/tune_with_autoscheduler/README.txt | 8 +- gallery/how_to/tune_with_autotvm/README.txt | 7 +- gallery/how_to/work_with_microtvm/README.txt | 7 +- .../how_to/work_with_microtvm/micro_tflite.py | 2 + gallery/how_to/work_with_schedules/README.txt | 4 +- gallery/tutorial/README.txt | 12 +- 24 files changed, 233 insertions(+), 78 deletions(-) diff --git a/docs/arch/microtvm_design.rst b/docs/arch/microtvm_design.rst index 885ef2c8fc0d..087b8166c226 100644 --- a/docs/arch/microtvm_design.rst +++ b/docs/arch/microtvm_design.rst @@ -13,6 +13,8 @@ specific language governing permissions and limitations under the License. +.. _microtvm-design: + ************************** microTVM Design Document ************************** diff --git a/docs/conf.py b/docs/conf.py index 455a832f1553..2bacff9ca313 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -226,17 +226,17 @@ def git_describe_version(original_version): ] examples_dirs = [ - tvm_path.joinpath("gallery/tutorial"), - tvm_path.joinpath("gallery/how_to/compile_models"), - tvm_path.joinpath("gallery/how_to/deploy_models"), - tvm_path.joinpath("gallery/how_to/work_with_relay"), - tvm_path.joinpath("gallery/how_to/work_with_schedules"), - tvm_path.joinpath("gallery/how_to/optimize_operators"), - tvm_path.joinpath("gallery/how_to/tune_with_autotvm"), - tvm_path.joinpath("gallery/how_to/tune_with_autoscheduler"), - tvm_path.joinpath("gallery/how_to/work_with_microtvm"), - tvm_path.joinpath("gallery/how_to/extend_tvm"), - tvm_path.joinpath("vta/tutorials"), + tvm_path.joinpath("gallery/tutorial"), + tvm_path.joinpath("gallery/how_to/compile_models"), + tvm_path.joinpath("gallery/how_to/deploy_models"), + tvm_path.joinpath("gallery/how_to/work_with_relay"), + tvm_path.joinpath("gallery/how_to/work_with_schedules"), + tvm_path.joinpath("gallery/how_to/optimize_operators"), + tvm_path.joinpath("gallery/how_to/tune_with_autotvm"), + tvm_path.joinpath("gallery/how_to/tune_with_autoscheduler"), + tvm_path.joinpath("gallery/how_to/work_with_microtvm"), + tvm_path.joinpath("gallery/how_to/extend_tvm"), + tvm_path.joinpath("vta/tutorials"), ] subsection_order = ExplicitOrder( diff --git a/docs/contribute/document.rst b/docs/contribute/document.rst index 3652a2891b37..e3d12e83865d 100644 --- a/docs/contribute/document.rst +++ b/docs/contribute/document.rst @@ -17,22 +17,125 @@ .. _doc_guide: -Write Document and Tutorials -============================ +Write Documentation for TVM +=========================== + +TVM documentation loosely follows the `formal documentation style described by +Divio `_. This system has been chosen because +it is a "simple, comprehensive and nearly universally-applicable scheme. It is +proven in practice across a wide variety of fields and applications." + +This document describes the organization of TVM documentation, and how to write +new documentation. + +The Four Document Types +*********************** + +Introductory Tutorials +---------------------- + +These are step by step guides to introduce new users to a project. An +introductory tutorial is designed to get a user engaged with the software +without necessarily explaining why the software works the way it does. Those +explanations can be saved for other document types. An introductory tutorial +focuses on a successful first experience. These are the most important docs to +turning newcomers into new users and developers. A fully end-to-end +tutorial— from installing TVM and supporting ML software, to creating and +training a model, to compiling to different architectures—will give a new +user the opportunity to use TVM in the most efficient way possible. A tutorial +teaches a beginner something they need to know. This is in contrast with a +how-to, which is meant to be an answer to a question that a user with some +experience would ask. + +Tutorials need to be repeatable and reliable, because the lack of success means +a user will look for other solutions. + +How-to Guides +------------- + +These are step by step guides on how to solve particular problems. The user can +ask meaningful questions, and the documents provide answers. An examples of +this type of document might be, "how do I compile an optimized model for ARM +architecture?" or "how do I compile and optimize a TensorFlow model?" These +documents should be open enough that a user could see how to apply it to a new +use case. Practical usability is more important than completeness. The title +should tell the user what problem the how-to is solving. + +How are tutorials different from how-tos? A tutorial is oriented towards the +new developer, and focuses on successfully introducing them to the software and +community. A how-to, in contrast, focuses on accomplishing a specific task +within the context of basic understanding. A tutorial helps to on-board and +assumes no prior knowledge. A how-to assumes minimum knowledge, and is meant to +guide someone to accomplish a specific task. + +Reference +--------- + +Reference documentation describes how the software is configured and operated. +APIs, key functions, commands, and interfaces are all candidates for reference +documentation. These are the technical manuals that let users build their own +interfaces and programs. They are information oriented, focused on lists and +descriptions. You can assume that the audience has a grasp on how the software +works and is looking for specific answers to specific questions. Ideally, the +reference documentation should have the same structure as the code base and be +generated automatically as much as possible. + +Architecture Guides +------------------- + +Architecture Guides are explanations are background material on a topic. These +documents help to illuminate and understand the application environment. Why +are things the way they are? What were the design decisions, what alternatives +were considered, what are the RFCs describing the existing system? This +includes academic papers and links to publications relevant to the software. +Within these documents you can explore contradictory and conflicting position, +and help the reader make sense of how and why the software was built the way it +is. It's not the place for how-tos and descriptions on how to accomplish tasks. +They instead focus on higher level concepts that help with the understanding of +the project. Generally these are written by the architects and developers of +the project, but can useful to help both users and developers to have a deeper +understanding of why the software works the way it does, and how to contribute +to it in ways that are consistent with the underlying design principles. + +Special considerations for TVM +------------------------------ + +The TVM community has some special considerations that require deviation from +the simple docs style outlined by Divio. The first consideration is that there +is frequently overlap between the user and developer communities. Many projects +document the developer and user experience with separate systems, but it is +appropriate to consider both in this system, with differentiations where +appropriate. As a result the tutorials and how-tos will be divided between +"User Guides" that focus on the user experience, and "Developer Guides" that +focus on the developer experience. + +The next consideration is that there are special topics within the TVM +community that benefit from additional attention. These topics include, but are +not limited to, microTVM and VTA. Special "Topic Guides" can be created to +index existing material, and provide context on how to navigate that material +most effectively. + +To facilitate newcomers, a special "Getting Started" section with installation +instructions, a overview of why to use TVM, and other first-experience +documents will be produced. + + +Technical Details +***************** We use the `Sphinx `_ for the main documentation. -Sphinx support both the reStructuredText and markdown. -When possible, we encourage to use reStructuredText as it has richer features. -Note that the python doc-string and tutorials allow you to embed reStructuredText syntax. +Sphinx support both the reStructuredText and markdown. When possible, we +encourage to use reStructuredText as it has richer features. Note that the +python doc-string and tutorials allow you to embed reStructuredText syntax. -Document Python ---------------- -We use `numpydoc `_ -format to document the function and classes. -The following snippet gives an example docstring. -We always document all the public functions, -when necessary, provide an usage example of the features we support(as shown below). +Python Reference Documentation +------------------------------ + +We use `numpydoc `_ format to +document the function and classes. The following snippet gives an example +docstring. We always document all the public functions, when necessary, +provide an usage example of the features we support(as shown below). .. code:: python @@ -64,18 +167,20 @@ when necessary, provide an usage example of the features we support(as shown bel """ return rv1 -Be careful to leave blank lines between sections of your documents. -In the above case, there has to be a blank line before `Parameters`, `Returns` and `Examples` -in order for the doc to be built correctly. To add a new function to the doc, -we need to add the `sphinx.autodoc `_ -rules to the `docs/api/python `_). -You can refer to the existing files under this folder on how to add the functions. +Be careful to leave blank lines between sections of your documents. In the +above case, there has to be a blank line before `Parameters`, `Returns` and +`Examples` in order for the doc to be built correctly. To add a new function to +the doc, we need to add the `sphinx.autodoc +`_ rules to the +`docs/api/python `_). +You can refer to the existing files under this folder on how to add the +functions. +C++ Reference Documentation +--------------------------- -Document C++ ------------- -We use the doxgen format to document c++ functions. -The following snippet shows an example of c++ docstring. +We use the doxgen format to document c++ functions. The following snippet +shows an example of c++ docstring. .. code:: c++ @@ -89,21 +194,27 @@ The following snippet shows an example of c++ docstring. // When necessary, also add comment to clarify internal logics } -Besides documenting function usages, we also highly recommend contributors -to add comments about code logics to improve readability. +Besides documenting function usages, we also highly recommend contributors to +add comments about code logics to improve readability. +Sphinx Gallery How-Tos +---------------------- -Write Tutorials ---------------- -We use the `sphinx-gallery `_ to build python tutorials. -You can find the source code under `tutorials `_ quite self explanatory. -One thing that worth noting is that the comment blocks are written in reStructuredText instead of markdown so be aware of the syntax. +We use the `sphinx-gallery `_ to build many +python how-tos. You can find the source code under `gallery +`_ quite self explanatory. +One thing that worth noting is that the comment blocks are written in +reStructuredText instead of markdown so be aware of the syntax. -The tutorial code will run on our build server to generate the document page. -So we may have a restriction like not being able to access a remote Raspberry Pi, -in such case add a flag variable to the tutorial (e.g. `use_rasp`) and allow users to easily switch to the real device by changing one flag. -Then use the existing environment to demonstrate the usage. +The how-to code will run on our build server to generate the document page. So +we may have a restriction like not being able to access a remote Raspberry Pi, +in such case add a flag variable to the tutorial (e.g. `use_rasp`) and allow +users to easily switch to the real device by changing one flag. Then use the +existing environment to demonstrate the usage. +If you add a new categorization of how-to, you will need to add references to +`conf.py `_ and the +`how-to index `_ Refer to Another Location in the Document ----------------------------------------- diff --git a/docs/contribute/index.rst b/docs/contribute/index.rst index e3e4119d803e..acacfdc8a6e2 100644 --- a/docs/contribute/index.rst +++ b/docs/contribute/index.rst @@ -15,7 +15,7 @@ specific language governing permissions and limitations under the License. -Contribute to TVM +Contributor Guide ================= TVM has been developed by community members. diff --git a/docs/dev/how_to/how_to.rst b/docs/dev/how_to/how_to.rst index dcf8df2331eb..844ae0ad527e 100644 --- a/docs/dev/how_to/how_to.rst +++ b/docs/dev/how_to/how_to.rst @@ -28,5 +28,4 @@ various areas of the TVM stack. relay_add_op relay_add_pass relay_bring_your_own_codegen - codebase_walkthrough pytest_target_parametrization diff --git a/docs/dev/tutorial/index.rst b/docs/dev/tutorial/index.rst index 88ea27162abb..77fbe0f5405e 100644 --- a/docs/dev/tutorial/index.rst +++ b/docs/dev/tutorial/index.rst @@ -15,7 +15,7 @@ specific language governing permissions and limitations under the License. -.. _dev-how-to: +.. _dev-tutorial: Developer Tutorial ================== diff --git a/docs/errors.rst b/docs/errors.rst index f911ab9c1bab..84ea5551601a 100644 --- a/docs/errors.rst +++ b/docs/errors.rst @@ -16,8 +16,8 @@ under the License. -What do to when encountering TVM Errors -======================================= +Handle TVM Errors +================= When running TVM, you may encounter an error message like: diff --git a/docs/how_to/deploy/index.rst b/docs/how_to/deploy/index.rst index b127de982b61..73269e85db70 100644 --- a/docs/how_to/deploy/index.rst +++ b/docs/how_to/deploy/index.rst @@ -17,8 +17,8 @@ .. _deploy-and-integration: -Deploy and Integration -====================== +Deploy Models and Integrate TVM +=============================== This page contains guidelines on how to deploy TVM to various platforms as well as how to integrate it with your project. @@ -176,4 +176,14 @@ target device without relying on RPC. See the following resources on how to do s vitis_ai bnns +Additional Deployment How-Tos +----------------------------- + +We have also developed a number of how-tos targeting specific devices, with +working Python code that can be viewed in a Jupyter notebook. These how-tos +describe how to prepare and deploy models to many of the supported backends. + +.. toctree:: + :maxdepth: 1 + ../deploy_models/index diff --git a/docs/how_to/index.rst b/docs/how_to/index.rst index 45d0add51c9c..433d7acee95a 100644 --- a/docs/how_to/index.rst +++ b/docs/how_to/index.rst @@ -26,7 +26,6 @@ schedule with tesor expressions?" :maxdepth: 1 compile_models/index - deploy_models/index deploy/index work_with_relay/index work_with_schedules/index @@ -36,3 +35,5 @@ schedule with tesor expressions?" work_with_microtvm/index extend_tvm/index profile/index + ../errors + ../faq diff --git a/docs/how_to/profile/index.rst b/docs/how_to/profile/index.rst index 9443fef25ea6..33642cf469e7 100644 --- a/docs/how_to/profile/index.rst +++ b/docs/how_to/profile/index.rst @@ -15,8 +15,8 @@ specific language governing permissions and limitations under the License. -Profiling Deep Learning Models -==================================== +Profile Models +============== .. toctree:: :maxdepth: 1 diff --git a/docs/index.rst b/docs/index.rst index aeb40805c62b..a264c9beb8f8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -66,7 +66,6 @@ driving its costs down. :maxdepth: 1 :caption: Reference Guide - reference/deploy/index reference/langref/index reference/api/python/index reference/api/links diff --git a/docs/install/index.rst b/docs/install/index.rst index 7edf765f5221..5759b1eb9186 100644 --- a/docs/install/index.rst +++ b/docs/install/index.rst @@ -22,15 +22,15 @@ Installing TVM TVM is still pre-1.0 release software, meaning that it is under active development and is changing quickly. Because of this, it is best to -:doc:`install TVM from source ` to guarantee you +:ref:`install TVM from source ` to guarantee you have the latest features and bug fixes. If you are interested in deploying to mobile or embedded devices, you do not need to install the entire TVM stack on your device. Instead, you only need the runtime and can install using the -:doc:`deployment and integration guide `. +:ref:`deployment and integration guide `. If you would like to quickly try out TVM or run some demo and tutorials, you -can :doc:`install from Docker `, or install using the -third-party :doc:`TLCPack Python and Conda packages ` +can :ref:`install from Docker `, or install using the +third-party :doc:`TLCPack Python and Conda packages ` .. toctree:: :maxdepth: 2 diff --git a/docs/reference/api/links.rst b/docs/reference/api/links.rst index 4b8ab4dd43f6..a2a43bf7d0f2 100644 --- a/docs/reference/api/links.rst +++ b/docs/reference/api/links.rst @@ -15,10 +15,11 @@ specific language governing permissions and limitations under the License. -Links to Other API References -============================= +Other APIs +========== -This page contains links to API references that are build with different doc build system. +This page contains links to API references that are built with different doc +build system. * `C++ doyxgen API `_ * `Typescript typedoc API `_ diff --git a/docs/topic/microtvm/index.rst b/docs/topic/microtvm/index.rst index a67b1547d229..ebcadb34427c 100644 --- a/docs/topic/microtvm/index.rst +++ b/docs/topic/microtvm/index.rst @@ -55,7 +55,7 @@ tutorials to get started with microTVM: 1. :ref:`Start the microTVM Reference VM `. The microTVM tutorials depend on Zephyr and on a compiler toolchain for your hardware. The reference VM is a convenient way to install those dependencies. -2. Try the :doc:`microTVM with TFLite Tutorial `. +2. Try the :ref:`microTVM with TFLite Tutorial `. 3. Try running a more complex `CIFAR10-CNN model `_. @@ -63,7 +63,7 @@ How microTVM Works ~~~~~~~~~~~~~~~~~~ -You can read more about the design of these pieces at the :doc:`microTVM Design Document `. +You can read more about the design of these pieces at the :ref:`microTVM Design Document `. Help and Discussion diff --git a/docs/topic/vta/index.rst b/docs/topic/vta/index.rst index d97705ef140f..d09b31bb360b 100644 --- a/docs/topic/vta/index.rst +++ b/docs/topic/vta/index.rst @@ -17,8 +17,8 @@ .. _vta-index: -VTA: Deep Learning Accelerator Stack -==================================== +VTA: Versatile Tensor Accelerator +================================= The Versatile Tensor Accelerator (VTA) is an open, generic, and customizable deep learning accelerator with a complete TVM-based compiler stack. We designed VTA to expose the most salient and common characteristics of mainstream deep learning accelerators. Together TVM and VTA form an end-to-end hardware-software deep learning system stack that includes hardware design, drivers, a JIT runtime, and an optimizing compiler stack based on TVM. diff --git a/gallery/how_to/compile_models/README.txt b/gallery/how_to/compile_models/README.txt index 319506d21f8f..61cc5be2cb79 100644 --- a/gallery/how_to/compile_models/README.txt +++ b/gallery/how_to/compile_models/README.txt @@ -1,4 +1,7 @@ .. _tutorial-frontend: Compile Deep Learning Models ----------------------------- +============================ + +TVM includes a variety of front-ends that can import models in different +formats. These how-tos demostrate how to import models using the Python API. diff --git a/gallery/how_to/extend_tvm/README.txt b/gallery/how_to/extend_tvm/README.txt index a358280640de..09cd220c80b3 100644 --- a/gallery/how_to/extend_tvm/README.txt +++ b/gallery/how_to/extend_tvm/README.txt @@ -1,3 +1,7 @@ -Developer Tutorials -------------------- +Extend TVM +---------- +TVM is an extensible development platform, with many points of entry to work +with, including options for bringing new datatypes and adding lower level +custom optimization passes. These how-tos describe some ways that TVM can be +extended. diff --git a/gallery/how_to/optimize_operators/README.txt b/gallery/how_to/optimize_operators/README.txt index b051548c5351..889974c7873c 100644 --- a/gallery/how_to/optimize_operators/README.txt +++ b/gallery/how_to/optimize_operators/README.txt @@ -1,2 +1,5 @@ Optimize Tensor Operators ------------------------- + +These how-tos demonstrate how to optimize a variety of tensor operations for a +variety of targets. diff --git a/gallery/how_to/tune_with_autoscheduler/README.txt b/gallery/how_to/tune_with_autoscheduler/README.txt index 75986679f0bd..636a636d81c0 100644 --- a/gallery/how_to/tune_with_autoscheduler/README.txt +++ b/gallery/how_to/tune_with_autoscheduler/README.txt @@ -1,2 +1,6 @@ -AutoScheduler : Template-free Auto Scheduling ---------------------------------------------- +Use AutoScheduler for Template-Free Scheduling +---------------------------------------------- + +The TVM AutoScheduler offers a template-free way to tune models. These how-tos +demonstrate how to tune a variety of different models to target a number of +common platforms. diff --git a/gallery/how_to/tune_with_autotvm/README.txt b/gallery/how_to/tune_with_autotvm/README.txt index a1d33ba088cc..2b32c085c2fd 100644 --- a/gallery/how_to/tune_with_autotvm/README.txt +++ b/gallery/how_to/tune_with_autotvm/README.txt @@ -1,4 +1,9 @@ .. _tutorials-autotvm-sec: -AutoTVM : Template-based Auto Tuning +Auto-Tune with Templates and AutoTVM ------------------------------------ + +AutoTVM offers a way to tune models and operators by providing a template +schedule, and searcing the parameter space defined by the template. These +how-tos demonstrate how to write template schedules and optimize them for a +variety of different hardware platforms. diff --git a/gallery/how_to/work_with_microtvm/README.txt b/gallery/how_to/work_with_microtvm/README.txt index 70a5e580ecd1..a3cc5a0c6c43 100644 --- a/gallery/how_to/work_with_microtvm/README.txt +++ b/gallery/how_to/work_with_microtvm/README.txt @@ -1,4 +1,7 @@ .. _tutorial-micro: -microTVM --------- +Work With microTVM +------------------ +microTVM enables inference on bare-metal platforms, for example, those without +a traditional Operating System such as Linux, OS X, or Windows. These how-tos +demonstrate how to tune and deploy models with microTVM. diff --git a/gallery/how_to/work_with_microtvm/micro_tflite.py b/gallery/how_to/work_with_microtvm/micro_tflite.py index d1d4477f63e1..cab105cb450f 100644 --- a/gallery/how_to/work_with_microtvm/micro_tflite.py +++ b/gallery/how_to/work_with_microtvm/micro_tflite.py @@ -15,6 +15,8 @@ # specific language governing permissions and limitations # under the License. """ +.. _microTVM-with-TFLite: + microTVM with TFLite Models =========================== **Author**: `Tom Gall `_ diff --git a/gallery/how_to/work_with_schedules/README.txt b/gallery/how_to/work_with_schedules/README.txt index 6da8e3c57c1f..6516af3b3d2f 100644 --- a/gallery/how_to/work_with_schedules/README.txt +++ b/gallery/how_to/work_with_schedules/README.txt @@ -1,2 +1,2 @@ -Tensor Expression and Schedules -------------------------------- +Work With Tensor Expression and Schedules +----------------------------------------- diff --git a/gallery/tutorial/README.txt b/gallery/tutorial/README.txt index aa6c559c1b38..ceac645d7dc1 100644 --- a/gallery/tutorial/README.txt +++ b/gallery/tutorial/README.txt @@ -1,2 +1,10 @@ -Getting Started With TVM ------------------------- +User Tutorial +------------- + +This tutorial provides an introduction to TVM, meant to address user who is new +to the TVM project. It begins with some basic information on how TVM works, +then works through installing TVM, compiling and optimizing models, then +digging in deeper to the Tensor Expression language and the tuning and +optimization tools that are built on top of it. After completing the tutorial, +a new user should be familiar enough with TVM to optimize models, and will be +prepared to dig into TVM more deeply. From 491bcfbc313d6bb487246d49a336b965864b2bc4 Mon Sep 17 00:00:00 2001 From: hogepodge Date: Wed, 6 Oct 2021 02:04:31 +0000 Subject: [PATCH 3/3] Documentation Refactor - Stage 3 RFC: https://github.com/apache/tvm-rfcs/blob/main/rfcs/0027-formalize-documentation-organization.md Tracking Issue: https://github.com/apache/tvm/issues/8987 Stage 3 of the documentation refactor adjusts CI for the new structure. The CI build script takes into account the new gallery format. It also prevents deleting existing documents, and takes advantage of the `_staging` and `_build` directories to clean out previous builds. --- docs/conf.py | 33 ++++++++++++--------------- tests/scripts/task_python_docs.sh | 15 ++++++------ tests/scripts/task_sphinx_precheck.sh | 4 ++-- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 2bacff9ca313..766fda49997f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,9 +51,8 @@ else: tvm_path = Path(os.pardir) - -sys.path.insert(0, str(tvm_path / "python")) -sys.path.insert(0, str(tvm_path / "vta" / "python")) +sys.path.insert(0, str(tvm_path.resolve() / "python")) +sys.path.insert(0, str(tvm_path.resolve() / "vta" / "python")) # -- General configuration ------------------------------------------------ @@ -209,7 +208,19 @@ def git_describe_version(original_version): from sphinx_gallery.sorting import ExplicitOrder -examples_dirs = [tvm_path.joinpath("tutorials"), tvm_path.joinpath("vta", "tutorials")] +examples_dirs = [ + tvm_path.joinpath("gallery", "tutorial"), + tvm_path.joinpath("gallery", "how_to", "compile_models"), + tvm_path.joinpath("gallery", "how_to", "deploy_models"), + tvm_path.joinpath("gallery", "how_to", "work_with_relay"), + tvm_path.joinpath("gallery", "how_to", "work_with_schedules"), + tvm_path.joinpath("gallery", "how_to", "optimize_operators"), + tvm_path.joinpath("gallery", "how_to", "tune_with_autotvm"), + tvm_path.joinpath("gallery", "how_to", "tune_with_autoscheduler"), + tvm_path.joinpath("gallery", "how_to", "work_with_microtvm"), + tvm_path.joinpath("gallery", "how_to", "extend_tvm"), + tvm_path.joinpath("vta", "tutorials"), +] gallery_dirs = [ "tutorial", @@ -225,20 +236,6 @@ def git_describe_version(original_version): "topic/vta/tutorials", ] -examples_dirs = [ - tvm_path.joinpath("gallery/tutorial"), - tvm_path.joinpath("gallery/how_to/compile_models"), - tvm_path.joinpath("gallery/how_to/deploy_models"), - tvm_path.joinpath("gallery/how_to/work_with_relay"), - tvm_path.joinpath("gallery/how_to/work_with_schedules"), - tvm_path.joinpath("gallery/how_to/optimize_operators"), - tvm_path.joinpath("gallery/how_to/tune_with_autotvm"), - tvm_path.joinpath("gallery/how_to/tune_with_autoscheduler"), - tvm_path.joinpath("gallery/how_to/work_with_microtvm"), - tvm_path.joinpath("gallery/how_to/extend_tvm"), - tvm_path.joinpath("vta/tutorials"), -] - subsection_order = ExplicitOrder( str(p) for p in [ diff --git a/tests/scripts/task_python_docs.sh b/tests/scripts/task_python_docs.sh index 79b87b75fc70..2eb471cbc69f 100755 --- a/tests/scripts/task_python_docs.sh +++ b/tests/scripts/task_python_docs.sh @@ -34,19 +34,18 @@ trap cleanup 0 # cleanup old states rm -rf docs/_build +rm -rf docs/_staging mkdir -p docs/_build/html +mkdir -p docs/_staging/html rm -rf docs/gen_modules rm -rf docs/doxygen # prepare auto scheduler tutorials -rm -rf tutorials/auto_scheduler/*.json -rm -rf tutorials/get_started/*.json -cp -f tutorials/auto_scheduler/ci_logs/*.json tutorials/auto_scheduler -cp -f tutorials/auto_scheduler/ci_logs/*.json tutorials/get_started - -# remove stale tutorials and always build from scratch. -rm -rf docs/tutorials -rm -rf docs/vta/tutorials +rm -rf gallery/how_to/tune_with_auto_scheduler/*.json +rm -rf gallery/tutorial/*.json +cp -f gallery/how_to/tune_with_autoscheduler/ci_logs/*.json gallery/how_to/tune_with_autoscheduler +cp -f gallery/how_to/tune_with_autoscheduler/ci_logs/*.json gallery/tutorial + # cleanup stale log files find . -type f -path "*.log" | xargs rm -f diff --git a/tests/scripts/task_sphinx_precheck.sh b/tests/scripts/task_sphinx_precheck.sh index 31fc663082f1..b5cac539062c 100755 --- a/tests/scripts/task_sphinx_precheck.sh +++ b/tests/scripts/task_sphinx_precheck.sh @@ -28,8 +28,8 @@ cleanup() trap cleanup 0 # cleanup cache -rm -rf docs/tutorials -rm -rf docs/vta/tutorials +rm -rf docs/_staging +rm -rf docs/_build find . -type f -path "*.pyc" | xargs rm -f make cython3