From 8da009893a99019d113c29f83d85cfe755282ef6 Mon Sep 17 00:00:00 2001 From: liubuyu Date: Mon, 22 Mar 2021 09:48:48 +0800 Subject: [PATCH] fix compile info --- .../_extends/parallel_compile/tbe_compiler/compiler.py | 2 +- .../parallel_compile/tbe_compiler/tbe_process.py | 4 +++- .../_extends/parallel_compile/tbe_compiler/tuner.py | 9 +++++---- .../kernel_compiler/tbe/tbe_kernel_parallel_build.cc | 1 - .../kernel_compiler/tbe/tbe_kernel_parallel_build.h | 2 +- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mindspore/_extends/parallel_compile/tbe_compiler/compiler.py b/mindspore/_extends/parallel_compile/tbe_compiler/compiler.py index 4e818c9214..f6e7c0f1d9 100755 --- a/mindspore/_extends/parallel_compile/tbe_compiler/compiler.py +++ b/mindspore/_extends/parallel_compile/tbe_compiler/compiler.py @@ -128,7 +128,7 @@ def build_op(build_type, json_str, tune_mode=None): else: res = op_func(*inputs_args, *outputs_args, *attrs_args, kernel_name=kernel_name) if tune_mode is not None: - return res, (inputs_args, outputs_args, attrs_args), op_module_name + return None, (inputs_args, outputs_args, attrs_args), op_module_name return res except Exception as e: diff --git a/mindspore/_extends/parallel_compile/tbe_compiler/tbe_process.py b/mindspore/_extends/parallel_compile/tbe_compiler/tbe_process.py index 43bb932a06..4408196259 100644 --- a/mindspore/_extends/parallel_compile/tbe_compiler/tbe_process.py +++ b/mindspore/_extends/parallel_compile/tbe_compiler/tbe_process.py @@ -331,6 +331,8 @@ class TbeProcess: if tune_mode == RL_TUNE: ret, job_type, compile_info = self.__tuner.rl_tune(task_id, op_json) + if isinstance(compile_info, dict): + compile_info = json.dumps(compile_info) if job_type is RL_OFFLINE or job_type is RL_ONLINE: if not ret: # offline and online hit will return false @@ -388,7 +390,7 @@ class TbeProcess: for item in ret: task_id = item['task_id'] status_code = item['status_code'] - compile_info = item["op_res"] if "op_res" in item else "{}" + compile_info = json.dumps(item["op_res"] if "op_res" in item else None) res = None if status_code == 0: res = task_id, "Success", compile_info diff --git a/mindspore/_extends/parallel_compile/tbe_compiler/tuner.py b/mindspore/_extends/parallel_compile/tbe_compiler/tuner.py index fcae6ee440..63b159941e 100644 --- a/mindspore/_extends/parallel_compile/tbe_compiler/tuner.py +++ b/mindspore/_extends/parallel_compile/tbe_compiler/tuner.py @@ -296,7 +296,7 @@ class TbeTuner: # todo build with build_single_op_from_c base_kernel = './kernel_meta/' + kernel_name + '.o' job_type = RL_COMPILE - compile_info = "{}" + compile_info = None try: compile_info, op_args, op_module_name = build_op(OP_BUILD, json.dumps(json_info), tune_mode) # pylint: disable=broad-except @@ -317,7 +317,7 @@ class TbeTuner: self.module_list[op_module_name] = 1 self.fusion_need_sync += 1 - return ret, job_type, json.dumps(compile_info) + return ret, job_type, compile_info def fusion_rl_tune(self, task_id, json_info): """ @@ -334,6 +334,7 @@ class TbeTuner: converted_json = fusion_to_fusion(json.dumps(json_info), tune_mode="RL") job_type = RL_COMPILE base_kernel = './kernel_meta/' + kernel_name + '.o' + compile_info = None try: fusion_op(converted_json) # pylint: disable=broad-except @@ -341,7 +342,7 @@ class TbeTuner: exc_type, exc_value, _ = sys.exc_info() log.error( "exc_type:{}, exc_value:{}, exc_traceback:{}".format(exc_type, exc_value, traceback.format_exc())) - return False, job_type + return False, job_type, compile_info if self.offline_tune: job_type = RL_OFFLINE dump_fusion_json(converted_json, self.offline_dump_path) @@ -351,7 +352,7 @@ class TbeTuner: l1size = 0 ret = dispatch_fusion_tune_task(graph_id, task_id, l1size, base_kernel, kernel_name, full_name, converted_json) - return ret, job_type + return ret, job_type, compile_info def fusion_ga_tune(self, task_id, json_info): """ diff --git a/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.cc b/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.cc index f5b96d3869..6c5d6616f2 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.cc +++ b/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.cc @@ -289,7 +289,6 @@ void ParallelBuildManager::ResetTaskInfo() { } task_map_.clear(); same_op_list_.clear(); - AscendKernelBuildClient::Instance().TbeReset(); } AnfNodePtr ParallelBuildManager::GetAnfNodeByTaskID(int32_t task_id) { diff --git a/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.h b/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.h index fdf60f8188..0b6200f4da 100644 --- a/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.h +++ b/mindspore/ccsrc/backend/kernel_compiler/tbe/tbe_kernel_parallel_build.h @@ -41,7 +41,7 @@ struct KernelBuildTaskInfo { class ParallelBuildManager { public: - ParallelBuildManager() = default; + ParallelBuildManager() { AscendKernelBuildClient::Instance().TbeReset(); } ~ParallelBuildManager(); void SaveTaskInfo(int32_t task_id, const AnfNodePtr &anf_node, const std::string &json_name, const std::vector &input_size_list, const std::vector &output_size_list,