In [1]:
import matplotlib.pyplot as plt
import pandas as pd

In [2]:
df_seq = pd.read_csv('./results/10_threads/sequential.csv')
df_seq.plot.box(title='Sequential runtime', rot=30)
plt.show()
# plt.savefig('./results/10_threads/sequential.pdf')
# ------------------------------------------------------------------
# df_par = pd.read_csv('./results/10_threads/parallel.csv')
# df_par.plot.box(rot=30)
# plt.show()
# plt.savefig('./results/10_threads/parallel.pdf')
# df_gpu = pd.read_csv('./results/10_threads/gpu.csv')
# df_gpu.plot.box(rot=30)
# plt.show()
# plt.savefig('./results/10_threads/gpu.pdf')
# ------------------------------------------------------------------
# df_par = pd.read_csv('./results/20_threads/parallel.csv')
# df_par.plot.box(title='Parallel runtime', rot=30)
# # plt.show()
# plt.savefig('./results/20_threads/parallel.pdf')
# df_gpu = pd.read_csv('./results/20_threads/gpu.csv')
# df_gpu.plot.box(title='Gpu runtime', rot=30)
# # plt.show()
# plt.savefig('./results/20_threads/gpu.pdf')
# ------------------------------------------------------------------
df_par = pd.read_csv('./results/40_threads/parallel.csv')
df_par.plot.box(title='Parallel runtime', rot=30)
plt.show()
# plt.savefig('./results/40_threads/parallel.pdf')
df_gpu = pd.read_csv('./results/40_threads/gpu.csv')
df_gpu.plot.box(title='Gpu runtime', rot=30)
plt.show()
# plt.savefig('./results/40_threads/gpu.pdf')
# ------------------------------------------------------------------
par_mean = df_par.mean(axis=0)/1000
gpu_mean = df_gpu.mean(axis=0)/1000
seq_mean = df_seq.mean(axis=0)/1000

df_speedup = pd.DataFrame([[seq_mean[0]/par_mean[0], seq_mean[0]/gpu_mean[0]],
                           [seq_mean[1]/par_mean[1], seq_mean[1]/gpu_mean[1]],
                           [seq_mean[2]/par_mean[2], seq_mean[2]/gpu_mean[2]],
                           [seq_mean[3]/par_mean[3], seq_mean[3]/gpu_mean[3]],
                           [seq_mean[4]/par_mean[4], seq_mean[4]/gpu_mean[4]],
                           [seq_mean[5]/par_mean[5], seq_mean[5]/gpu_mean[5]],
                           [seq_mean[6]/par_mean[6], seq_mean[6]/gpu_mean[6]],
                           [seq_mean[7]/par_mean[7], seq_mean[7]/gpu_mean[7]]],
                           index=['superblue18', 'superblue5', 'superblue16', 'superblue1', 'superblue3', 'superblue4', 'superblue10', 'superblue7'],
                           columns=['Parallel', 'GPU'])
df_speedup.plot.bar(title='Speedup', color=['darkorange', 'g'], rot=30)
plt.show()
# plt.savefig('../speedup.pdf')
# ------------------------------------------------------------------
df_runtime = pd.DataFrame([[seq_mean[0], par_mean[0], gpu_mean[0]],
                           [seq_mean[1], par_mean[1], gpu_mean[1]],
                           [seq_mean[2], par_mean[2], gpu_mean[2]],
                           [seq_mean[3], par_mean[3], gpu_mean[3]],
                           [seq_mean[4], par_mean[4], gpu_mean[4]],
                           [seq_mean[5], par_mean[5], gpu_mean[5]],
                           [seq_mean[6], par_mean[6], gpu_mean[6]],
                           [seq_mean[7], par_mean[7], gpu_mean[7]]],
                           index=['superblue18', 'superblue5', 'superblue16', 'superblue1', 'superblue3', 'superblue4', 'superblue10', 'superblue7'],
                           columns=['Sequential', 'Parallel', 'GPU'])
ax = df_runtime.plot.bar(title='Runtime', logy=1, color=['steelblue', 'darkorange', 'g'], rot=30)
ax.set_ylabel('Runtime in seconds')
plt.show()
# plt.savefig('../runtime.pdf')



In [ ]: