Prepare dataframe format for Latex plots
This commit is contained in:
47
pim_plots.py
47
pim_plots.py
@@ -3,33 +3,46 @@ import seaborn as sns
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
df = pd.read_csv("pim_results.csv")
|
from pathlib import Path
|
||||||
|
|
||||||
workloads = df["workload"].unique()
|
df = pd.read_csv("pim_results.csv")
|
||||||
|
|
||||||
sns.set_theme()
|
sns.set_theme()
|
||||||
|
|
||||||
def calc_speedup(x):
|
def calc_speedup(x):
|
||||||
return x.iat[0] / x.iat[1]
|
return x.iat[0] / x.iat[1]
|
||||||
|
|
||||||
for workload in df["workload"].unique():
|
workload_sets = [["vadd", "vmul", "haxpy"], ["gemv", "gemv_layers"]]
|
||||||
workload_filter = df["workload"] == workload
|
|
||||||
|
|
||||||
filtered_df = df[workload_filter]
|
for workload_set in workload_sets:
|
||||||
preprocessed_df = filtered_df.groupby(["workload", "level", "frequency"], as_index=False).agg({"ticks": calc_speedup}).rename(columns={"ticks":"speedup"})
|
workload_filter = df["workload"].isin(workload_set)
|
||||||
|
|
||||||
# print(preprocessed_df)
|
for frequency in df["frequency"].unique():
|
||||||
# preprocessed_df.to_csv("plot.csv", index=False)
|
frequency_filter = df["frequency"] == frequency
|
||||||
|
|
||||||
g = sns.catplot(
|
filtered_df = df[workload_filter & frequency_filter]
|
||||||
data=preprocessed_df, kind="bar",
|
print(filtered_df)
|
||||||
x="level", y="speedup", hue="frequency",
|
preprocessed_df = filtered_df.groupby(["workload", "level", "frequency"], as_index=False).agg({"ticks": calc_speedup}).rename(columns={"ticks":"speedup"})
|
||||||
palette="dark", alpha=.6, height=6
|
|
||||||
)
|
|
||||||
|
|
||||||
g.despine(left=True)
|
print(preprocessed_df)
|
||||||
g.set_axis_labels("", "Speedup")
|
# preprocessed_df.to_csv("plot.csv", index=False)
|
||||||
g.set(title=workload)
|
|
||||||
g.legend.set_title("")
|
g = sns.catplot(
|
||||||
|
data=preprocessed_df, kind="bar",
|
||||||
|
x="level", y="speedup", hue="workload",
|
||||||
|
palette="dark", alpha=.6, height=6
|
||||||
|
)
|
||||||
|
|
||||||
|
g.despine(left=True)
|
||||||
|
g.set_axis_labels("", "Speedup")
|
||||||
|
g.set(title=frequency)
|
||||||
|
g.legend.set_title("")
|
||||||
|
|
||||||
|
for workload in workload_set:
|
||||||
|
export_df = preprocessed_df[preprocessed_df["workload"] == workload]
|
||||||
|
|
||||||
|
filename = f"{workload}_{frequency}.csv"
|
||||||
|
directory = Path("plots_out")
|
||||||
|
export_df.to_csv(directory / filename, index=False)
|
||||||
|
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ workloads = [
|
|||||||
"vmul",
|
"vmul",
|
||||||
"haxpy",
|
"haxpy",
|
||||||
"gemv",
|
"gemv",
|
||||||
# "gemv_layers",
|
"gemv_layers",
|
||||||
]
|
]
|
||||||
|
|
||||||
systems = [
|
systems = [
|
||||||
@@ -63,9 +63,6 @@ for frequency in ["3GHz", "100GHz"]:
|
|||||||
for level in ["X1", "X2", "X3", "X4"]:
|
for level in ["X1", "X2", "X3", "X4"]:
|
||||||
for system in systems:
|
for system in systems:
|
||||||
for workload in workloads:
|
for workload in workloads:
|
||||||
if workload == "gemv_layers" and level != "X4":
|
|
||||||
continue
|
|
||||||
|
|
||||||
executable = workload
|
executable = workload
|
||||||
|
|
||||||
if system == "HBM":
|
if system == "HBM":
|
||||||
|
|||||||
Reference in New Issue
Block a user