Skip to content
Snippets Groups Projects
Commit abcc5d07 authored by David Hendriks's avatar David Hendriks
Browse files

updating scaling routine

parent 1e903efc
No related branches found
No related tags found
No related merge requests found
import matplotlib
import os
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import json
scaling_result_dir = 'scaling_results'
result_jsons = []
result_jsons.append(os.path.join(os.path.abspath(scaling_result_dir), 'david-Lenovo-IdeaPad-S340-14IWL_100_systems.json'))
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
for jsonfile in result_jsons:
print(jsonfile)
with open(jsonfile, 'r') as f:
result_data = json.loads(f.read())
# Get linear data
linear_data = result_data['linear']
linear_mean = np.mean(linear_data)
linear_stdev = np.std(linear_data)
cpus = []
mp_speedups = []
mp_efficiencies = []
stddevs = []
for amt_cpus in result_data['mp']:
# Get mp data
mp_data = result_data['mp'][amt_cpus]
mp_mean = np.mean(mp_data)
mp_stdev = np.std(mp_data)
# Calc and append info
amt_cpus = int(amt_cpus)
speedup = linear_mean/mp_mean
efficiency = speedup/int(amt_cpus)
cpus.append(amt_cpus)
mp_speedups.append(speedup)
mp_efficiencies.append(efficiency)
stddevs.append(mp_stdev)
# Plot
ax1.errorbar(
cpus,
mp_speedups,
stddevs,
linestyle="None",
marker="^",
label="Speed up & efficiency of {} systems".format(result_data['amt_systems']),
)
ax1.set_title(
"Speed up ratio vs amount of cores for different amounts of systems on {}".format(
'name_testcase'
)
)
ax1.set_xlabel("Amount of cores used")
ax1.set_ylabel("Speed up ratio (time_linear/time_parallel)")
ax1.set_xlim(0, max(cpus) + 4)
# ax1.set_ylim(0, max_speedup + 2)
ax2.set_ylim(0, 1)
ax1.grid()
ax1.legend(loc=4)
plt.show()
......@@ -31,7 +31,7 @@ for i in range(1, int(amount_of_cpus/stepsize) + 1 ):
amt_repeats = 5
resolution = {'M_1': 10, 'per': 10}
total_systems = np.prod([el for el in resolution.values()])
total_systems = int(np.prod([el for el in resolution.values()]))
result_dir = 'scaling_results'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment