Browse Source

gpu_timeline(python code)

update mindspore/profiler/parser/integrator.py.

update mindspore/profiler/profiling.py.
tags/v1.1.0
gzhcv 5 years ago
parent
commit
81132207b8
1 changed files with 7 additions and 13 deletions
  1. +7
    -13
      mindspore/profiler/profiling.py

+ 7
- 13
mindspore/profiler/profiling.py View File

@@ -18,7 +18,7 @@ import time
from enum import Enum from enum import Enum


from mindspore import log as logger, context from mindspore import log as logger, context
from mindspore.communication.management import release
from mindspore.communication.management import release, init, get_rank
from mindspore.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \ from mindspore.profiler.common.exceptions.exceptions import ProfilerFileNotFoundException, \
ProfilerIOException, ProfilerException ProfilerIOException, ProfilerException
from mindspore.profiler.common.util import get_file_names, fwrite_format from mindspore.profiler.common.util import get_file_names, fwrite_format
@@ -93,6 +93,8 @@ class Profiler:
self._gpu_profiler = GPUProfiler.get_instance() self._gpu_profiler = GPUProfiler.get_instance()
self._gpu_profiler.init(self._output_path) self._gpu_profiler.init(self._output_path)
self._gpu_profiler.step_profiling_enable(True) self._gpu_profiler.step_profiling_enable(True)
init()
self._dev_id = get_rank()


if kwargs: if kwargs:
logger.warning("Params not be supported yet on GPU.") logger.warning("Params not be supported yet on GPU.")
@@ -291,18 +293,10 @@ class Profiler:
"""Used for gpu, generate timeline info, write to json format file.""" """Used for gpu, generate timeline info, write to json format file."""
try: try:
size_limit = 100 * 1024 * 1024 # 100MB size_limit = 100 * 1024 * 1024 # 100MB
#stastic the number of dev_id
file_list = os.listdir(self._output_path)
dev_id_list = []
for file_name in file_list:
if file_name.startswith('gpu_op_detail'):
_dev_id = file_name.split('.')[0].split('_')[-1]
dev_id_list.append(_dev_id)
for dev_id in dev_id_list:
timeline_generator = GpuTimelineGenerator(self._output_path, dev_id)
timeline_generator.init_timeline()
timeline_generator.write_timeline(size_limit)
timeline_generator.write_timeline_summary()
timeline_generator = GpuTimelineGenerator(self._output_path, self._dev_id)
timeline_generator.init_timeline()
timeline_generator.write_timeline(size_limit)
timeline_generator.write_timeline_summary()
except (ProfilerIOException, ProfilerFileNotFoundException, RuntimeError) as err: except (ProfilerIOException, ProfilerFileNotFoundException, RuntimeError) as err:
logger.warning('Fail to write timeline data: %s', err) logger.warning('Fail to write timeline data: %s', err)
raise RuntimeError('Fail to write timeline data.') raise RuntimeError('Fail to write timeline data.')


Loading…
Cancel
Save