This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch nightly
in repository https://gitbox.apache.org/repos/asf/tvm.git
from 3e8fe75380 [ROCm] Minor fixes for latest refactor (#18225)
add 835e695783 [CI] Exit the build for AbortException (#18227)
add a7a0168be5 [FFI][REFACTOR] Establish tvm_ffi python module (#18226)
No new revisions were added by this update.
Summary of changes:
.github/actions/setup/action.yml | 4 +
.gitmodules | 5 +-
3rdparty/dlpack | 1 -
CMakeLists.txt | 39 +---
Makefile | 12 +-
apps/cpp_rpc/CMakeLists.txt | 7 +-
ci/jenkins/data.py | 7 +-
ci/jenkins/generated/arm_jenkinsfile.groovy | 7 +-
ci/jenkins/generated/cpu_jenkinsfile.groovy | 7 +-
ci/jenkins/generated/gpu_jenkinsfile.groovy | 9 +-
ci/jenkins/generated/hexagon_jenkinsfile.groovy | 7 +-
ci/jenkins/generated/i386_jenkinsfile.groovy | 7 +-
ci/jenkins/generated/wasm_jenkinsfile.groovy | 5 +-
ci/jenkins/templates/utils/macros.j2 | 3 +
cmake/modules/LibInfo.cmake | 1 -
conda/build-environment.yaml | 1 +
docs/arch/pass_infra.rst | 2 +-
docs/install/from_source.rst | 10 +-
.clang-format => ffi/.clang-format | 0
{3rdparty => ffi/3rdparty}/libbacktrace | 0
ffi/CMakeLists.txt | 199 ++++++++++++++++-----
{3rdparty/picojson => ffi}/README.md | 4 +-
ffi/cmake/Utils/AddGoogleTest.cmake | 2 +-
ffi/cmake/Utils/AddLibbacktrace.cmake | 3 +-
ffi/cmake/Utils/CxxWarning.cmake | 2 +-
ffi/cmake/Utils/Library.cmake | 43 +++--
ffi/cmake/tvm_ffi-config.cmake | 56 ++++++
ffi/examples/get_started/CMakeLists.txt | 65 +++++++
ffi/examples/get_started/README.md | 59 ++++++
ffi/examples/get_started/run_example.py | 82 +++++++++
.../examples/get_started/run_example.sh | 14 +-
.../examples/get_started/src/add_one_cpu.cc | 34 ++--
ffi/examples/get_started/src/add_one_cuda.cu | 57 ++++++
ffi/examples/get_started/src/run_example.cc | 53 ++++++
ffi/include/tvm/ffi/c_api.h | 8 +-
ffi/include/tvm/ffi/error.h | 19 +-
ffi/include/tvm/ffi/object.h | 6 +-
{licenses => ffi/licenses}/LICENSE.dlpack.txt | 0
.../licenses}/LICENSE.libbacktrace.txt | 0
ffi/pyproject.toml | 149 +++++++++++++++
{python/tvm/ffi => ffi/python/tvm_ffi}/.gitignore | 0
{python/tvm/ffi => ffi/python/tvm_ffi}/__init__.py | 10 +-
{python/tvm/ffi => ffi/python/tvm_ffi}/_ffi_api.py | 0
.../tvm/ffi => ffi/python/tvm_ffi}/access_path.py | 0
{python/tvm => ffi/python/tvm_ffi}/base.py | 45 +----
ffi/python/tvm_ffi/config.py | 92 ++++++++++
.../tvm/ffi => ffi/python/tvm_ffi}/container.py | 0
{python/tvm/ffi => ffi/python/tvm_ffi}/convert.py | 0
.../tvm/ffi => ffi/python/tvm_ffi}/cython/base.pxi | 3 +-
.../tvm/ffi => ffi/python/tvm_ffi}/cython/core.pyx | 0
.../ffi => ffi/python/tvm_ffi}/cython/device.pxi | 0
.../ffi => ffi/python/tvm_ffi}/cython/dtype.pxi | 0
.../ffi => ffi/python/tvm_ffi}/cython/error.pxi | 2 +-
.../ffi => ffi/python/tvm_ffi}/cython/function.pxi | 4 +-
.../ffi => ffi/python/tvm_ffi}/cython/ndarray.pxi | 0
.../ffi => ffi/python/tvm_ffi}/cython/object.pxi | 0
.../ffi => ffi/python/tvm_ffi}/cython/string.pxi | 0
{python/tvm/ffi => ffi/python/tvm_ffi}/dtype.py | 0
{python/tvm/ffi => ffi/python/tvm_ffi}/error.py | 0
ffi/python/tvm_ffi/libinfo.py | 144 +++++++++++++++
{python/tvm/ffi => ffi/python/tvm_ffi}/module.py | 13 +-
{python/tvm/ffi => ffi/python/tvm_ffi}/ndarray.py | 6 +-
{python/tvm/ffi => ffi/python/tvm_ffi}/registry.py | 2 +-
.../ffi => ffi/python/tvm_ffi}/serialization.py | 0
{python/tvm/ffi => ffi/python/tvm_ffi}/testing.py | 0
ffi/scripts/benchmark_dlpack.py | 28 +--
ffi/scripts/run_tests.sh | 4 +-
ffi/src/ffi/error.cc | 3 +-
ffi/src/ffi/extra/testing.cc | 17 +-
ffi/src/ffi/function.cc | 8 +
ffi/src/ffi/traceback.cc | 75 ++++----
ffi/src/ffi/traceback.h | 76 ++++----
ffi/src/ffi/traceback_win.cc | 57 +++---
ffi/tests/cpp/CMakeLists.txt | 8 +-
.../ffi => ffi/tests/python}/test_access_path.py | 2 +-
.../ffi => ffi/tests/python}/test_container.py | 2 +-
.../python/ffi => ffi/tests/python}/test_device.py | 4 +-
.../python/ffi => ffi/tests/python}/test_dtype.py | 4 +-
.../python/ffi => ffi/tests/python}/test_error.py | 8 +-
.../ffi => ffi/tests/python}/test_function.py | 2 +-
.../ffi => ffi/tests/python}/test_ndarray.py | 2 +-
.../python/ffi => ffi/tests/python}/test_object.py | 2 +-
.../python/ffi => ffi/tests/python}/test_string.py | 2 +-
include/tvm/runtime/c_backend_api.h | 9 -
include/tvm/runtime/logging.h | 2 +-
python/setup.py | 70 +-------
python/tvm/__init__.py | 6 +-
python/tvm/arith/_ffi_api.py | 4 +-
python/tvm/arith/analyzer.py | 6 +-
python/tvm/arith/int_set.py | 8 +-
python/tvm/arith/int_solver.py | 8 +-
python/tvm/arith/iter_affine_map.py | 12 +-
python/tvm/base.py | 2 +-
python/tvm/contrib/cc.py | 1 +
python/tvm/contrib/coreml_runtime.py | 4 +-
python/tvm/contrib/cudnn.py | 4 +-
python/tvm/contrib/cutlass/_ffi_api.py | 4 +-
python/tvm/contrib/cutlass/build.py | 2 +-
python/tvm/contrib/cutlass/gen_tensor_op.py | 4 +-
python/tvm/contrib/hexagon/build.py | 2 +-
python/tvm/contrib/hexagon/tools.py | 2 +-
python/tvm/contrib/miopen.py | 4 +-
python/tvm/contrib/mrvl.py | 23 ++-
python/tvm/contrib/msc/core/_ffi_api.py | 4 +-
python/tvm/contrib/msc/core/ir/graph.py | 17 +-
.../contrib/msc/framework/tensorflow/_ffi_api.py | 4 +-
.../tvm/contrib/msc/framework/tensorrt/_ffi_api.py | 4 +-
python/tvm/contrib/msc/framework/torch/_ffi_api.py | 4 +-
python/tvm/contrib/msc/framework/tvm/_ffi_api.py | 4 +-
python/tvm/contrib/msc/plugin/_ffi_api.py | 4 +-
python/tvm/contrib/msc/plugin/op/_ffi_api.py | 4 +-
python/tvm/contrib/ndk.py | 2 +-
python/tvm/contrib/nnpack.py | 4 +-
python/tvm/contrib/nvcc.py | 17 +-
python/tvm/contrib/random.py | 4 +-
python/tvm/contrib/rocm.py | 8 +-
python/tvm/contrib/tflite_runtime.py | 4 +-
python/tvm/contrib/thrust.py | 2 +-
python/tvm/dlight/analysis/common_analysis.py | 2 +-
python/tvm/driver/_ffi_api.py | 4 +-
python/tvm/error.py | 2 +-
python/tvm/exec/disco_worker.py | 2 +-
.../recipe/install_libtvm.sh => python/tvm/ffi.py | 10 +-
python/tvm/ir/_ffi_analysis_api.py | 4 +-
python/tvm/ir/_ffi_api.py | 4 +-
python/tvm/ir/_ffi_instrument_api.py | 4 +-
python/tvm/ir/_ffi_transform_api.py | 4 +-
python/tvm/ir/attrs.py | 6 +-
python/tvm/ir/base.py | 3 +-
python/tvm/ir/container.py | 2 +-
python/tvm/ir/diagnostics/__init__.py | 10 +-
python/tvm/ir/diagnostics/_ffi_api.py | 4 +-
python/tvm/ir/expr.py | 13 +-
python/tvm/ir/function.py | 4 +-
python/tvm/ir/global_info.py | 7 +-
python/tvm/ir/instrument.py | 6 +-
python/tvm/ir/module.py | 5 +-
python/tvm/ir/op.py | 4 +-
python/tvm/ir/supply.py | 5 +-
python/tvm/ir/transform.py | 12 +-
python/tvm/ir/type.py | 14 +-
python/tvm/ir/type_relation.py | 6 +-
python/tvm/libinfo.py | 10 +-
python/tvm/meta_schedule/_ffi_api.py | 2 +-
python/tvm/meta_schedule/arg_info.py | 2 +-
python/tvm/meta_schedule/builder/builder.py | 2 +-
python/tvm/meta_schedule/builder/local_builder.py | 2 +-
python/tvm/meta_schedule/cost_model/cost_model.py | 2 +-
python/tvm/meta_schedule/database/database.py | 2 +-
python/tvm/meta_schedule/database/json_database.py | 2 +-
.../tvm/meta_schedule/database/memory_database.py | 2 +-
.../database/ordered_union_database.py | 2 +-
.../meta_schedule/database/schedule_fn_database.py | 2 +-
.../tvm/meta_schedule/database/union_database.py | 2 +-
python/tvm/meta_schedule/extracted_task.py | 2 +-
.../feature_extractor/feature_extractor.py | 2 +-
.../feature_extractor/per_store_feature.py | 2 +-
.../measure_callback/add_to_database.py | 2 +-
.../measure_callback/measure_callback.py | 2 +-
.../measure_callback/remove_build_artifact.py | 2 +-
.../measure_callback/update_cost_model.py | 2 +-
.../mutator/mutate_compute_location.py | 2 +-
.../tvm/meta_schedule/mutator/mutate_parallel.py | 2 +-
.../meta_schedule/mutator/mutate_thread_binding.py | 2 +-
.../tvm/meta_schedule/mutator/mutate_tile_size.py | 2 +-
python/tvm/meta_schedule/mutator/mutate_unroll.py | 2 +-
python/tvm/meta_schedule/mutator/mutator.py | 2 +-
.../postproc/disallow_async_strided_mem_copy.py | 2 +-
.../postproc/disallow_dynamic_loop.py | 2 +-
python/tvm/meta_schedule/postproc/postproc.py | 2 +-
.../postproc/rewrite_cooperative_fetch.py | 2 +-
.../tvm/meta_schedule/postproc/rewrite_layout.py | 2 +-
.../postproc/rewrite_parallel_vectorize_unroll.py | 2 +-
.../postproc/rewrite_reduction_block.py | 2 +-
.../meta_schedule/postproc/rewrite_tensorize.py | 2 +-
.../postproc/rewrite_unbound_block.py | 2 +-
.../tvm/meta_schedule/postproc/verify_gpu_code.py | 2 +-
.../meta_schedule/postproc/verify_vtcm_limit.py | 2 +-
python/tvm/meta_schedule/profiler.py | 2 +-
python/tvm/meta_schedule/relax_integration.py | 2 +-
python/tvm/meta_schedule/runner/runner.py | 2 +-
.../tvm/meta_schedule/schedule_rule/add_rfactor.py | 2 +-
.../schedule_rule/apply_custom_rule.py | 2 +-
.../tvm/meta_schedule/schedule_rule/auto_bind.py | 2 +-
.../tvm/meta_schedule/schedule_rule/auto_inline.py | 2 +-
.../schedule_rule/cross_thread_reduction.py | 2 +-
.../schedule_rule/multi_level_tiling.py | 2 +-
.../schedule_rule/parallel_vectorize_unroll.py | 2 +-
.../schedule_rule/random_compute_location.py | 2 +-
.../meta_schedule/schedule_rule/schedule_rule.py | 2 +-
.../search_strategy/evolutionary_search.py | 2 +-
.../meta_schedule/search_strategy/replay_func.py | 2 +-
.../meta_schedule/search_strategy/replay_trace.py | 2 +-
.../search_strategy/search_strategy.py | 2 +-
.../space_generator/post_order_apply.py | 2 +-
.../meta_schedule/space_generator/schedule_fn.py | 2 +-
.../space_generator/space_generator.py | 2 +-
.../space_generator/space_generator_union.py | 2 +-
.../meta_schedule/task_scheduler/gradient_based.py | 2 +-
.../meta_schedule/task_scheduler/round_robin.py | 2 +-
.../meta_schedule/task_scheduler/task_scheduler.py | 2 +-
.../tvm/meta_schedule/testing/validate_database.py | 3 +-
python/tvm/meta_schedule/tir_integration.py | 2 +-
python/tvm/meta_schedule/tune_context.py | 3 +-
python/tvm/meta_schedule/utils.py | 2 +-
python/tvm/relax/_ffi_api.py | 4 +-
python/tvm/relax/analysis/_ffi_api.py | 4 +-
python/tvm/relax/backend/_ffi_api.py | 4 +-
python/tvm/relax/backend/cuda/flashinfer.py | 2 +-
python/tvm/relax/backend/metal/coreml.py | 4 +-
python/tvm/relax/binding_rewrite.py | 4 +-
python/tvm/relax/block_builder.py | 3 +-
python/tvm/relax/distributed/_ffi_api.py | 4 +-
python/tvm/relax/distributed/global_info.py | 4 +-
python/tvm/relax/distributed/struct_info.py | 8 +-
python/tvm/relax/distributed/transform/_ffi_api.py | 4 +-
python/tvm/relax/dpl/_ffi.py | 4 +-
python/tvm/relax/dpl/pattern.py | 3 +-
python/tvm/relax/dpl/rewrite.py | 2 +-
python/tvm/relax/exec_builder.py | 6 +-
python/tvm/relax/expr.py | 47 +++--
python/tvm/relax/expr_functor.py | 8 +-
python/tvm/relax/op/_ffi_api.py | 4 +-
python/tvm/relax/op/builtin/_ffi_api.py | 4 +-
python/tvm/relax/op/ccl/_ffi_api.py | 4 +-
python/tvm/relax/op/distributed/_ffi_api.py | 4 +-
python/tvm/relax/op/grad/_ffi_api.py | 4 +-
python/tvm/relax/op/image/_ffi_api.py | 4 +-
python/tvm/relax/op/memory/_ffi_api.py | 4 +-
python/tvm/relax/op/nn/_ffi_api.py | 4 +-
python/tvm/relax/op/op_attrs.py | 138 +++++++-------
python/tvm/relax/op/vm/_ffi_api.py | 4 +-
python/tvm/relax/struct_info.py | 14 +-
python/tvm/relax/testing/transform.py | 3 +-
python/tvm/relax/training/_ffi_api.py | 4 +-
python/tvm/relax/training/utils.py | 2 +-
python/tvm/relax/transform/_ffi_api.py | 4 +-
python/tvm/relax/transform/transform.py | 10 +-
python/tvm/relax/ty.py | 10 +-
python/tvm/relax/utils.py | 3 +-
python/tvm/rpc/_ffi_api.py | 4 +-
python/tvm/rpc/client.py | 4 +-
python/tvm/rpc/minrpc.py | 6 +-
python/tvm/rpc/server.py | 8 +-
python/tvm/runtime/__init__.py | 3 +-
python/tvm/runtime/_ffi_api.py | 4 +-
python/tvm/runtime/_ffi_node_api.py | 6 +-
python/tvm/runtime/container.py | 2 +-
python/tvm/runtime/device.py | 6 +-
python/tvm/runtime/disco/_ffi_api.py | 2 +-
python/tvm/runtime/disco/process_pool.py | 2 +-
python/tvm/runtime/disco/session.py | 2 +-
python/tvm/runtime/module.py | 11 +-
python/tvm/runtime/ndarray.py | 31 ++--
python/tvm/runtime/object.py | 10 +-
python/tvm/runtime/object_generic.py | 2 +-
python/tvm/runtime/packed_func.py | 2 +-
python/tvm/runtime/profiling/_ffi_api.py | 2 +-
python/tvm/runtime/script_printer.py | 4 +-
python/tvm/runtime/support.py | 4 +-
python/tvm/runtime/vm.py | 2 +-
python/tvm/script/_ffi_api.py | 4 +-
python/tvm/script/ir_builder/_ffi_api.py | 4 +-
python/tvm/script/ir_builder/base.py | 2 +-
python/tvm/script/ir_builder/ir/_ffi_api.py | 4 +-
python/tvm/script/ir_builder/ir/frame.py | 2 +-
python/tvm/script/ir_builder/relax/_ffi_api.py | 4 +-
.../ir_builder/relax/distributed/_ffi_api.py | 4 +-
python/tvm/script/ir_builder/relax/frame.py | 2 +-
python/tvm/script/ir_builder/tir/_ffi_api.py | 4 +-
python/tvm/script/ir_builder/tir/frame.py | 2 +-
python/tvm/script/printer/_ffi_api.py | 4 +-
python/tvm/script/printer/doc.py | 4 +-
python/tvm/script/printer/doc_printer.py | 2 +-
python/tvm/support.py | 4 +-
python/tvm/target/_ffi_api.py | 4 +-
python/tvm/target/datatype.py | 7 +-
python/tvm/target/detect_target.py | 2 +-
python/tvm/target/target.py | 8 +-
python/tvm/target/virtual_device.py | 7 +-
python/tvm/target/x86.py | 2 +-
python/tvm/te/_ffi_api.py | 4 +-
python/tvm/te/operation.py | 1 -
python/tvm/te/tensor.py | 16 +-
python/tvm/testing/_ffi_api.py | 4 +-
python/tvm/testing/attrs.py | 2 +-
python/tvm/testing/popen_pool.py | 8 +-
python/tvm/testing/utils.py | 1 -
python/tvm/tir/_ffi_api.py | 4 +-
python/tvm/tir/analysis/_ffi_api.py | 4 +-
python/tvm/tir/block_dependence_info.py | 2 +-
python/tvm/tir/block_scope.py | 2 +-
python/tvm/tir/buffer.py | 7 +-
python/tvm/tir/data_layout.py | 6 +-
python/tvm/tir/expr.py | 72 ++++----
python/tvm/tir/function.py | 9 +-
python/tvm/tir/functor.py | 11 +-
python/tvm/tir/op.py | 9 +-
python/tvm/tir/schedule/_ffi_api.py | 4 +-
python/tvm/tir/schedule/analysis.py | 6 +-
python/tvm/tir/schedule/instruction.py | 2 +-
python/tvm/tir/schedule/schedule.py | 2 +-
python/tvm/tir/schedule/state.py | 2 +-
python/tvm/tir/schedule/trace.py | 2 +-
python/tvm/tir/stmt.py | 36 ++--
python/tvm/tir/tensor_intrin/cuda.py | 2 +-
python/tvm/tir/transform/_ffi_api.py | 4 +-
python/tvm/tir/transform/function_pass.py | 4 +-
python/tvm/topi/cpp/cuda.py | 4 +-
python/tvm/topi/cpp/generic.py | 4 +-
python/tvm/topi/cpp/impl.py | 4 +-
python/tvm/topi/cpp/nn.py | 4 +-
python/tvm/topi/cpp/rocm.py | 4 +-
python/tvm/topi/cpp/utils.py | 4 +-
python/tvm/topi/cpp/vision/__init__.py | 4 +-
python/tvm/topi/cpp/vision/yolo.py | 4 +-
python/tvm/topi/cpp/x86.py | 4 +-
src/runtime/rpc/rpc_module.cc | 2 +-
src/support/libinfo.cc | 1 -
src/tir/schedule/error.h | 3 +-
tests/python/codegen/test_gpu_codegen_allreduce.py | 2 +-
tests/python/disco/test_loader.py | 2 +-
tests/python/ir/test_container_structural_equal.py | 2 +-
tests/python/ir/test_ir_container.py | 3 +-
.../meta_schedule/test_meta_schedule_builder.py | 2 +-
.../test_meta_schedule_post_order_apply.py | 2 +-
.../meta_schedule/test_meta_schedule_runner.py | 2 +-
tests/python/relax/test_op_inspect.py | 3 +-
.../tir-base/test_tir_structural_equal_hash.py | 2 +-
.../test_tir_transform_inject_ptx_async_copy.py | 3 +-
.../python/tvmscript/test_tvmscript_parser_tir.py | 5 +-
.../tvmscript/test_tvmscript_printer_annotation.py | 2 +-
.../python/tvmscript/test_tvmscript_printer_doc.py | 2 +-
.../test_tvmscript_printer_structural_equal.py | 2 +-
.../test_tvmscript_printer_underlining.py | 2 +-
tests/scripts/task_python_adreno.sh | 4 +-
tests/scripts/task_python_arm_compute_library.sh | 4 +-
tests/scripts/task_python_docs.sh | 8 +-
tests/scripts/task_python_hexagon.sh | 4 +-
tests/scripts/task_python_integration.sh | 4 +-
tests/scripts/task_python_nightly.sh | 4 +-
tests/scripts/task_python_unittest.sh | 4 +-
tests/scripts/task_web_wasm.sh | 3 +
tests/scripts/unity/task_python_relax.sh | 4 +-
344 files changed, 1948 insertions(+), 1077 deletions(-)
delete mode 160000 3rdparty/dlpack
copy .clang-format => ffi/.clang-format (100%)
rename {3rdparty => ffi/3rdparty}/libbacktrace (100%)
copy {3rdparty/picojson => ffi}/README.md (92%)
create mode 100644 ffi/cmake/tvm_ffi-config.cmake
create mode 100644 ffi/examples/get_started/CMakeLists.txt
create mode 100644 ffi/examples/get_started/README.md
create mode 100644 ffi/examples/get_started/run_example.py
copy docker/install/ubuntu_install_dgl.sh =>
ffi/examples/get_started/run_example.sh (85%)
copy src/runtime/regex.cc => ffi/examples/get_started/src/add_one_cpu.cc (50%)
create mode 100644 ffi/examples/get_started/src/add_one_cuda.cu
create mode 100644 ffi/examples/get_started/src/run_example.cc
rename {licenses => ffi/licenses}/LICENSE.dlpack.txt (100%)
rename {licenses => ffi/licenses}/LICENSE.libbacktrace.txt (100%)
create mode 100644 ffi/pyproject.toml
rename {python/tvm/ffi => ffi/python/tvm_ffi}/.gitignore (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/__init__.py (93%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/_ffi_api.py (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/access_path.py (100%)
copy {python/tvm => ffi/python/tvm_ffi}/base.py (62%)
create mode 100644 ffi/python/tvm_ffi/config.py
rename {python/tvm/ffi => ffi/python/tvm_ffi}/container.py (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/convert.py (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/base.pxi (98%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/core.pyx (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/device.pxi (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/dtype.pxi (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/error.pxi (98%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/function.pxi (99%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/ndarray.pxi (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/object.pxi (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/cython/string.pxi (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/dtype.py (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/error.py (100%)
create mode 100644 ffi/python/tvm_ffi/libinfo.py
rename {python/tvm/ffi => ffi/python/tvm_ffi}/module.py (95%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/ndarray.py (97%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/registry.py (98%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/serialization.py (100%)
rename {python/tvm/ffi => ffi/python/tvm_ffi}/testing.py (100%)
rename {tests/python/ffi => ffi/tests/python}/test_access_path.py (98%)
rename {tests/python/ffi => ffi/tests/python}/test_container.py (99%)
rename {tests/python/ffi => ffi/tests/python}/test_device.py (98%)
rename {tests/python/ffi => ffi/tests/python}/test_dtype.py (97%)
rename {tests/python/ffi => ffi/tests/python}/test_error.py (95%)
rename {tests/python/ffi => ffi/tests/python}/test_function.py (99%)
rename {tests/python/ffi => ffi/tests/python}/test_ndarray.py (98%)
rename {tests/python/ffi => ffi/tests/python}/test_object.py (98%)
rename {tests/python/ffi => ffi/tests/python}/test_string.py (98%)
copy conda/recipe/install_libtvm.sh => python/tvm/ffi.py (90%)
mode change 100755 => 100644