|
|
|
@@ -383,8 +383,6 @@ class _Executor: |
|
|
|
Str, the full phase of the cell. |
|
|
|
Bool, if the graph has been compiled before, return False, else return True. |
|
|
|
""" |
|
|
|
obj.check_names() |
|
|
|
_check_full_batch() |
|
|
|
args_names, args_list = _generate_pip_args(obj, *args) |
|
|
|
dic = dict(zip(args_names, args_list)) |
|
|
|
key = generate_key(phase, dic) |
|
|
|
@@ -393,22 +391,23 @@ class _Executor: |
|
|
|
phase = phase + '.' + self.phase_prefix + '.' + str(obj.create_time) |
|
|
|
else: |
|
|
|
phase = self.phase_prefix + phase + '.' + str(obj.create_time) |
|
|
|
enable_debug_runtime = context.get_context("enable_debug_runtime") |
|
|
|
enable_ge = context.get_context("enable_ge") |
|
|
|
|
|
|
|
use_vm = not enable_ge or (enable_debug_runtime and context.get_context("mode") == context.PYNATIVE_MODE) |
|
|
|
|
|
|
|
self._set_dataset_mode(args_list) |
|
|
|
|
|
|
|
if phase in self.compile_cache.keys(): |
|
|
|
logger.debug("%r graph has existed.", phase) |
|
|
|
return phase, False |
|
|
|
|
|
|
|
obj.check_names() |
|
|
|
_check_full_batch() |
|
|
|
self._set_dataset_mode(args_list) |
|
|
|
|
|
|
|
is_sink_mode = args and isinstance(args[0], Tensor) and args[0].virtual_flag |
|
|
|
if auto_parallel_mode and _need_to_full() and not is_sink_mode and obj.auto_parallel_compile_and_run(): |
|
|
|
args_full = _to_full_tensor(args, _get_device_num(), _get_global_rank()) |
|
|
|
_, args_list = _generate_pip_args(obj, *args_full) |
|
|
|
|
|
|
|
enable_debug_runtime = context.get_context("enable_debug_runtime") |
|
|
|
enable_ge = context.get_context("enable_ge") |
|
|
|
use_vm = not enable_ge or (enable_debug_runtime and context.get_context("mode") == context.PYNATIVE_MODE) |
|
|
|
result = self._executor.compile(obj, args_list, phase, use_vm) |
|
|
|
self.compile_cache[phase] = phase |
|
|
|
if not result: |
|
|
|
|