Skip to content

Commit

Permalink
called unfragment on df once, simplified clock speed detection, corre…
Browse files Browse the repository at this point in the history
…ct line type for regression line
  • Loading branch information
jowens committed Apr 28, 2024
1 parent 2b8fd6a commit ac3f0fe
Show file tree
Hide file tree
Showing 24 changed files with 163 additions and 162 deletions.
17 changes: 9 additions & 8 deletions nvperf.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,12 +246,13 @@ def merge(df, dst, src, replaceNoWithNaN=False, delete=True):
df = merge(df, "TDP (Watts)", "TDP (W)")
df = merge(df, "TDP (Watts)", "Combined TDP Max. (W)")
df = merge(df, "TDP (Watts)", "TDP /idle (Watts)")
df = df.copy() # this unfragments the df, better performance
# get only the number out of {TBP,TDP}
for col in ["TBP", "TDP"]:
df[f"{col} (extracted)"] = pd.to_numeric(
df[col].str.extract(r"(\d+)", expand=False)
)
df = merge(df, "TDP (Watts)", f"{col} (extracted)", delete=False)
df = merge(df, "TDP (Watts)", f"{col} (extracted)")

df = merge(df, "Model", "Model (Architecture)") # could separate out uarch
df = merge(df, "Model", "Model (Codename)")
Expand Down Expand Up @@ -373,13 +374,11 @@ def merge(df, dst, src, replaceNoWithNaN=False, delete=True):
pd.to_numeric(dftds[1], errors="coerce")
)

# some AMD chips have core/boost in same entry, take first number
# df["Core clock (MHz)"] = df["Core clock (MHz)"].astype(str).str.split(" ").str[0]
df["Core clock (MHz)"] = df["Core clock (MHz)"].str.extract(r"(\d+)")
# Simple treatment of Core clock and bus width: just grab the first number
for col in ["Core clock (MHz)", "Memory Bus width (bit)"]:
df[col] = df[col].apply(lambda x: str(x))
df[col] = df[col].str.extract(r"(\d+)")

# Simple treatment of bus width: just grab the first number
df["Memory Bus width (bit)"] = df["Memory Bus width (bit)"].apply(lambda x: str(x))
df["Memory Bus width (bit)"] = df["Memory Bus width (bit)"].str.extract(r"(\d+)")
# strip out bit width from combined column
df = merge(df, "Memory Bus type & width (bit)", "Memory Bus type & width")
df["bus"] = df["Memory Bus type & width (bit)"].str.extract(r"(\d+)-bit", expand=False)
Expand Down Expand Up @@ -856,6 +855,8 @@ def stripShorthand(str):
.add_params(shape_selection)
)

regression_method = {"linear": "linear", "log": "exp"}

lchart = (
(
alt.layer(
Expand All @@ -864,7 +865,7 @@ def stripShorthand(str):
on=stripShorthand(c["x"]),
regression=stripShorthand(c["y"]),
# groupby=[stripShorthand(c["color"])],
method=c["yscale"],
method=regression_method[c["yscale"]],
).mark_line(),
)
)
Expand Down
14 changes: 7 additions & 7 deletions plots/Arithmetic Intensity over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Arithmetic Intensity vs. Memory Bandwidth.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Arithmetic Intensity vs. Peak Processing Power.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Clock rate over Time.html

Large diffs are not rendered by default.

Binary file modified plots/Clock rate over Time.pdf
Binary file not shown.
14 changes: 7 additions & 7 deletions plots/Die Size over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Feature size over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/GFLOPS per Area vs. GFLOPS per Watt.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/GFLOPS per Dollar over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/GFLOPS per Watt over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/GFLOPS per Watt vs. Memory Bandwidth.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/GFLOPS per Watt vs. Peak Processing Power.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Memory Bandwidth over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Memory Bandwidth per Pin over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Memory Bus Width over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Power density over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Power over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Processing Power over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Release price over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/SM count over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Shader count over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Transistor Count over Time.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions plots/Transistor density over Time.html

Large diffs are not rendered by default.

0 comments on commit ac3f0fe

Please sign in to comment.