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 a8bd559e42 [FFI] Lightweight json parser/writer (#18186) add 9c27523503 [FFI][EXTRA] Serialization To/From JSONGraph (#18187) add ba994d32f9 [FFI][REFACTOR] Migrate the Save/Load JSON to the new reflection (#18188) No new revisions were added by this update. Summary of changes: ffi/CMakeLists.txt | 1 + ffi/include/tvm/ffi/extra/base64.h | 142 ++++ ffi/include/tvm/ffi/extra/json.h | 2 +- ffi/include/tvm/ffi/extra/serialization.h | 72 ++ ffi/include/tvm/ffi/reflection/creator.h | 112 +++ ffi/src/ffi/extra/serialization.cc | 419 +++++++++++ ffi/tests/cpp/extra/test_serialization.cc | 372 ++++++++++ ffi/tests/cpp/extra/test_structural_equal_hash.cc | 6 +- ...t_reflection_accessor.cc => test_reflection.cc} | 6 + ffi/tests/cpp/testing_object.h | 21 +- include/tvm/ir/env_func.h | 2 +- include/tvm/ir/instrument.h | 2 +- include/tvm/ir/transform.h | 4 +- include/tvm/meta_schedule/arg_info.h | 1 - include/tvm/meta_schedule/builder.h | 1 - include/tvm/meta_schedule/cost_model.h | 1 - include/tvm/meta_schedule/database.h | 1 - include/tvm/meta_schedule/extracted_task.h | 1 - include/tvm/meta_schedule/feature_extractor.h | 1 - include/tvm/meta_schedule/measure_callback.h | 1 - include/tvm/meta_schedule/measure_candidate.h | 1 - include/tvm/meta_schedule/mutator.h | 1 - include/tvm/meta_schedule/postproc.h | 1 - include/tvm/meta_schedule/profiler.h | 1 - include/tvm/meta_schedule/runner.h | 1 - include/tvm/meta_schedule/schedule_rule.h | 1 - include/tvm/meta_schedule/search_strategy.h | 1 - include/tvm/meta_schedule/space_generator.h | 1 - include/tvm/meta_schedule/task_scheduler.h | 1 - include/tvm/meta_schedule/tune_context.h | 1 - include/tvm/node/node.h | 1 - include/tvm/node/reflection.h | 180 +---- include/tvm/node/script_printer.h | 1 - include/tvm/relax/exec_builder.h | 1 - include/tvm/runtime/object.h | 3 - include/tvm/runtime/profiling.h | 2 +- include/tvm/tir/schedule/instruction.h | 1 - python/tvm/ir/json_compact.py | 149 +--- src/arith/const_int_bound.cc | 2 - src/arith/int_constraints.cc | 6 - src/arith/int_set.cc | 2 - src/arith/iter_affine_map.cc | 8 - src/arith/modular_set.cc | 2 - src/arith/presburger_set.cc | 2 - src/arith/rewrite_simplify.cc | 2 - src/contrib/msc/core/ir/graph.cc | 16 - src/contrib/msc/core/printer/msc_doc.cc | 8 - src/ir/attrs.cc | 4 - src/ir/diagnostic.cc | 3 - src/ir/env_func.cc | 15 +- src/ir/expr.cc | 8 - src/ir/global_info.cc | 2 - src/ir/global_var_supply.cc | 2 - src/ir/instrument.cc | 2 - src/ir/module.cc | 2 - src/ir/name_supply.cc | 2 - src/ir/op.cc | 18 +- src/ir/source_map.cc | 23 +- src/ir/transform.cc | 8 - src/ir/type.cc | 10 - src/meta_schedule/arg_info.cc | 3 - src/meta_schedule/builder/builder.cc | 5 - src/meta_schedule/cost_model/cost_model.cc | 3 - src/meta_schedule/database/database.cc | 4 - src/meta_schedule/database/json_database.cc | 2 +- src/meta_schedule/database/memory_database.cc | 1 - .../database/ordered_union_database.cc | 1 - src/meta_schedule/database/schedule_fn_database.cc | 1 - src/meta_schedule/database/union_database.cc | 1 - src/meta_schedule/extracted_task.cc | 1 - .../feature_extractor/feature_extractor.cc | 3 - .../feature_extractor/per_store_feature.cc | 1 - .../measure_callback/add_to_database.cc | 1 - .../measure_callback/measure_callback.cc | 3 - .../measure_callback/remove_build_artifact.cc | 1 - .../measure_callback/update_cost_model.cc | 1 - .../mutator/mutate_compute_location.cc | 1 - src/meta_schedule/mutator/mutate_parallel.cc | 2 +- src/meta_schedule/mutator/mutate_thread_binding.cc | 1 - src/meta_schedule/mutator/mutate_tile_size.cc | 1 - src/meta_schedule/mutator/mutate_unroll.cc | 1 - src/meta_schedule/mutator/mutator.cc | 3 - .../postproc/disallow_async_strided_mem_copy.cc | 1 - .../postproc/disallow_dynamic_loop.cc | 1 - src/meta_schedule/postproc/postproc.cc | 3 - .../postproc/rewrite_cooperative_fetch.cc | 1 - src/meta_schedule/postproc/rewrite_layout.cc | 1 - .../postproc/rewrite_parallel_vectorize_unroll.cc | 1 - .../postproc/rewrite_reduction_block.cc | 1 - src/meta_schedule/postproc/rewrite_tensorize.cc | 2 +- .../postproc/rewrite_unbound_block.cc | 1 - src/meta_schedule/postproc/verify_gpu_code.cc | 1 - src/meta_schedule/postproc/verify_vtcm_limit.cc | 1 - src/meta_schedule/profiler.cc | 1 - src/meta_schedule/runner/runner.cc | 5 - src/meta_schedule/schedule_rule/add_rfactor.cc | 2 +- .../schedule_rule/apply_custom_rule.cc | 2 +- src/meta_schedule/schedule_rule/auto_bind.cc | 1 - src/meta_schedule/schedule_rule/auto_inline.cc | 4 +- .../schedule_rule/cross_thread_reduction.cc | 2 +- .../schedule_rule/multi_level_tiling.cc | 3 - .../multi_level_tiling_tensor_core.cc | 3 - .../multi_level_tiling_wide_vector.cc | 1 - .../multi_level_tiling_with_intrin.cc | 1 - .../schedule_rule/parallel_vectorize_unroll.cc | 2 +- .../schedule_rule/random_compute_location.cc | 1 - src/meta_schedule/schedule_rule/schedule_rule.cc | 3 - .../search_strategy/evolutionary_search.cc | 1 - src/meta_schedule/search_strategy/replay_func.cc | 1 - src/meta_schedule/search_strategy/replay_trace.cc | 1 - .../search_strategy/search_strategy.cc | 4 - .../space_generator/post_order_apply.cc | 1 - src/meta_schedule/space_generator/schedule_fn.cc | 1 - .../space_generator/space_generator.cc | 3 - .../space_generator/space_generator_union.cc | 1 - src/meta_schedule/task_scheduler/gradient_based.cc | 1 - src/meta_schedule/task_scheduler/round_robin.cc | 1 - src/meta_schedule/task_scheduler/task_scheduler.cc | 3 - src/meta_schedule/tune_context.cc | 1 - src/node/reflection.cc | 113 +-- src/node/script_printer.cc | 1 - src/node/serialization.cc | 786 +-------------------- src/node/structural_equal.cc | 3 - src/node/structural_hash.cc | 99 +-- src/relax/backend/contrib/clml/codegen.cc | 1 - .../backend/contrib/codegen_json/codegen_json.h | 2 - src/relax/backend/contrib/cutlass/codegen.cc | 2 - src/relax/backend/contrib/tensorrt/codegen.cc | 1 - src/relax/backend/vm/exec_builder.cc | 2 - src/relax/distributed/global_info.cc | 1 - src/relax/distributed/struct_info.cc | 5 - src/relax/ir/binding_rewrite.cc | 2 - src/relax/ir/block_builder.cc | 1 - src/relax/ir/dataflow_expr_rewriter.cc | 8 - src/relax/ir/dataflow_matcher.cc | 67 +- src/relax/ir/dataflow_pattern.cc | 22 - src/relax/ir/dataflow_rewriter.h | 1 - src/relax/ir/emit_te.cc | 2 - src/relax/ir/expr.cc | 38 - src/relax/ir/py_expr_functor.cc | 4 - src/relax/ir/struct_info.cc | 12 - src/relax/ir/tir_pattern.cc | 2 - src/relax/ir/transform.cc | 4 - src/relax/ir/type.cc | 8 - src/relax/op/ccl/ccl.cc | 3 - src/relax/op/distributed/distributed.cc | 4 +- src/relax/op/image/resize.cc | 1 - src/relax/op/nn/attention.cc | 1 - src/relax/op/nn/convolution.cc | 6 - src/relax/op/nn/nn.cc | 13 - src/relax/op/nn/pooling.cc | 6 - src/relax/op/op.cc | 8 - src/relax/op/tensor/create.cc | 2 - src/relax/op/tensor/datatype.cc | 2 - src/relax/op/tensor/grad.cc | 1 - src/relax/op/tensor/index.cc | 2 - src/relax/op/tensor/linear_algebra.cc | 2 - src/relax/op/tensor/manipulate.cc | 19 +- src/relax/op/tensor/qdq.cc | 2 - src/relax/op/tensor/sampling.cc | 1 - src/relax/op/tensor/search.cc | 2 - src/relax/op/tensor/sorting.cc | 3 - src/relax/op/tensor/statistical.cc | 4 - src/relax/transform/dataflow_inplace.cc | 2 - src/relax/transform/fuse_ops.cc | 3 - src/runtime/contrib/papi/papi.cc | 3 - src/runtime/cuda/cuda_device_api.cc | 2 - src/runtime/disco/cuda_ipc/cuda_ipc_memory.cc | 2 - src/runtime/disco/distributed/socket_session.cc | 2 - src/runtime/disco/loader.cc | 2 - src/runtime/disco/process_session.cc | 3 - src/runtime/disco/session.cc | 2 - src/runtime/disco/threaded_session.cc | 2 - src/runtime/hexagon/hexagon_common.cc | 2 - src/runtime/metal/metal_device_api.mm | 2 - src/runtime/opencl/opencl_device_api.cc | 2 - src/runtime/profiling.cc | 12 - src/runtime/rocm/rocm_device_api.cc | 2 - src/runtime/rpc/rpc_module.cc | 2 - src/runtime/vm/kv_state.cc | 3 - src/runtime/vm/lm_support.cc | 2 - src/runtime/vm/paged_kv_cache.cc | 2 - src/runtime/vm/rnn_state.cc | 2 - src/runtime/vm/vm.cc | 1 - src/script/ir_builder/base.cc | 2 - src/script/ir_builder/ir/frame.cc | 2 - src/script/ir_builder/relax/frame.cc | 7 - src/script/ir_builder/tir/frame.cc | 18 - src/script/printer/doc.cc | 27 - src/script/printer/ir/ir.cc | 2 - src/script/printer/ir_docsifier.cc | 5 - src/script/printer/relax/function.cc | 2 - src/script/printer/tir/ir.cc | 2 - src/support/ffi_testing.cc | 2 - src/target/tag.cc | 2 - src/target/target.cc | 2 - src/target/target_info.cc | 2 - src/target/target_kind.cc | 33 +- src/target/virtual_device.cc | 3 - src/te/operation/compute_op.cc | 2 - src/te/operation/extern_op.cc | 2 - src/te/operation/placeholder_op.cc | 2 - src/te/operation/scan_op.cc | 1 - src/te/tensor.cc | 2 - src/tir/analysis/deep_equal.cc | 1 - src/tir/ir/block_dependence_info.cc | 1 - src/tir/ir/block_scope.cc | 4 - src/tir/ir/buffer.cc | 2 - src/tir/ir/data_layout.cc | 3 - src/tir/ir/expr.cc | 66 -- src/tir/ir/function.cc | 4 - src/tir/ir/index_map.cc | 2 - src/tir/ir/py_functor.cc | 3 - src/tir/ir/stmt.cc | 34 - src/tir/ir/transform.cc | 2 - src/tir/schedule/analysis/analysis.cc | 4 - src/tir/schedule/instruction.cc | 3 - src/tir/schedule/schedule.cc | 4 - src/tir/schedule/state.cc | 1 - src/tir/schedule/trace.cc | 1 - src/tir/transforms/hoist_expression.cc | 2 - src/tir/transforms/inject_double_buffer.cc | 1 - src/tir/transforms/loop_partition.cc | 1 - .../reduce_branching_through_overcompute.cc | 1 - src/tir/transforms/remove_no_op.cc | 1 - src/tir/transforms/simplify.cc | 1 - src/tir/transforms/unroll_loop.cc | 2 +- tests/cpp/object_protocol_test.cc | 5 - tests/python/relax/test_json_compact.py | 50 -- 229 files changed, 1346 insertions(+), 2065 deletions(-) create mode 100644 ffi/include/tvm/ffi/extra/base64.h create mode 100644 ffi/include/tvm/ffi/extra/serialization.h create mode 100644 ffi/include/tvm/ffi/reflection/creator.h create mode 100644 ffi/src/ffi/extra/serialization.cc create mode 100644 ffi/tests/cpp/extra/test_serialization.cc rename ffi/tests/cpp/{test_reflection_accessor.cc => test_reflection.cc} (96%) delete mode 100644 tests/python/relax/test_json_compact.py