Files
gem5/pim_plots.py
2025-03-21 18:17:12 +01:00

36 lines
900 B
Python

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
df = pd.read_csv("pim_results.csv")
workloads = df["workload"].unique()
sns.set_theme()
def calc_speedup(x):
return x.iat[0] / x.iat[1]
for workload in df["workload"].unique():
workload_filter = df["workload"] == workload
filtered_df = df[workload_filter]
preprocessed_df = filtered_df.groupby(["workload", "level", "frequency"], as_index=False).agg({"ticks": calc_speedup}).rename(columns={"ticks":"speedup"})
# print(preprocessed_df)
# preprocessed_df.to_csv("plot.csv", index=False)
g = sns.catplot(
data=preprocessed_df, kind="bar",
x="level", y="speedup", hue="frequency",
palette="dark", alpha=.6, height=6
)
g.despine(left=True)
g.set_axis_labels("", "Speedup")
g.set(title=workload)
g.legend.set_title("")
plt.show()