|
|
|
@ -88,6 +88,9 @@ class Profiler:
|
|
|
|
|
logger.warning("The target dir already exists. "
|
|
|
|
|
"There may be some old profiling data, and they will be rewrote in the end.")
|
|
|
|
|
|
|
|
|
|
os.environ['PROFILING_MODE'] = 'true'
|
|
|
|
|
os.environ['MINDDATA_PROFILING_DIR'] = self._output_path
|
|
|
|
|
|
|
|
|
|
if self._device_target and self._device_target == "GPU":
|
|
|
|
|
from mindspore._c_expression import GPUProfiler
|
|
|
|
|
self._gpu_profiler = GPUProfiler.get_instance()
|
|
|
|
@ -95,6 +98,7 @@ class Profiler:
|
|
|
|
|
self._gpu_profiler.step_profiling_enable(True)
|
|
|
|
|
init()
|
|
|
|
|
self._dev_id = get_rank()
|
|
|
|
|
os.environ['DEVICE_ID'] = str(self._dev_id)
|
|
|
|
|
|
|
|
|
|
if kwargs:
|
|
|
|
|
logger.warning("Params not be supported yet on GPU.")
|
|
|
|
@ -106,8 +110,6 @@ class Profiler:
|
|
|
|
|
if kwargs:
|
|
|
|
|
logger.warning("There are invalid params which don't work.")
|
|
|
|
|
|
|
|
|
|
os.environ['PROFILING_MODE'] = 'true'
|
|
|
|
|
os.environ['MINDDATA_PROFILING_DIR'] = self._output_path
|
|
|
|
|
os.environ['DEVICE_ID'] = self._dev_id
|
|
|
|
|
os.environ['AICPU_PROFILING_MODE'] = 'true'
|
|
|
|
|
|
|
|
|
@ -144,6 +146,16 @@ class Profiler:
|
|
|
|
|
if self._device_target and self._device_target == "GPU":
|
|
|
|
|
self._gpu_profiler.stop()
|
|
|
|
|
self._generate_timeline()
|
|
|
|
|
|
|
|
|
|
# parse minddata pipeline operator and queue for GPU
|
|
|
|
|
try:
|
|
|
|
|
pipeline_parser = MinddataPipelineParser(self._output_path, self._dev_id, self._output_path)
|
|
|
|
|
pipeline_parser.parse()
|
|
|
|
|
except ProfilerException as err:
|
|
|
|
|
logger.warning(err.message)
|
|
|
|
|
|
|
|
|
|
os.environ['PROFILING_MODE'] = str("false")
|
|
|
|
|
|
|
|
|
|
elif self._device_target and self._device_target == "Ascend":
|
|
|
|
|
release()
|
|
|
|
|
|
|
|
|
|