Skip to content

Commit 69a15a6

Browse files
author
Thomas Baumann
committed
Added min time plots
1 parent d826086 commit 69a15a6

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

pySDC/projects/GPU/analysis_scripts/parallel_scaling.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ def plot_scaling_test(self, ax, quantity='time', **plotting_params): # pragma:
134134
timing_step = get_sorted(stats, type='timing_step')
135135

136136
t_mean = np.mean([me[1] for me in timing_step])
137+
t_min = np.min([me[1] for me in timing_step][1:])
137138

138139
if quantity == 'throughput':
139140
timings[np.prod(procs) / self.tasks_per_node] = experiment.res**self.ndim / t_mean
@@ -147,6 +148,8 @@ def plot_scaling_test(self, ax, quantity='time', **plotting_params): # pragma:
147148
timings[np.prod(procs) / self.tasks_per_node] = t_mean
148149
elif quantity == 'time_per_task':
149150
timings[np.prod(procs)] = t_mean
151+
elif quantity == 'min_time_per_task':
152+
timings[np.prod(procs)] = t_min
150153
else:
151154
raise NotImplementedError
152155
except (FileNotFoundError, ValueError):
@@ -167,6 +170,7 @@ def plot_scaling_test(self, ax, quantity='time', **plotting_params): # pragma:
167170
'throughput_per_task': 'throughput / DoF/s',
168171
'time': r'$t_\mathrm{step}$ / s',
169172
'time_per_task': r'$t_\mathrm{step}$ / s',
173+
'min_time_per_task': r'minimal $t_\mathrm{step}$ / s',
170174
'efficiency': 'efficiency / DoF/s/task',
171175
}
172176
ax.set_ylabel(labels[quantity])
@@ -358,6 +362,7 @@ def plot_scalings(problem, **kwargs): # pragma: no cover
358362
('RBC', 'throughput'): {'x': [1 / 10, 64], 'y': [2e4, 2e4 * 640]},
359363
('RBC', 'time'): {'x': [1 / 10, 64], 'y': [60, 60 / 640]},
360364
('RBC', 'time_per_task'): {'x': [1, 640], 'y': [60, 60 / 640]},
365+
('RBC', 'min_time_per_task'): {'x': [1, 640], 'y': [60, 60 / 640]},
361366
('RBC', 'throughput_per_task'): {'x': [1 / 1, 640], 'y': [2e4, 2e4 * 640]},
362367
}
363368

@@ -373,7 +378,7 @@ def plot_scalings(problem, **kwargs): # pragma: no cover
373378
fig.savefig(path, bbox_inches='tight')
374379
print(f'Saved {path!r}', flush=True)
375380

376-
for quantity in ['time', 'throughput', 'time_per_task', 'throughput_per_task'][::-1]:
381+
for quantity in ['time', 'throughput', 'time_per_task', 'throughput_per_task', 'min_time_per_task'][::-1]:
377382
fig, ax = plt.subplots(figsize=figsize_by_journal('TUHH_thesis', 1, 0.6))
378383
for config in configs:
379384
config.plot_scaling_test(ax=ax, quantity=quantity)

0 commit comments

Comments
 (0)