"googlemock/vscode:/vscode.git/clone" did not exist on "a4b63e7efbb276bb0a3caafa91b5c2c6a9104988"
Unverified Commit 8c527308 authored by Yifan Xiong's avatar Yifan Xiong Committed by GitHub
Browse files

Executor - Fix issues when executing benchmarks (#51)

* fix missing package in dockerfile
* update benchmark list and parameters
* catch runtime errors
* refine logging info
parent 48580026
...@@ -21,6 +21,7 @@ RUN apt-get update && \ ...@@ -21,6 +21,7 @@ RUN apt-get update && \
openssh-client \ openssh-client \
openssh-server \ openssh-server \
pciutils \ pciutils \
libpci-dev \
libaio-dev \ libaio-dev \
libcap2 \ libcap2 \
libtinfo5 libtinfo5
......
...@@ -8,12 +8,6 @@ superbench: ...@@ -8,12 +8,6 @@ superbench:
- pytorch - pytorch
parameters: parameters:
num_steps: 2048 num_steps: 2048
sharding_matmul:
enable: true
frameworks:
- pytorch
parameters:
num_steps: 2048
bert_models: bert_models:
enable: true enable: true
frameworks: frameworks:
...@@ -25,7 +19,7 @@ superbench: ...@@ -25,7 +19,7 @@ superbench:
duration: 0 duration: 0
num_warmup: 64 num_warmup: 64
num_steps: 2048 num_steps: 2048
batch_size: 32 batch_size: 16
precision: precision:
- float32 - float32
- float16 - float16
......
...@@ -97,17 +97,21 @@ def __exec_benchmark(self, context, log_suffix): ...@@ -97,17 +97,21 @@ def __exec_benchmark(self, context, log_suffix):
context (BenchmarkContext): Benchmark context to launch. context (BenchmarkContext): Benchmark context to launch.
log_suffix (str): Log string suffix. log_suffix (str): Log string suffix.
""" """
benchmark = BenchmarkRegistry.launch_benchmark(context) try:
if benchmark: benchmark = BenchmarkRegistry.launch_benchmark(context)
logger.debug( if benchmark:
'benchmark: %s, return code: %s, result: %s.', benchmark.name, benchmark.return_code, benchmark.result logger.info(
) 'benchmark: %s, return code: %s, result: %s.', benchmark.name, benchmark.return_code,
if benchmark.return_code == 0: benchmark.result
logger.info('Executor succeeded in %s.', log_suffix) )
if benchmark.return_code.value == 0:
logger.info('Executor succeeded in %s.', log_suffix)
else:
logger.error('Executor failed in %s.', log_suffix)
else: else:
logger.error('Executor failed in %s.', log_suffix) logger.error('Executor failed in %s, invalid context.', log_suffix)
else: except Exception:
logger.error('Executor failed in %s, invalid context.', log_suffix) logger.error('Executor failed in %s.', log_suffix)
def exec(self): def exec(self):
"""Run the SuperBench benchmarks locally.""" """Run the SuperBench benchmarks locally."""
...@@ -128,7 +132,7 @@ def exec(self): ...@@ -128,7 +132,7 @@ def exec(self):
) )
self.__exec_benchmark(context, log_suffix) self.__exec_benchmark(context, log_suffix)
else: else:
log_suffix = 'micro-benchmark {}: {}'.format(benchmark_name, framework) log_suffix = 'micro-benchmark {}'.format(benchmark_name)
logger.info('Executor is going to execute %s.', log_suffix) logger.info('Executor is going to execute %s.', log_suffix)
context = BenchmarkRegistry.create_benchmark_context( context = BenchmarkRegistry.create_benchmark_context(
benchmark_name, benchmark_name,
......
...@@ -65,14 +65,8 @@ def test_get_arguments(self): ...@@ -65,14 +65,8 @@ def test_get_arguments(self):
self.default_config.superbench.benchmarks.matmul.parameters self.default_config.superbench.benchmarks.matmul.parameters
), expected_matmul_args ), expected_matmul_args
) )
expected_sharding_matmul_args = '--num_steps 2048'
self.assertEqual(
self.executor._SuperBenchExecutor__get_arguments(
self.default_config.superbench.benchmarks.sharding_matmul.parameters
), expected_sharding_matmul_args
)
expected_bert_models_args = \ expected_bert_models_args = \
'--duration 0 --num_warmup 64 --num_steps 2048 --batch_size 32 ' \ '--duration 0 --num_warmup 64 --num_steps 2048 --batch_size 16 ' \
'--precision float32 float16 --model_action train inference' '--precision float32 float16 --model_action train inference'
self.assertEqual( self.assertEqual(
self.executor._SuperBenchExecutor__get_arguments( self.executor._SuperBenchExecutor__get_arguments(
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment