diff --git a/ge/analyzer/analyzer.cc b/ge/analyzer/analyzer.cc old mode 100755 new mode 100644 diff --git a/ge/analyzer/analyzer.h b/ge/analyzer/analyzer.h old mode 100755 new mode 100644 diff --git a/ge/common/auth/file_saver.cc b/ge/common/auth/file_saver.cc old mode 100755 new mode 100644 diff --git a/ge/common/context/ctx.cc b/ge/common/context/ctx.cc old mode 100755 new mode 100644 diff --git a/ge/common/cust_aicpu_kernel_store.cc b/ge/common/cust_aicpu_kernel_store.cc old mode 100755 new mode 100644 diff --git a/ge/common/cust_aicpu_kernel_store.h b/ge/common/cust_aicpu_kernel_store.h old mode 100755 new mode 100644 diff --git a/ge/common/debug/memory_dumper.h b/ge/common/debug/memory_dumper.h old mode 100755 new mode 100644 diff --git a/ge/common/dump/dump_op.cc b/ge/common/dump/dump_op.cc old mode 100755 new mode 100644 diff --git a/ge/common/dump/dump_op.h b/ge/common/dump/dump_op.h old mode 100755 new mode 100644 diff --git a/ge/common/fmk_error_codes.cc b/ge/common/fmk_error_codes.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/datatype_transfer.h b/ge/common/formats/format_transfers/datatype_transfer.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_dhwcn_fracz3D.h b/ge/common/formats/format_transfers/format_transfer_dhwcn_fracz3D.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.h b/ge/common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc b/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_nz.h b/ge/common/formats/format_transfers/format_transfer_fractal_nz.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_z.h b/ge/common/formats/format_transfers/format_transfer_fractal_z.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc b/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fractal_zz.h b/ge/common/formats/format_transfers/format_transfer_fractal_zz.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc b/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nchw.h b/ge/common/formats/format_transfers/format_transfer_fracz_nchw.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc b/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.h b/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc b/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.h b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.h b/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nchw_fz_c04.h b/ge/common/formats/format_transfers/format_transfer_nchw_fz_c04.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc b/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc b/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.h b/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_transpose.cc b/ge/common/formats/format_transfers/format_transfer_transpose.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/format_transfers/format_transfer_transpose.h b/ge/common/formats/format_transfers/format_transfer_transpose.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/formats.cc b/ge/common/formats/formats.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/utils/formats_definitions.h b/ge/common/formats/utils/formats_definitions.h old mode 100755 new mode 100644 diff --git a/ge/common/formats/utils/formats_trans_utils.cc b/ge/common/formats/utils/formats_trans_utils.cc old mode 100755 new mode 100644 diff --git a/ge/common/formats/utils/formats_trans_utils.h b/ge/common/formats/utils/formats_trans_utils.h old mode 100755 new mode 100644 diff --git a/ge/common/fp16_t.cc b/ge/common/fp16_t.cc old mode 100755 new mode 100644 diff --git a/ge/common/fp16_t.h b/ge/common/fp16_t.h old mode 100755 new mode 100644 diff --git a/ge/common/ge/datatype_util.cc b/ge/common/ge/datatype_util.cc old mode 100755 new mode 100644 diff --git a/ge/common/ge/plugin_manager.h b/ge/common/ge/plugin_manager.h old mode 100755 new mode 100644 diff --git a/ge/common/ge/tbe_plugin_manager.cc b/ge/common/ge/tbe_plugin_manager.cc old mode 100755 new mode 100644 diff --git a/ge/common/ge/tbe_plugin_manager.h b/ge/common/ge/tbe_plugin_manager.h old mode 100755 new mode 100644 diff --git a/ge/common/ge_common.mk b/ge/common/ge_common.mk old mode 100755 new mode 100644 diff --git a/ge/common/ge_format_util.cc b/ge/common/ge_format_util.cc old mode 100755 new mode 100644 diff --git a/ge/common/kernel_store.cc b/ge/common/kernel_store.cc old mode 100755 new mode 100644 diff --git a/ge/common/kernel_store.h b/ge/common/kernel_store.h old mode 100755 new mode 100644 diff --git a/ge/common/math/fp16_math.cc b/ge/common/math/fp16_math.cc old mode 100755 new mode 100644 diff --git a/ge/common/math/fp16_math.h b/ge/common/math/fp16_math.h old mode 100755 new mode 100644 diff --git a/ge/common/math/math_util.h b/ge/common/math/math_util.h old mode 100755 new mode 100644 diff --git a/ge/common/math_util.h b/ge/common/math_util.h old mode 100755 new mode 100644 diff --git a/ge/common/model/ge_model.cc b/ge/common/model/ge_model.cc old mode 100755 new mode 100644 diff --git a/ge/common/model/ge_model.h b/ge/common/model/ge_model.h old mode 100755 new mode 100644 diff --git a/ge/common/model/ge_root_model.h b/ge/common/model/ge_root_model.h old mode 100755 new mode 100644 diff --git a/ge/common/model_parser/model_parser.h b/ge/common/model_parser/model_parser.h old mode 100755 new mode 100644 diff --git a/ge/common/model_saver.cc b/ge/common/model_saver.cc old mode 100755 new mode 100644 diff --git a/ge/common/module.mk b/ge/common/module.mk old mode 100755 new mode 100644 diff --git a/ge/common/profiling/profiling_manager.h b/ge/common/profiling/profiling_manager.h old mode 100755 new mode 100644 diff --git a/ge/common/singleton.h b/ge/common/singleton.h old mode 100755 new mode 100644 diff --git a/ge/common/tbe_kernel_store.cc b/ge/common/tbe_kernel_store.cc old mode 100755 new mode 100644 diff --git a/ge/common/tbe_kernel_store.h b/ge/common/tbe_kernel_store.h old mode 100755 new mode 100644 diff --git a/ge/common/thread_pool.h b/ge/common/thread_pool.h old mode 100755 new mode 100644 diff --git a/ge/common/transop_util.cc b/ge/common/transop_util.cc old mode 100755 new mode 100644 diff --git a/ge/engine_manager/dnnengine_manager.h b/ge/engine_manager/dnnengine_manager.h old mode 100755 new mode 100644 diff --git a/ge/executor/ge_executor.cc b/ge/executor/ge_executor.cc old mode 100755 new mode 100644 diff --git a/ge/ge_inference.mk b/ge/ge_inference.mk old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/engine/ge_local_engine.cc b/ge/ge_local_engine/engine/ge_local_engine.cc old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/engine/host_cpu_engine.cc b/ge/ge_local_engine/engine/host_cpu_engine.cc old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/module.mk b/ge/ge_local_engine/module.mk old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/ops_kernel_store/ge_local_ops_kernel_info.cc b/ge/ge_local_engine/ops_kernel_store/ge_local_ops_kernel_info.cc old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/ops_kernel_store/ge_local_ops_kernel_info.h b/ge/ge_local_engine/ops_kernel_store/ge_local_ops_kernel_info.h old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/ops_kernel_store/op/ge_deleted_op.cc b/ge/ge_local_engine/ops_kernel_store/op/ge_deleted_op.cc old mode 100755 new mode 100644 diff --git a/ge/ge_local_engine/ops_kernel_store/op/no_op.cc b/ge/ge_local_engine/ops_kernel_store/op/no_op.cc old mode 100755 new mode 100644 diff --git a/ge/ge_runtime/module.mk b/ge/ge_runtime/module.mk old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/block_mem_assigner.cc b/ge/graph/build/memory/block_mem_assigner.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/block_mem_assigner.h b/ge/graph/build/memory/block_mem_assigner.h old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/graph_mem_assigner.cc b/ge/graph/build/memory/graph_mem_assigner.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/graph_mem_assigner.h b/ge/graph/build/memory/graph_mem_assigner.h old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/hybrid_mem_assigner.cc b/ge/graph/build/memory/hybrid_mem_assigner.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/hybrid_mem_assigner.h b/ge/graph/build/memory/hybrid_mem_assigner.h old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/mem_assigner.h b/ge/graph/build/memory/mem_assigner.h old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/memory_assigner.cc b/ge/graph/build/memory/memory_assigner.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/module.mk b/ge/graph/build/memory/module.mk old mode 100755 new mode 100644 diff --git a/ge/graph/build/memory/var_mem_assign_util.cc b/ge/graph/build/memory/var_mem_assign_util.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/model_builder.cc b/ge/graph/build/model_builder.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/run_context.h b/ge/graph/build/run_context.h old mode 100755 new mode 100644 diff --git a/ge/graph/build/task_generator.cc b/ge/graph/build/task_generator.cc old mode 100755 new mode 100644 diff --git a/ge/graph/build/task_generator.h b/ge/graph/build/task_generator.h old mode 100755 new mode 100644 diff --git a/ge/graph/execute/graph_execute.cc b/ge/graph/execute/graph_execute.cc old mode 100755 new mode 100644 diff --git a/ge/graph/execute/graph_execute.h b/ge/graph/execute/graph_execute.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/graph_loader.cc b/ge/graph/load/graph_loader.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/graph_loader.h b/ge/graph/load/graph_loader.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/aipp_utils.cc b/ge/graph/load/model_manager/aipp_utils.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/aipp_utils.h b/ge/graph/load/model_manager/aipp_utils.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/data_dumper.h b/ge/graph/load/model_manager/data_dumper.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/data_inputer.cc b/ge/graph/load/model_manager/data_inputer.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/data_inputer.h b/ge/graph/load/model_manager/data_inputer.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/davinci_model.cc b/ge/graph/load/model_manager/davinci_model.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/davinci_model.h b/ge/graph/load/model_manager/davinci_model.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/model_manager.cc b/ge/graph/load/model_manager/model_manager.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/model_manager.h b/ge/graph/load/model_manager/model_manager.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/model_utils.cc b/ge/graph/load/model_manager/model_utils.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/model_utils.h b/ge/graph/load/model_manager/model_utils.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/event_record_task_info.cc b/ge/graph/load/model_manager/task_info/event_record_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/event_record_task_info.h b/ge/graph/load/model_manager/task_info/event_record_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/event_wait_task_info.cc b/ge/graph/load/model_manager/task_info/event_wait_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/event_wait_task_info.h b/ge/graph/load/model_manager/task_info/event_wait_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/fusion_start_task_info.cc b/ge/graph/load/model_manager/task_info/fusion_start_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/fusion_start_task_info.h b/ge/graph/load/model_manager/task_info/fusion_start_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/fusion_stop_task_info.cc b/ge/graph/load/model_manager/task_info/fusion_stop_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/fusion_stop_task_info.h b/ge/graph/load/model_manager/task_info/fusion_stop_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/kernel_task_info.cc b/ge/graph/load/model_manager/task_info/kernel_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/label_goto_ex_task_info.cc b/ge/graph/load/model_manager/task_info/label_goto_ex_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/label_goto_ex_task_info.h b/ge/graph/load/model_manager/task_info/label_goto_ex_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc b/ge/graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/memcpy_async_task_info.cc b/ge/graph/load/model_manager/task_info/memcpy_async_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/memcpy_async_task_info.h b/ge/graph/load/model_manager/task_info/memcpy_async_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/profiler_trace_task_info.cc b/ge/graph/load/model_manager/task_info/profiler_trace_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/profiler_trace_task_info.h b/ge/graph/load/model_manager/task_info/profiler_trace_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/stream_active_task_info.cc b/ge/graph/load/model_manager/task_info/stream_active_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/stream_active_task_info.h b/ge/graph/load/model_manager/task_info/stream_active_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/stream_switch_task_info.h b/ge/graph/load/model_manager/task_info/stream_switch_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/stream_switchn_task_info.cc b/ge/graph/load/model_manager/task_info/stream_switchn_task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/stream_switchn_task_info.h b/ge/graph/load/model_manager/task_info/stream_switchn_task_info.h old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/task_info/task_info.cc b/ge/graph/load/model_manager/task_info/task_info.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/tbe_handle_store.cc b/ge/graph/load/model_manager/tbe_handle_store.cc old mode 100755 new mode 100644 diff --git a/ge/graph/load/model_manager/zero_copy_task.cc b/ge/graph/load/model_manager/zero_copy_task.cc old mode 100755 new mode 100644 diff --git a/ge/graph/manager/graph_manager.cc b/ge/graph/manager/graph_manager.cc old mode 100755 new mode 100644 diff --git a/ge/graph/manager/graph_mem_allocator.cc b/ge/graph/manager/graph_mem_allocator.cc old mode 100755 new mode 100644 diff --git a/ge/graph/manager/graph_var_manager.cc b/ge/graph/manager/graph_var_manager.cc old mode 100755 new mode 100644 diff --git a/ge/graph/manager/graph_var_manager.h b/ge/graph/manager/graph_var_manager.h old mode 100755 new mode 100644 diff --git a/ge/graph/manager/trans_var_data_utils.h b/ge/graph/manager/trans_var_data_utils.h old mode 100755 new mode 100644 diff --git a/ge/graph/manager/util/debug.h b/ge/graph/manager/util/debug.h old mode 100755 new mode 100644 diff --git a/ge/graph/optimize/graph_optimize.h b/ge/graph/optimize/graph_optimize.h old mode 100755 new mode 100644 diff --git a/ge/graph/partition/dynamic_shape_partition.cc b/ge/graph/partition/dynamic_shape_partition.cc old mode 100755 new mode 100644 diff --git a/ge/graph/partition/engine_place.cc b/ge/graph/partition/engine_place.cc old mode 100755 new mode 100644 diff --git a/ge/graph/partition/engine_place.h b/ge/graph/partition/engine_place.h old mode 100755 new mode 100644 diff --git a/ge/graph/partition/graph_partition.cc b/ge/graph/partition/graph_partition.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/aicpu_constant_folding_pass.h b/ge/graph/passes/aicpu_constant_folding_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/assert_pass.h b/ge/graph/passes/assert_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/atomic_addr_clean_pass.cc b/ge/graph/passes/atomic_addr_clean_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/atomic_addr_clean_pass.h b/ge/graph/passes/atomic_addr_clean_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/attach_stream_label_pass.h b/ge/graph/passes/attach_stream_label_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/base_pass.cc b/ge/graph/passes/base_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/cast_translate_pass.h b/ge/graph/passes/cast_translate_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/compile_nodes_pass.cc b/ge/graph/passes/compile_nodes_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/constant_fuse_same_pass.h b/ge/graph/passes/constant_fuse_same_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/control_trigger_pass.h b/ge/graph/passes/control_trigger_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/ctrl_edge_transfer_pass.cc b/ge/graph/passes/ctrl_edge_transfer_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/ctrl_edge_transfer_pass.h b/ge/graph/passes/ctrl_edge_transfer_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/dimension_adjust_pass.cc b/ge/graph/passes/dimension_adjust_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/dimension_adjust_pass.h b/ge/graph/passes/dimension_adjust_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/dimension_compute_pass.cc b/ge/graph/passes/dimension_compute_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/dropout_pass.h b/ge/graph/passes/dropout_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/end_of_sequence_add_control_pass.cc b/ge/graph/passes/end_of_sequence_add_control_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/flow_ctrl_pass.cc b/ge/graph/passes/flow_ctrl_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/flow_ctrl_pass.h b/ge/graph/passes/flow_ctrl_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/folding_pass.cc b/ge/graph/passes/folding_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/folding_pass.h b/ge/graph/passes/folding_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/fuse_data_nodes_with_common_input_pass.h b/ge/graph/passes/fuse_data_nodes_with_common_input_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/get_original_format_pass.h b/ge/graph/passes/get_original_format_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/global_step_insert_pass.cc b/ge/graph/passes/global_step_insert_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/global_step_insert_pass.h b/ge/graph/passes/global_step_insert_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/guarantee_const_pass.h b/ge/graph/passes/guarantee_const_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/hccl_memcpy_pass.cc b/ge/graph/passes/hccl_memcpy_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/hccl_memcpy_pass.h b/ge/graph/passes/hccl_memcpy_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/identity_pass.cc b/ge/graph/passes/identity_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/infershape_pass.cc b/ge/graph/passes/infershape_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/input_output_connection_identify_pass.h b/ge/graph/passes/input_output_connection_identify_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/link_gen_mask_nodes_pass.cc b/ge/graph/passes/link_gen_mask_nodes_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/memcpy_addr_async_pass.cc b/ge/graph/passes/memcpy_addr_async_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/memcpy_addr_async_pass.h b/ge/graph/passes/memcpy_addr_async_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/merge_pass.h b/ge/graph/passes/merge_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/multi_batch_clone_pass.cc b/ge/graph/passes/multi_batch_clone_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/multi_batch_clone_pass.h b/ge/graph/passes/multi_batch_clone_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/next_iteration_pass.h b/ge/graph/passes/next_iteration_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/no_use_reshape_remove_pass.h b/ge/graph/passes/no_use_reshape_remove_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/parallel_concat_start_op_pass.cc b/ge/graph/passes/parallel_concat_start_op_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/parallel_concat_start_op_pass.h b/ge/graph/passes/parallel_concat_start_op_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/pass_utils.h b/ge/graph/passes/pass_utils.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/permute_pass.h b/ge/graph/passes/permute_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/prevent_gradient_pass.h b/ge/graph/passes/prevent_gradient_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/print_op_pass.cc b/ge/graph/passes/print_op_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/print_op_pass.h b/ge/graph/passes/print_op_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/prune_pass.h b/ge/graph/passes/prune_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/reshape_remove_pass.cc b/ge/graph/passes/reshape_remove_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/resource_pair_add_control_pass.cc b/ge/graph/passes/resource_pair_add_control_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/resource_pair_remove_control_pass.cc b/ge/graph/passes/resource_pair_remove_control_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/same_transdata_breadth_fusion_pass.h b/ge/graph/passes/same_transdata_breadth_fusion_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/save_pass.cc b/ge/graph/passes/save_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/save_pass.h b/ge/graph/passes/save_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/shape_operate_op_remove_pass.cc b/ge/graph/passes/shape_operate_op_remove_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/shape_operate_op_remove_pass.h b/ge/graph/passes/shape_operate_op_remove_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/stop_gradient_pass.h b/ge/graph/passes/stop_gradient_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/subexpression_migration_pass.cc b/ge/graph/passes/subexpression_migration_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/subexpression_migration_pass.h b/ge/graph/passes/subexpression_migration_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/subgraph_const_migration_pass.h b/ge/graph/passes/subgraph_const_migration_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/subgraph_pass.cc b/ge/graph/passes/subgraph_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/transop_breadth_fusion_pass.h b/ge/graph/passes/transop_breadth_fusion_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/transop_depth_fusion_pass.cc b/ge/graph/passes/transop_depth_fusion_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/transop_depth_fusion_pass.h b/ge/graph/passes/transop_depth_fusion_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/transop_nearby_allreduce_fusion_pass.h b/ge/graph/passes/transop_nearby_allreduce_fusion_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/transop_without_reshape_fusion_pass.h b/ge/graph/passes/transop_without_reshape_fusion_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/unused_args_clean_pass.cc b/ge/graph/passes/unused_args_clean_pass.cc old mode 100755 new mode 100644 diff --git a/ge/graph/passes/unused_const_pass.h b/ge/graph/passes/unused_const_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/var_is_initialized_op_pass.h b/ge/graph/passes/var_is_initialized_op_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/variable_op_pass.h b/ge/graph/passes/variable_op_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/passes/variable_ref_delete_op_pass.h b/ge/graph/passes/variable_ref_delete_op_pass.h old mode 100755 new mode 100644 diff --git a/ge/graph/preprocess/graph_preprocess.h b/ge/graph/preprocess/graph_preprocess.h old mode 100755 new mode 100644 diff --git a/ge/graph/preprocess/insert_op/ge_aipp_op.cc b/ge/graph/preprocess/insert_op/ge_aipp_op.cc old mode 100755 new mode 100644 diff --git a/ge/graph/preprocess/insert_op/ge_aipp_op.h b/ge/graph/preprocess/insert_op/ge_aipp_op.h old mode 100755 new mode 100644 diff --git a/ge/graph/preprocess/insert_op/util_insert_aipp_op.cc b/ge/graph/preprocess/insert_op/util_insert_aipp_op.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/add_kernel.h b/ge/host_kernels/add_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/broadcast_args_kernel.h b/ge/host_kernels/broadcast_args_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/broadcast_gradient_args_kernel.h b/ge/host_kernels/broadcast_gradient_args_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/cast_kernel.h b/ge/host_kernels/cast_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/concat_offset_kernel.h b/ge/host_kernels/concat_offset_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/concat_v2_kernel.h b/ge/host_kernels/concat_v2_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/empty_kernel.h b/ge/host_kernels/empty_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/expanddims_kernel.h b/ge/host_kernels/expanddims_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/fill_kernel.h b/ge/host_kernels/fill_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/floordiv_kernel.h b/ge/host_kernels/floordiv_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/floormod_kernel.h b/ge/host_kernels/floormod_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/gather_v2_kernel.h b/ge/host_kernels/gather_v2_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/greater_kernel.h b/ge/host_kernels/greater_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/kernel_utils.cc b/ge/host_kernels/kernel_utils.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/kernel_utils.h b/ge/host_kernels/kernel_utils.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/maximum_kernel.h b/ge/host_kernels/maximum_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/mul_kernel.h b/ge/host_kernels/mul_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/pack_kernel.h b/ge/host_kernels/pack_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/permute_kernel.cc b/ge/host_kernels/permute_kernel.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/permute_kernel.h b/ge/host_kernels/permute_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/range_kernel.h b/ge/host_kernels/range_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/rank_kernel.cc b/ge/host_kernels/rank_kernel.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/rank_kernel.h b/ge/host_kernels/rank_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/reduce_prod_kernel.h b/ge/host_kernels/reduce_prod_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/reformat_kernel.h b/ge/host_kernels/reformat_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/reshape_kernel.h b/ge/host_kernels/reshape_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/rsqrt_kernel.cc b/ge/host_kernels/rsqrt_kernel.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/rsqrt_kernel.h b/ge/host_kernels/rsqrt_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/shape_kernel.h b/ge/host_kernels/shape_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/shape_n_kernel.h b/ge/host_kernels/shape_n_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/size_kernel.h b/ge/host_kernels/size_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/slice_d_kernel.h b/ge/host_kernels/slice_d_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/slice_kernel.h b/ge/host_kernels/slice_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/squeeze_kernel.h b/ge/host_kernels/squeeze_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/ssd_prior_box_kernel.h b/ge/host_kernels/ssd_prior_box_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/strided_slice_kernel.h b/ge/host_kernels/strided_slice_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/sub_kernel.h b/ge/host_kernels/sub_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/transdata_kernel.h b/ge/host_kernels/transdata_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/transpose_kernel.cc b/ge/host_kernels/transpose_kernel.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/transpose_kernel.h b/ge/host_kernels/transpose_kernel.h old mode 100755 new mode 100644 diff --git a/ge/host_kernels/unpack_kernel.cc b/ge/host_kernels/unpack_kernel.cc old mode 100755 new mode 100644 diff --git a/ge/host_kernels/unpack_kernel.h b/ge/host_kernels/unpack_kernel.h old mode 100755 new mode 100644 diff --git a/ge/hybrid/executor/hybrid_model_executor.cc b/ge/hybrid/executor/hybrid_model_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/executor/worker/execution_engine.cc b/ge/hybrid/executor/worker/execution_engine.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/executor/worker/shape_inference_engine.cc b/ge/hybrid/executor/worker/shape_inference_engine.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/executor/worker/task_compile_engine.cc b/ge/hybrid/executor/worker/task_compile_engine.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/hybrid_davinci_model.cc b/ge/hybrid/hybrid_davinci_model.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/model/hybrid_model_builder.cc b/ge/hybrid/model/hybrid_model_builder.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_node_executor.cc b/ge/hybrid/node_executor/aicore/aicore_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_node_executor.h b/ge/hybrid/node_executor/aicore/aicore_node_executor.h old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_op_task.h b/ge/hybrid/node_executor/aicore/aicore_op_task.h old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_task_builder.cc b/ge/hybrid/node_executor/aicore/aicore_task_builder.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_task_builder.h b/ge/hybrid/node_executor/aicore/aicore_task_builder.h old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_task_compiler.cc b/ge/hybrid/node_executor/aicore/aicore_task_compiler.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicore/aicore_task_compiler.h b/ge/hybrid/node_executor/aicore/aicore_task_compiler.h old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/aicpu/aicpu_node_executor.cc b/ge/hybrid/node_executor/aicpu/aicpu_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc b/ge/hybrid/node_executor/compiledsubgraph/known_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/ge_local/ge_local_node_executor.cc b/ge/hybrid/node_executor/ge_local/ge_local_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/host_cpu/host_cpu_node_executor.cc b/ge/hybrid/node_executor/host_cpu/host_cpu_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/node_executor.cc b/ge/hybrid/node_executor/node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/hybrid/node_executor/partitioned_call/partitioned_call_node_executor.cc b/ge/hybrid/node_executor/partitioned_call/partitioned_call_node_executor.cc old mode 100755 new mode 100644 diff --git a/ge/ir_build/option_utils.cc b/ge/ir_build/option_utils.cc old mode 100755 new mode 100644 diff --git a/ge/module.mk b/ge/module.mk old mode 100755 new mode 100644 diff --git a/ge/offline/main.cc b/ge/offline/main.cc old mode 100755 new mode 100644 diff --git a/ge/offline/module.mk b/ge/offline/module.mk old mode 100755 new mode 100644 diff --git a/ge/plugin/engine/dnnengines.cc b/ge/plugin/engine/dnnengines.cc old mode 100755 new mode 100644 diff --git a/ge/plugin/engine/module.mk b/ge/plugin/engine/module.mk old mode 100755 new mode 100644 diff --git a/ge/session/inner_session.cc b/ge/session/inner_session.cc old mode 100755 new mode 100644 diff --git a/ge/session/omg.cc b/ge/session/omg.cc old mode 100755 new mode 100644 diff --git a/ge/session/session_manager.cc b/ge/session/session_manager.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/single_op.cc b/ge/single_op/single_op.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/single_op.h b/ge/single_op/single_op.h old mode 100755 new mode 100644 diff --git a/ge/single_op/single_op_model.cc b/ge/single_op/single_op_model.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/single_op_model.h b/ge/single_op/single_op_model.h old mode 100755 new mode 100644 diff --git a/ge/single_op/stream_resource.cc b/ge/single_op/stream_resource.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/stream_resource.h b/ge/single_op/stream_resource.h old mode 100755 new mode 100644 diff --git a/ge/single_op/task/aicpu_kernel_task_builder.cc b/ge/single_op/task/aicpu_kernel_task_builder.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/task/aicpu_kernel_task_builder.h b/ge/single_op/task/aicpu_kernel_task_builder.h old mode 100755 new mode 100644 diff --git a/ge/single_op/task/aicpu_task_builder.cc b/ge/single_op/task/aicpu_task_builder.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/task/aicpu_task_builder.h b/ge/single_op/task/aicpu_task_builder.h old mode 100755 new mode 100644 diff --git a/ge/single_op/task/op_task.cc b/ge/single_op/task/op_task.cc old mode 100755 new mode 100644 diff --git a/ge/single_op/task/tbe_task_builder.h b/ge/single_op/task/tbe_task_builder.h old mode 100755 new mode 100644 diff --git a/inc/external/acl/acl.h b/inc/external/acl/acl.h index 5fbaccc7..31e4d7c8 100644 --- a/inc/external/acl/acl.h +++ b/inc/external/acl/acl.h @@ -25,9 +25,9 @@ extern "C" { #endif -// Current version is 1.2.0 +// Current version is 1.3.0 #define ACL_MAJOR_VERSION 1 -#define ACL_MINOR_VERSION 2 +#define ACL_MINOR_VERSION 3 #define ACL_PATCH_VERSION 0 /** diff --git a/inc/external/ge/ge_api_types.h b/inc/external/ge/ge_api_types.h index 1cef0ef8..07e4ec46 100644 --- a/inc/external/ge/ge_api_types.h +++ b/inc/external/ge/ge_api_types.h @@ -50,6 +50,8 @@ const char_t *const OPTION_EXEC_ENABLE_DUMP = "ge.exec.enableDump"; const char_t *const OPTION_EXEC_DUMP_PATH = "ge.exec.dumpPath"; const char_t *const OPTION_EXEC_DUMP_STEP = "ge.exec.dumpStep"; const char_t *const OPTION_EXEC_DUMP_MODE = "ge.exec.dumpMode"; +const char_t *const OPTION_EXEC_DUMP_DATA = "ge.exec.dumpData"; +const char_t *const OPTION_EXEC_DUMP_LAYER = "ge.exec.dumpLayer"; const char_t *const OPTION_EXEC_ENABLE_DUMP_DEBUG = "ge.exec.enableDumpDebug"; const char_t *const OPTION_EXEC_DUMP_DEBUG_MODE = "ge.exec.dumpDebugMode"; const char_t *const OPTION_EXEC_ENABLE_INCRE_BUILD = "ge.exec.enableIncreBuild"; @@ -131,7 +133,7 @@ const char_t *const MODIFY_MIXLIST = "ge.exec.modify_mixlist"; const char_t *const OP_PRECISION_MODE = "ge.exec.op_precision_mode"; const char_t *const CUSTOMIZE_DTYPES = "ge.customizeDtypes"; const char_t *const COMPRESSION_OPTIMIZE_CONF = "ge.compressionOptimizeConf"; -const char_t *const BUILD_GRAPH_ALREADY_INITIALIZED = "build_graph_already_initialized"; +const char_t *const OP_DEBUG_CONFIG = "op_debug_config"; } // namespace configure_option // Configure stream num by Session constructor options param, // its value should be int32_t type, default value is "1" @@ -296,12 +298,12 @@ const std::string FUSION_SWITCH_FILE = "ge.fusionSwitchFile"; // Configure compression optimize file path const std::string COMPRESSION_OPTIMIZE_CONF = "ge.compressionOptimizeConf"; -// Configure for amct -const std::string BUILD_GRAPH_ALREADY_INITIALIZED = "build_graph_already_initialized"; - // Configure customize dtypes path const std::string CUSTOMIZE_DTYPES = "ge.customizeDtypes"; +// Configure switch for op debug config such as op memory detection +const std::string OP_DEBUG_CONFIG = "op_debug_config"; + // Save original model const std::string SAVE_ORIGINAL_MODEL = "ge.saveOriginalModel"; @@ -482,8 +484,8 @@ static const char_t *const MODIFY_MIXLIST = ge::MODIFY_MIXLIST.c_str(); static const char_t *const OP_PRECISION_MODE = ge::OP_PRECISION_MODE.c_str(); static const char_t *const CUSTOMIZE_DTYPES = "ge.customizeDtypes"; static const char_t *const COMPRESSION_OPTIMIZE_CONF = "ge.compressionOptimizeConf"; -static const char_t *const BUILD_GRAPH_ALREADY_INITIALIZED = "build_graph_already_initialized"; static const char_t *const INPUT_DATA_NAMES = "input_data_names"; +static const char_t *const OP_DEBUG_CONFIG = "op_debug_config"; // for interface: aclgrphBuildModel #ifdef __GNUC__ @@ -515,7 +517,8 @@ const std::set ir_builder_suppported_options = {INPUT_FORMAT, SHAPE_GENERALIZED_BUILD_MODE, MODIFY_MIXLIST, CUSTOMIZE_DTYPES, - BUILD_INNER_MODEL}; + BUILD_INNER_MODEL, + OP_DEBUG_CONFIG}; // for interface: aclgrphParse const std::set ir_parser_suppported_options = { @@ -546,7 +549,7 @@ const std::set global_options = {CORE_TYPE, OP_COMPILER_CACHE_MODE, MODIFY_MIXLIST, COMPRESSION_OPTIMIZE_CONF, - BUILD_GRAPH_ALREADY_INITIALIZED}; + OP_DEBUG_CONFIG}; #endif } // namespace ir_option } // namespace ge diff --git a/inc/framework/common/helper/model_helper.h b/inc/framework/common/helper/model_helper.h index accceca1..c2c471f6 100644 --- a/inc/framework/common/helper/model_helper.h +++ b/inc/framework/common/helper/model_helper.h @@ -41,6 +41,7 @@ class GE_FUNC_VISIBILITY ModelHelper { Status SaveOriginalGraphToOmModel(const ge::Graph &graph, const std::string &output_file) const; Status LoadModel(const ge::ModelData &model_data); Status LoadRootModel(const ge::ModelData &model_data); + static Status GetModelFileHead(const ge::ModelData &model_data, ModelFileHeader *&file_header); static void SetModelToGeModel(const GeModelPtr &ge_model, Model &model); GeModelPtr GetGeModel(); diff --git a/inc/framework/common/types.h b/inc/framework/common/types.h index c3d04ee2..6701a483 100644 --- a/inc/framework/common/types.h +++ b/inc/framework/common/types.h @@ -31,6 +31,7 @@ namespace ge { // dump FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_MODEL; FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_ALL_MODEL; +FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_LAYER_OP_MODEL; FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_STATUS; FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_LAYER; FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY extern const std::string DUMP_FILE_PATH; @@ -430,6 +431,10 @@ REGISTER_OPTYPE_DECLARE(SEND, "Send"); REGISTER_OPTYPE_DECLARE(RECV, "Recv"); REGISTER_OPTYPE_DECLARE(ENDOFSEQUENCE, "EndOfSequence"); REGISTER_OPTYPE_DECLARE(STARTOFSEQUENCE, "StartOfSequence"); +REGISTER_OPTYPE_DECLARE(NPUGETFLOATSTATUS, "NPUGetFloatStatus"); +REGISTER_OPTYPE_DECLARE(NPUCLEARFLOATSTATUS, "NPUClearFloatStatus"); +REGISTER_OPTYPE_DECLARE(NPUGETFLOATSTATUSV2, "NPUGetFloatStatusV2"); +REGISTER_OPTYPE_DECLARE(NPUCLEARFLOATSTATUSV2, "NPUClearFloatStatusV2"); REGISTER_OPTYPE_DECLARE(LABELSET, "LabelSet"); REGISTER_OPTYPE_DECLARE(LABELGOTO, "LabelGoto"); diff --git a/inc/framework/generator/ge_generator.h b/inc/framework/generator/ge_generator.h index 371caf24..ffc5d31a 100644 --- a/inc/framework/generator/ge_generator.h +++ b/inc/framework/generator/ge_generator.h @@ -125,6 +125,7 @@ class GE_FUNC_VISIBILITY GeGenerator { Status CheckForSingleOp(const OpDescPtr &op_desc, const std::vector &inputs, const std::vector &outputs) const; Status InferFormatForSingleOp(const OpDescPtr &op_desc, const Graph &graph) const; + Status ResetAiCpuToDynamicShape(const ComputeGraphPtr &graph); using GeRootModelPtr = std::shared_ptr; Status SetModelNameForDump(const GeRootModelPtr &ge_root_model); diff --git a/inc/framework/runtime/block.h b/inc/framework/runtime/block.h new file mode 100644 index 00000000..5bfa20cc --- /dev/null +++ b/inc/framework/runtime/block.h @@ -0,0 +1,37 @@ +/** + * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. + * + * Licensed 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. + */ +#ifndef AIR_CXX_BLOCK_H +#define AIR_CXX_BLOCK_H +#include "exe_graph/runtime/tensor_data.h" + +namespace gert { +namespace memory { +class Block { + public: + // todo use TensorAddress + virtual const void *Addr() const = 0; + virtual void *MutableAddr() = 0; + virtual size_t GetSize() const = 0; + virtual size_t AddCount() = 0; + virtual size_t SubCount() = 0; + virtual size_t GetCount() const = 0; + virtual TensorData ToTensorData() = 0; + virtual void Free() = 0; + virtual ~Block() = default; +}; +} // namespace memory +} // namespace gert +#endif // AIR_CXX_BLOCK_H diff --git a/inc/framework/runtime/gert_api.h b/inc/framework/runtime/gert_api.h index 6571a67e..b8d4423b 100644 --- a/inc/framework/runtime/gert_api.h +++ b/inc/framework/runtime/gert_api.h @@ -19,6 +19,7 @@ #include "model_v2_executor.h" #include "common/ge_types.h" #include "common/ge_visibility.h" +#include "mem_allocator.h" namespace gert { VISIBILITY_EXPORT @@ -27,5 +28,11 @@ std::unique_ptr LoadExecutorFromFile(const char *model_path, ge VISIBILITY_EXPORT std::unique_ptr LoadExecutorFromModelData(const ge::ModelData &model_data, ge::graphStatus &error_code); +VISIBILITY_EXPORT +ge::graphStatus IsDynamicModel(const char *model_path, bool &is_dynamic_model); + +VISIBILITY_EXPORT +std::unique_ptr CreateSingleOpAllocator(); + } // namespace gert #endif // AIR_CXX_INC_FRAMEWORK_RUNTIME_GERT_API_H_ diff --git a/inc/framework/runtime/mem_allocator.h b/inc/framework/runtime/mem_allocator.h new file mode 100644 index 00000000..6ed7d554 --- /dev/null +++ b/inc/framework/runtime/mem_allocator.h @@ -0,0 +1,38 @@ +/** + * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. + * + * Licensed 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. + */ +#ifndef AIR_CXX_MEM_ALLOCATOR_H +#define AIR_CXX_MEM_ALLOCATOR_H +#include "block.h" +#include "exe_graph/runtime/allocator.h" + +namespace gert { +namespace memory { +struct MemAllocator { + virtual Block *Malloc(size_t size) = 0; + virtual ~MemAllocator() = default; +}; +} // namespace memory + +struct ExternalAllocators { + public: + memory::MemAllocator *GetAllocator(size_t placement, size_t usage); + ge::Status SetAllocator(size_t placement, size_t usage, std::unique_ptr allocator); + + private: + std::unique_ptr allocators[kTensorPlacementEnd][static_cast(AllocatorUsage::kEnd)]; +}; +} // namespace gert +#endif // AIR_CXX_MEM_ALLOCATOR_H diff --git a/inc/framework/runtime/model_desc.h b/inc/framework/runtime/model_desc.h index 3a736f70..79433781 100644 --- a/inc/framework/runtime/model_desc.h +++ b/inc/framework/runtime/model_desc.h @@ -52,6 +52,8 @@ class VISIBILITY_EXPORT ModelIoDesc { const Shape &GetOriginShape() const; const ShapeRange &GetOriginShapeRange() const; const ShapeRange &GetStorageShapeRange() const; + std::vector> GetOriginShapeRangeVector() const; + std::vector> GetStorageShapeRangeVector() const; void SetName(const char *name); void SetDataType(int32_t data_type); diff --git a/inc/framework/runtime/model_v2_executor.h b/inc/framework/runtime/model_v2_executor.h index 45655795..7dab8361 100644 --- a/inc/framework/runtime/model_v2_executor.h +++ b/inc/framework/runtime/model_v2_executor.h @@ -26,6 +26,9 @@ #include "exe_graph_resource_guard.h" #include "exe_graph_executor.h" #include "subscriber/executor_subscribers_scheduler.h" +#include "common/ge_types.h" +#include "gert_api.h" +#include "mem_allocator.h" namespace gert { enum class ExecutorState { kInit, kLoaded }; @@ -35,13 +38,20 @@ inline const char *GetSubExeGraphTypeStr(SubExeGraphType type) { return kSubExeGraphTypeStrs[type]; } +enum class ExecuteArgIndex { kExternalAllocator = -2, kStream = -1, kEnd }; + struct ModelExecuteArg { rtStream_t stream; + ExternalAllocators *external_allocator; + ModelExecuteArg() : stream(nullptr), external_allocator(nullptr) {} + ModelExecuteArg(rtStream_t stream_, ExternalAllocators *external_allocator_ = nullptr) + : stream(stream_), external_allocator(external_allocator_) {} }; static_assert(std::is_standard_layout::value, "The class ModelExecuteArg must be a POD"); - class VISIBILITY_EXPORT ModelV2Executor { public: + static std::unique_ptr Create(const ge::ComputeGraphPtr &root_graph, const ge::ModelData &model_data, + const std::shared_ptr &root_model); static std::unique_ptr Create(const ge::ComputeGraphPtr &root_graph); ge::graphStatus Load(); @@ -52,8 +62,11 @@ class VISIBILITY_EXPORT ModelV2Executor { const ModelDesc &GetModelDesc() const; void SetModelDesc(ModelDesc *model_desc); - ExeGraphExecutor &GetMainExeGraphExecutor() { - return graphs_[kMainExeGraph]; + ExeGraphExecutor *GetExeGraphExecutor(SubExeGraphType type) { + if (type >= kSubExeGraphTypeEnd) { + return nullptr; + } + return &graphs_[static_cast(type)]; } ExecutorSubscribersScheduler &GetSubscribers(); const ExecutorSubscribersScheduler &GetSubscribers() const; diff --git a/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h b/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h index 0dcfbf69..8c819d58 100644 --- a/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h +++ b/inc/framework/runtime/subscriber/built_in_subscriber_definitions.h @@ -18,7 +18,12 @@ #define AIR_CXX_INC_FRAMEWORK_RUNTIME_SUBSCRIBER_BUILT_IN_SUBSCRIBER_DEFINITIONS_H_ #include #include +#include "graph/gnode.h" +#include "common/ge_types.h" #include "framework/common/ge_visibility.h" +namespace ge { +class GeRootModel; +} namespace gert { constexpr size_t kProfilingDataCap = 10UL * 1024UL * 1024UL; constexpr size_t kInitSize = 10UL * 1024UL; @@ -26,11 +31,12 @@ constexpr size_t kModelStrIdx = 0UL; constexpr size_t kExecuteStrIdx = 1UL; constexpr size_t kRegStartIdx = 2UL; constexpr size_t kDouble = 2UL; +constexpr size_t kInitSubscriberSize = 2UL; enum class BuiltInSubscriberType { kProfiling, kDumper, kNum }; enum class ProfilingType { - kHost, // 打开Host侧调度的profiling + kCannHost, // 打开Host侧调度的profiling kDevice, kGeHost, // 打开GE Host侧调度的profiling kNum, @@ -39,9 +45,16 @@ enum class ProfilingType { static_assert(static_cast(ProfilingType::kNum) < sizeof(uint64_t) * 8, "The max num of profiling type must less than the width of uint64"); -enum class DumpType { kDataDump, kExceptionDump, kExceptionSave, kNum, kAll = kNum }; +enum class DumpType { kDataDump, kExceptionDump, kNum, kAll = kNum }; static_assert(static_cast(DumpType::kNum) < sizeof(uint64_t) * 8, "The max num of dumper type must less than the width of uint64"); +class ModelV2Executor; +struct SubscriberExtendInfo { + ModelV2Executor *executor; + ge::ComputeGraphPtr exe_graph; + ge::ModelData model_data; + std::shared_ptr root_model; +}; class VISIBILITY_EXPORT BuiltInSubscriberUtil { public: diff --git a/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h b/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h index f697d578..cb6d13d3 100644 --- a/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h +++ b/inc/framework/runtime/subscriber/executor_subscribers_scheduler.h @@ -16,29 +16,29 @@ #ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_SUBSCRIBERS_SCHEDULER_H_ #define AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_SUBSCRIBERS_SCHEDULER_H_ -#include #include -#include "executor_subscriber_guarder.h" +#include #include "built_in_subscriber_definitions.h" -#include "global_profiling.h" +#include "executor_subscriber_guarder.h" #include "framework/common/ge_visibility.h" +#include "global_profiling.h" +#include "global_dumper.h" +#include "graph/any_value.h" namespace gert { -class ModelV2Executor; class VISIBILITY_EXPORT ExecutorSubscribersScheduler { public: static void OnExecuteEvent(ExecutorSubscribersScheduler *ins, ExecutorEvent event, const void *node, KernelStatus result); ExecutorSubscribersScheduler() - : executor_(nullptr), - enabled_(false), + : enabled_(false), built_in_subscribers_ptr_(), subscribers_(), subscriber_wrapper_({reinterpret_cast<::SubscriberFunc>(ExecutorSubscribersScheduler::OnExecuteEvent), this}) {} #ifdef ONLY_COMPILE_OPEN_SRC ~ExecutorSubscribersScheduler(); #endif - void Init(ModelV2Executor *executor); + void Init(const SubscriberExtendInfo &extend_info); ExecutorSubscribersScheduler(const ExecutorSubscribersScheduler &) = delete; ExecutorSubscribersScheduler &operator=(const ExecutorSubscribersScheduler &) = delete; ExecutorSubscriber &GetSubscriber() { @@ -49,13 +49,6 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { } } - ModelV2Executor *GetModelV2Executor() { - return executor_; - } - const ModelV2Executor *GetModelV2Executor() const { - return executor_; - } - /** * 设置订阅者,订阅者需要实现一个static方法,原型为: * ```c++ @@ -75,7 +68,6 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { if (ins == nullptr) { return nullptr; } - constexpr size_t kInitSubscriberSize = 1UL; // profiler exists when ess init if (subscribers_.size() == kInitSubscriberSize) { enabled_ = true; @@ -90,7 +82,7 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { * 为了易用性,在本类提供了获取内置subscriber的指针的接口。而自注册的subscriber将丢失此能力。 * @param subscriber_type */ - void AddBuiltIn(BuiltInSubscriberType subscriber_type, uint64_t enable_flag); + void AddBuiltIn(BuiltInSubscriberType subscriber_type, uint64_t enable_flag, const SubscriberExtendInfo &extend_info); void RemoveSubscriber(void *subscriber_ptr) { for (auto iter = subscribers_.begin(); iter != subscribers_.end(); ++iter) { if (iter->GetSubscriber().arg == subscriber_ptr) { @@ -103,7 +95,7 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { built_in_subscriber = nullptr; } } - if (subscribers_.empty()) { + if (subscribers_.size() == kInitSubscriberSize) { enabled_ = false; } } @@ -119,7 +111,8 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { } bool IsEnable() const { - return enabled_ || GlobalProfilingWrapper::GetInstance()->GetEnableFlags(); + return enabled_ || GlobalProfilingWrapper::GetInstance()->GetEnableFlags() || + GlobalDumper::GetInstance()->GetEnableFlags(); } void SetEnable(bool enable_flag) { enabled_ = enable_flag; @@ -136,7 +129,6 @@ class VISIBILITY_EXPORT ExecutorSubscribersScheduler { } private: - ModelV2Executor *executor_{nullptr}; bool enabled_{false}; std::array(BuiltInSubscriberType::kNum)> built_in_subscribers_ptr_; std::vector subscribers_; diff --git a/inc/framework/runtime/subscriber/global_dumper.h b/inc/framework/runtime/subscriber/global_dumper.h new file mode 100644 index 00000000..d17f0026 --- /dev/null +++ b/inc/framework/runtime/subscriber/global_dumper.h @@ -0,0 +1,71 @@ +/** + * Copyright (c) Huawei Technologies Co., Ltd. 2022. All rights reserved. + * + * Licensed 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. + */ +#ifndef AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_GLOBAL_DUMPER_H_ +#define AIR_CXX_INC_FRAMEWORK_RUNTIME_EXECUTOR_GLOBAL_DUMPER_H_ +#include +#include + +#include "built_in_subscriber_definitions.h" +#include "framework/common/ge_visibility.h" +#include "graph/compute_graph.h" +#include "runtime/base.h" + +namespace gert { +// for global info for exception_dump and global switch +class VISIBILITY_EXPORT GlobalDumper { + public: + static GlobalDumper *GetInstance() { + static GlobalDumper global_dumper; + return &global_dumper; + } + + static void OnGlobalDumperSwitch(void *ins, uint64_t enable_flags); + + void AddExceptionInfo(const rtExceptionInfo *exception_data) { + const std::lock_guard lk(exception_infos_mutex_); + exception_infos_.emplace_back(*exception_data); + } + + const std::vector &GetExceptionInfos() const { + return exception_infos_; + } + + void SetEnableFlags(const uint64_t enable_flags) { + enable_flags_ = enable_flags; + } + + uint64_t GetEnableFlags() const { + return enable_flags_; + }; + + bool IsEnable(DumpType dump_type) const { + return enable_flags_ & BuiltInSubscriberUtil::EnableBit(dump_type); + } + + private: + GlobalDumper(); + GlobalDumper(const GlobalDumper &) = delete; + GlobalDumper(GlobalDumper &&) = delete; + GlobalDumper &operator=(const GlobalDumper &) = delete; + GlobalDumper &operator==(GlobalDumper &&) = delete; + + private: + uint64_t enable_flags_{0UL}; + std::vector exception_infos_; + std::mutex exception_infos_mutex_; +}; +} // namespace gert +#endif diff --git a/inc/framework/runtime/subscriber/global_profiling.h b/inc/framework/runtime/subscriber/global_profiling.h index afdbcef1..d0f5b722 100644 --- a/inc/framework/runtime/subscriber/global_profiling.h +++ b/inc/framework/runtime/subscriber/global_profiling.h @@ -128,6 +128,8 @@ class VISIBILITY_EXPORT GlobalProfilingWrapper { } } + static uint64_t RegisterStringHash(const std::string &str); + private: GlobalProfilingWrapper(); diff --git a/metadef b/metadef index ed43bd5a..dd39e0ff 160000 --- a/metadef +++ b/metadef @@ -1 +1 @@ -Subproject commit ed43bd5a956c70e85e6f9d0a8f2277691a5ce4a2 +Subproject commit dd39e0ff029fc32d7cfff0147824e7c302d7796a diff --git a/third_party/fwkacllib/inc/ops/array_ops.h b/third_party/fwkacllib/inc/ops/array_ops.h index 9eaa779d..0e792b76 100644 --- a/third_party/fwkacllib/inc/ops/array_ops.h +++ b/third_party/fwkacllib/inc/ops/array_ops.h @@ -1587,7 +1587,7 @@ REG_OP(UniqueConsecutive) /** * @brief Decodes a variant Tensor into a RaggedTensor. \n * -* @par Input: +* @par Input: * @li encoded_ragged: A Tensor of type variant. A variant Tensor containing encoded RaggedTensors. \n * * @par Outputs: @@ -1596,9 +1596,9 @@ REG_OP(UniqueConsecutive) * double, float32, float16, int8, uint8, int16, uint16, int32, uint32, int64, uint64, bool. \n * * @par Attributes: -* @li input_ragged_rank: An int that is >= -1. The ragged rank of each encoded RaggedTensor component in the input. +* @li input_ragged_rank: An int that is >= -1. The ragged rank of each encoded RaggedTensor component in the input. * If set to -1, this is inferred as output_n - rank(encoded_ragged). -* @li output_ragged_rank: An int that is >= 0. The expected ragged rank of the output RaggedTensor. +* @li output_ragged_rank: An int that is >= 0. The expected ragged rank of the output RaggedTensor. * The following must hold: output_n = rank(encoded_ragged) + input_n. * @li Tvalues: The data type of output_dense_values. * @li Tsplits: The data type of output_nested_splits. An optional DType of "int32, int64". Defaults to `int64`. \n @@ -1616,6 +1616,36 @@ REG_OP(RaggedTensorFromVariant) .ATTR(Tsplits, Type, DT_INT64) .OP_END_FACTORY_REG(RaggedTensorFromVariant) +/** +* @brief Return the unique elements of the input tensor with counts and sorted elements. \n + +* @par Inputs: +* @li x: A tensor. Input "x" is a k-dimensional tensor. \n + +* @par Attributes: +* @li return_inverse: An optional DType from: "bool". Defaults to False. +* @li return_counts: An optional DType from: "bool". Defaults to False. +* @li sorted: An optional DType from "bool". Defaults to True. \n + +* @par Outputs: +* @li y: A Tensor. The output list of unique scalar elements. Has the same type as "x". +* @li indices: A tensor of type DT_INT32, DT_INT64. +* Representing the indices for where elements in the original input map to in the output. +* @li counts: A tensor of type DT_INT32, DT_INT64. + Representing the number of occurrences for each unique value or tensor. \n + +* @par Third-party framework compatibility +* Compatible with Pytorch operator _unique2. +*/ +REG_OP(UniqueWithCountsAndSorting) + .INPUT(x, TensorType::BasicType()) + .OUTPUT(y, TensorType::BasicType()) + .OUTPUT(indices, TensorType({DT_INT32, DT_INT64})) + .OUTPUT(counts, TensorType({DT_INT32, DT_INT64})) + .ATTR(return_inverse, Bool, false) + .ATTR(return_counts, Bool, false) + .ATTR(sorted, Bool, true) + .OP_END_FACTORY_REG(UniqueWithCountsAndSorting) } // namespace ge #endif // OPS_BUILT_IN_OP_PROTO_INC_ARRAY_OPS_H_ diff --git a/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h b/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h index 782c8796..0d626c75 100644 --- a/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h +++ b/third_party/fwkacllib/inc/ops/elewise_calculation_ops.h @@ -3671,8 +3671,8 @@ REG_OP(StrideAdd) * Compatible with the Pytorch equal operator. \n */ REG_OP(TensorEqual) - .INPUT(input_x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT64, DT_INT32, DT_INT8, DT_UINT8})) - .INPUT(input_y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT64, DT_INT32, DT_INT8, DT_UINT8})) + .INPUT(input_x, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT64, DT_INT32, DT_INT8, DT_UINT8, DT_BOOL})) + .INPUT(input_y, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE, DT_INT64, DT_INT32, DT_INT8, DT_UINT8, DT_BOOL})) .OUTPUT(output_z, TensorType({DT_BOOL})) .OP_END_FACTORY_REG(TensorEqual) diff --git a/third_party/fwkacllib/inc/ops/experiment_ops.h b/third_party/fwkacllib/inc/ops/experiment_ops.h index 41b44c92..7f1e47ff 100644 --- a/third_party/fwkacllib/inc/ops/experiment_ops.h +++ b/third_party/fwkacllib/inc/ops/experiment_ops.h @@ -197,6 +197,27 @@ REG_OP(RotatedNMS) .REQUIRED_ATTR(iou_threshold, Float) .OP_END_FACTORY_REG(RotatedNMS) +/** +* @brief According to the indices, return the value. + +* @par Inputs: +* Four inputs, including: +* @li x: A ND Tensor. +* @li indexed_sizes: A 1D Tensor of int64 with shape (N). Sizes for each one of the indexed data. +* @li indexed_strides: A 1D Tensor of int64 with shape (N). Strides for each one of the indexed data. +* @li indices: Dynamic input. A ND Tensor of int64. return the value according to the indices. + +* @par Outputs: +* y: The indexed output tensor. Has the same type and format as input "x". +*/ +REG_OP(Index) + .INPUT(x, TensorType::BasicType()) + .INPUT(indexed_sizes, TensorType({DT_INT64})) + .INPUT(indexed_strides, TensorType({DT_INT64})) + .DYNAMIC_INPUT(indices, TensorType({DT_INT64})) + .OUTPUT(y, TensorType::BasicType()) + .OP_END_FACTORY_REG(Index) + /** * @brief Performs average pooling on the input. Used in the combination of conv + avgpoolupdate to replace avgpool * @par Inputs: diff --git a/third_party/fwkacllib/inc/ops/image_ops.h b/third_party/fwkacllib/inc/ops/image_ops.h index 6e8111a0..c4493682 100644 --- a/third_party/fwkacllib/inc/ops/image_ops.h +++ b/third_party/fwkacllib/inc/ops/image_ops.h @@ -1754,6 +1754,55 @@ REG_OP(Resize) .ATTR(nearest_mode, String, "round_prefer_floor") .OP_END_FACTORY_REG(Resize) +/** +*@brief Calculate the resize_grad function. +support resize_grad image tensor using nearest(1d) and linear(1d) and bicubic(2d) interpolation. \n + +* @par Inputs: +* Input grads must be a 4-D tensor. Inputs include: +* @li grads: A Tensor. Must be one of the following types: uint8, int8, int16, +int32, int64, float16, float, double. 4-D with shape [batch, height, width, channels] +or shape [batch, channels, height, width]. +* @li roi: A 1-D float Tensor. only takes effect when attr coordinate_transformation_mode +is "tf_crop_and_resize" +* @li scales: A 1-D float Tensor, the scale array along each dimension. +* @li original_size: A 1-D int64 Tensor, The size of the output tensor. \n + +* @par Attributes: +* @li coordinate_transformation_mode: String. Defaults to half_pixel. how to transform +the coordinate in the resized tensor to the coordinate in the original tensor. +other optional: pytorch_half_pixel, align_corners, asymmetric, tf_half_pixel_for_nn, +tf_crop_and_resize. +* @li cubic_coeff_a: Float. Defaults to -0.75, only used in cubic interpolation. +other optional: -0.5 +* @li exclude_outside: Int. Defaults to 0, If set to 1, the weight of sampling +locations outside the tensor will be set to 0 and the weight will be renormalized +so that their sum is 1.0. +* @li extrapolation_value: Float. Defaults to 0.0f. When coordinate_transformation_mode +is "tf_crop_and_resize" and x_original is outside the range [0, length_original - 1], +this value is used as the corresponding output value. +* @li mode: String. Defaults to nearest. Three interpolation modes: nearest (default), +linear and cubic. +* @li nearest_mode: String. Defaults to round_prefer_floor. Four modes: round_prefer_floor, +round_prefer_ceil, floor, ceil. Only used by nearest interpolation. \n + +*@par Outputs: +*@li y: A Tensor with the same type of grads's, shape depends on grads and sizes. \n +*/ +REG_OP(ResizeGrad) + .INPUT(grads, TensorType({OrdinaryType, DT_STRING})) + .OPTIONAL_INPUT(roi, TensorType({DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) + .OPTIONAL_INPUT(scales, TensorType({DT_FLOAT})) + .INPUT(original_size, TensorType({DT_INT64, DT_INT32})) + .OUTPUT(y, TensorType({OrdinaryType, DT_STRING})) + .ATTR(coordinate_transformation_mode, String, "half_pixel") + .ATTR(cubic_coeff_a, Float, -0.75) + .ATTR(exclude_outside, Int, 0) + .ATTR(extrapolation_value, Float, 0.0) + .ATTR(mode, String, "nearest") + .ATTR(nearest_mode, String, "round_prefer_floor") + .OP_END_FACTORY_REG(ResizeGrad) + /** *@brief Function parse image from string to int. \n diff --git a/third_party/fwkacllib/inc/ops/random_ops.h b/third_party/fwkacllib/inc/ops/random_ops.h index e976047d..e69b0946 100644 --- a/third_party/fwkacllib/inc/ops/random_ops.h +++ b/third_party/fwkacllib/inc/ops/random_ops.h @@ -887,5 +887,67 @@ REG_OP(Geometric) .ATTR(seed, Int, 0) .OP_END_FACTORY_REG(Geometric) +/** +* @brief Returns a tensor where each row contains numsamples indices sampled from the multinomial distribution. \n + +* @par Inputs: +* x: A Tensor. Must be one of the following types: float16, float, double. +* @li seed:If seed is set to be -1, and offset is set to be 0, the random number +* generator is seeded by a random seed. Otherwise, it is seeded by the given seed. +* @li offset:To avoid seed collision . \n + +* @par Attributes: +* @li numsamples: An Required int, number of samples to draw. +* @li replacement: An optional bool, whether to draw with replacement or not. Defaults to false. \n + +* @par Outputs: +* y: A Tensor, with type int64 . \n + +* @par Third-party framework compatibility +* @ Compatible with the Pytorch operator multinomial. +*/ +REG_OP(MultinomialWithReplacement) + .INPUT(x, TensorType({ DT_FLOAT16,DT_FLOAT,DT_DOUBLE })) + .INPUT(seed, TensorType({ DT_INT64 })) + .INPUT(offset, TensorType({ DT_INT64 })) + .OUTPUT(y, TensorType({ DT_INT64 })) + .REQUIRED_ATTR(numsamples, Int) + .ATTR(replacement, Bool, false) + .OP_END_FACTORY_REG(MultinomialWithReplacement) + +/** +* @brief Returns the random permutation of integers from 0 to n-1. \n + +* @par Inputs: +* Inputs include: +* @li n: A input scalar with type of int64. +* @li seed:If seed is set to be -1, and offset is set to be 0, the random number +* generator is seeded by a random seed. Otherwise, it is seeded by the given seed. +* @li offset:To avoid seed collision. \n + +* @par Attributes: +* @li layout: An optional int. Defaults to 0. +* @li dtype: An optional Type. Defaults to int64. \n + +* @par Outputs: +* @li y: A required Tensor. Must be one of the following types: +* float16, float32, float64, int8, uint8, int16, int32, int64. \n + +* @attention Constraints: +* The implementation for Randperm on Ascend uses AICPU, with bad performance. + +* @par Third-party framework compatibility +* @li compatible with Pytorch Randperm operator. +*/ +REG_OP(StatelessRandperm) + .INPUT(n, TensorType({DT_INT64})) + .INPUT(seed, TensorType({DT_INT64})) + .INPUT(offset, TensorType({DT_INT64})) + .OUTPUT(y, TensorType({DT_INT64, DT_INT32, DT_INT16, + DT_UINT8, DT_INT8, DT_FLOAT16, DT_FLOAT, DT_DOUBLE})) + .ATTR(layout, Int, 0) + .ATTR(dtype, Type, DT_INT64) + .OP_END_FACTORY_REG(StatelessRandperm) + } // namespace ge #endif // OPS_BUILT_IN_OP_PROTO_INC_RANDOM_OPS_H_ diff --git a/third_party/fwkacllib/inc/ops/selection_ops.h b/third_party/fwkacllib/inc/ops/selection_ops.h index d6791af1..fd5b53d7 100644 --- a/third_party/fwkacllib/inc/ops/selection_ops.h +++ b/third_party/fwkacllib/inc/ops/selection_ops.h @@ -2365,17 +2365,22 @@ REG_OP(SliceLastDim) * * @par Attributes: * @li begin_mask: A Tensor of type int32. -* A bitmask where a bit "i" being "1" means to ignore the begin +* Developers can ignore this attribute. +* A bitmask where a bit "i" being "1" means to ignore the begin * value and instead use the largest interval possible. -* @li end_mask: A Tensor of type int32. +* @li end_mask: A Tensor of type int32. +* Developers can ignore this attribute. * Analogous to "begin_mask". -* @li ellipsis_mask: A Tensor of type int32. +* @li ellipsis_mask: A Tensor of type int32. +* Developers can ignore this attribute. * A bitmask where bit "i" being "1" means the "i"th position * is actually an ellipsis. * @li new_axis_mask: A Tensor of type int32. -* A bitmask where bit "i" being "1" means the "i"th +* Developers can ignore this attribute. +* A bitmask where bit "i" being "1" means the "i"th * specification creates a new shape 1 dimension. -* @li shrink_axis_mask: A Tensor of type int32. +* @li shrink_axis_mask: A Tensor of type int32. +* Developers can ignore this attribute. * A bitmask where bit "i" implies that the "i"th * specification should shrink the dimensionality. \n * @@ -2385,7 +2390,7 @@ REG_OP(SliceLastDim) * @attention Constraints: * * @par Third-party framework compatibility -* Compatible with the TensorFlow operator StridedSliceV2. +* Compatible with the onnx operator Slice. */ REG_OP(StridedSliceV2) .INPUT(x, TensorType::BasicType()) diff --git a/third_party/fwkacllib/inc/toolchain/prof_acl_api.h b/third_party/fwkacllib/inc/toolchain/prof_acl_api.h index 58e68e26..34319f8b 100644 --- a/third_party/fwkacllib/inc/toolchain/prof_acl_api.h +++ b/third_party/fwkacllib/inc/toolchain/prof_acl_api.h @@ -1,8 +1,12 @@ -/* - * Copyright (c) Huawei Technologies Co., Ltd. 2019-2021. All rights reserved. - * Description: handle perf data - * Author: xp - * Create: 2019-10-13 +/** + * @file prof_acl_api.h + * + * Copyright (c) Huawei Technologies Co., Ltd. 2019-2022. All rights reserved. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * */ #ifndef MSPROFILER_API_PROF_ACL_API_H_ @@ -12,73 +16,73 @@ #include // DataTypeConfig -#define PROF_ACL_API 0x00000001ULL -#define PROF_TASK_TIME 0x00000002ULL -#define PROF_AICORE_METRICS 0x00000004ULL -#define PROF_AICPU_TRACE 0x00000008ULL -#define PROF_L2CACHE 0x00000010ULL -#define PROF_HCCL_TRACE 0x00000020ULL -#define PROF_TRAINING_TRACE 0x00000040ULL -#define PROF_MSPROFTX 0x00000080ULL -#define PROF_RUNTIME_API 0x00000100ULL -#define PROF_TASK_FRAMEWORK 0x00000200ULL -#define PROF_TASK_TSFW 0x00000400ULL +constexpr uint64_t PROF_ACL_API = 0x00000001ULL; +constexpr uint64_t PROF_TASK_TIME = 0x00000002ULL; +constexpr uint64_t PROF_AICORE_METRICS = 0x00000004ULL; +constexpr uint64_t PROF_AICPU_TRACE = 0x00000008ULL; +constexpr uint64_t PROF_L2CACHE = 0x00000010ULL; +constexpr uint64_t PROF_HCCL_TRACE = 0x00000020ULL; +constexpr uint64_t PROF_TRAINING_TRACE = 0x00000040ULL; +constexpr uint64_t PROF_MSPROFTX = 0x00000080ULL; +constexpr uint64_t PROF_RUNTIME_API = 0x00000100ULL; +constexpr uint64_t PROF_TASK_FRAMEWORK = 0x00000200ULL; +constexpr uint64_t PROF_TASK_TSFW = 0x00000400ULL; // system profilinig switch -#define PROF_CPU 0x00010000ULL -#define PROF_HARDWARE_MEMORY 0x00020000ULL -#define PROF_IO 0x00040000ULL -#define PROF_INTER_CONNECTION 0x00080000ULL -#define PROF_DVPP 0x00100000ULL -#define PROF_SYS_AICORE_SAMPLE 0x00200000ULL -#define PROF_AIVECTORCORE_SAMPLE 0x00400000ULL - -#define PROF_MODEL_EXECUTE 0x0000001000000ULL -#define PROF_RUNTIME_TRACE 0x0000004000000ULL -#define PROF_SCHEDULE_TIMELINE 0x0000008000000ULL -#define PROF_SCHEDULE_TRACE 0x0000010000000ULL -#define PROF_AIVECTORCORE_METRICS 0x0000020000000ULL -#define PROF_SUBTASK_TIME 0x0000040000000ULL -#define PROF_OP_DETAIL 0x0000080000000ULL +constexpr uint64_t PROF_CPU = 0x00010000ULL; +constexpr uint64_t PROF_HARDWARE_MEMORY = 0x00020000ULL; +constexpr uint64_t PROF_IO = 0x00040000ULL; +constexpr uint64_t PROF_INTER_CONNECTION = 0x00080000ULL; +constexpr uint64_t PROF_DVPP = 0x00100000ULL; +constexpr uint64_t PROF_SYS_AICORE_SAMPLE = 0x00200000ULL; +constexpr uint64_t PROF_AIVECTORCORE_SAMPLE = 0x00400000ULL; + +constexpr uint64_t PROF_MODEL_EXECUTE = 0x0000001000000ULL; +constexpr uint64_t PROF_RUNTIME_TRACE = 0x0000004000000ULL; +constexpr uint64_t PROF_SCHEDULE_TIMELINE = 0x0000008000000ULL; +constexpr uint64_t PROF_SCHEDULE_TRACE = 0x0000010000000ULL; +constexpr uint64_t PROF_AIVECTORCORE_METRICS = 0x0000020000000ULL; +constexpr uint64_t PROF_SUBTASK_TIME = 0x0000040000000ULL; +constexpr uint64_t PROF_OP_DETAIL = 0x0000080000000ULL; constexpr uint64_t PROF_AICPU_MODEL = 0x4000000000000000ULL; -#define PROF_MODEL_LOAD 0x8000000000000000ULL +constexpr uint64_t PROF_MODEL_LOAD = 0x8000000000000000ULL; -#define PROF_TASK_TRACE (PROF_MODEL_EXECUTE | PROF_RUNTIME_TRACE | PROF_TRAINING_TRACE | \ - PROF_HCCL_TRACE | PROF_TASK_TIME) +constexpr uint64_t PROF_TASK_TRACE = (PROF_MODEL_EXECUTE | PROF_RUNTIME_TRACE | PROF_TRAINING_TRACE | + PROF_HCCL_TRACE | PROF_TASK_TIME); // DataTypeConfig MASK -#define PROF_ACL_API_MASK 0x00000001ULL -#define PROF_TASK_TIME_MASK 0x00000002ULL -#define PROF_AICORE_METRICS_MASK 0x00000004ULL -#define PROF_AICPU_TRACE_MASK 0x00000008ULL -#define PROF_L2CACHE_MASK 0x00000010ULL -#define PROF_HCCL_TRACE_MASK 0x00000020ULL -#define PROF_TRAINING_TRACE_MASK 0x00000040ULL -#define PROF_MSPROFTX_MASK 0x00000080ULL -#define PROF_RUNTIME_API_MASK 0x00000100ULL -#define PROF_TASK_FRAMEWORK_MASK 0x00000200ULL -#define PROF_TASK_TSFW_MASK 0x00000400ULL +constexpr uint64_t PROF_ACL_API_MASK = 0x00000001ULL; +constexpr uint64_t PROF_TASK_TIME_MASK = 0x00000002ULL; +constexpr uint64_t PROF_AICORE_METRICS_MASK = 0x00000004ULL; +constexpr uint64_t PROF_AICPU_TRACE_MASK = 0x00000008ULL; +constexpr uint64_t PROF_L2CACHE_MASK = 0x00000010ULL; +constexpr uint64_t PROF_HCCL_TRACE_MASK = 0x00000020ULL; +constexpr uint64_t PROF_TRAINING_TRACE_MASK = 0x00000040ULL; +constexpr uint64_t PROF_MSPROFTX_MASK = 0x00000080ULL; +constexpr uint64_t PROF_RUNTIME_API_MASK = 0x00000100ULL; +constexpr uint64_t PROF_TASK_FRAMEWORK_MASK = 0x00000200ULL; +constexpr uint64_t PROF_TASK_TSFW_MASK = 0x00000400ULL; // system profilinig mask -#define PROF_CPU_MASK 0x00010000ULL -#define PROF_HARDWARE_MEMORY_MASK 0x00020000ULL -#define PROF_IO_MASK 0x00040000ULL -#define PROF_INTER_CONNECTION_MASK 0x00080000ULL -#define PROF_DVPP_MASK 0x00100000ULL -#define PROF_SYS_AICORE_SAMPLE_MASK 0x00200000ULL -#define PROF_AIVECTORCORE_SAMPLE_MASK 0x00400000ULL - -#define PROF_MODEL_EXECUTE_MASK 0x0000001000000ULL -#define PROF_RUNTIME_TRACE_MASK 0x0000004000000ULL -#define PROF_SCHEDULE_TIMELINE_MASK 0x0000008000000ULL -#define PROF_SCHEDULE_TRACE_MASK 0x0000010000000ULL -#define PROF_AIVECTORCORE_METRICS_MASK 0x0000020000000ULL -#define PROF_SUBTASK_TIME_MASK 0x0000040000000ULL -#define PROF_OP_DETAIL_MASK 0x0000080000000ULL +constexpr uint64_t PROF_CPU_MASK = 0x00010000ULL; +constexpr uint64_t PROF_HARDWARE_MEMORY_MASK = 0x00020000ULL; +constexpr uint64_t PROF_IO_MASK = 0x00040000ULL; +constexpr uint64_t PROF_INTER_CONNECTION_MASK = 0x00080000ULL; +constexpr uint64_t PROF_DVPP_MASK = 0x00100000ULL; +constexpr uint64_t PROF_SYS_AICORE_SAMPLE_MASK = 0x00200000ULL; +constexpr uint64_t PROF_AIVECTORCORE_SAMPLE_MASK = 0x00400000ULL; + +constexpr uint64_t PROF_MODEL_EXECUTE_MASK = 0x0000001000000ULL; +constexpr uint64_t PROF_RUNTIME_TRACE_MASK = 0x0000004000000ULL; +constexpr uint64_t PROF_SCHEDULE_TIMELINE_MASK = 0x0000008000000ULL; +constexpr uint64_t PROF_SCHEDULE_TRACE_MASK = 0x0000010000000ULL; +constexpr uint64_t PROF_AIVECTORCORE_METRICS_MASK = 0x0000020000000ULL; +constexpr uint64_t PROF_SUBTASK_TIME_MASK = 0x0000040000000ULL; +constexpr uint64_t PROF_OP_DETAIL_MASK = 0x0000080000000ULL; constexpr uint64_t PROF_AICPU_MODEL_MASK = 0x4000000000000000ULL; -#define PROF_MODEL_LOAD_MASK 0x8000000000000000ULL +constexpr uint64_t PROF_MODEL_LOAD_MASK = 0x8000000000000000ULL; #if (defined(_WIN32) || defined(_WIN64) || defined(_MSC_VER)) #define MSVP_PROF_API __declspec(dllexport) @@ -108,22 +112,21 @@ MSVP_PROF_API uint64_t ProfGetOpExecutionTime(const void *data, uint32_t len, ui using Status = int32_t; typedef struct aclprofSubscribeConfig aclprofSubscribeConfig1; -/// -/// @ingroup AscendCL -/// @brief subscribe profiling data of graph -/// @param [in] graphId: the graph id subscribed -/// @param [in] profSubscribeConfig: pointer to config of model subscribe -/// @return Status result of function -/// +/** + * @ingroup AscendCL + * @brief subscribe profiling data of graph + * @param [in] graphId: the graph id subscribed + * @param [in] profSubscribeConfig: pointer to config of model subscribe + * @return Status result of function + */ MSVP_PROF_API Status aclgrphProfGraphSubscribe(const uint32_t graphId, const aclprofSubscribeConfig1 *profSubscribeConfig); - -/// -/// @ingroup AscendCL -/// @brief unsubscribe profiling data of graph -/// @param [in] graphId: the graph id subscribed -/// @return Status result of function -/// +/** + * @ingroup AscendCL + * @brief unsubscribe profiling data of graph + * @param [in] graphId: the graph id subscribed + * @return Status result of function + */ MSVP_PROF_API Status aclgrphProfGraphUnSubscribe(const uint32_t graphId); /**