Skip to content

Commit

Permalink
Stream CTS-1 results (#53)
Browse files Browse the repository at this point in the history
Stream Results on cts1 and plots.
  • Loading branch information
dmageeLANL authored Sep 14, 2023
1 parent 3a1fba5 commit 1a92ee1
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 25 deletions.
19 changes: 18 additions & 1 deletion doc/sphinx/10_Microbenchmarks/M1_STREAM/STREAM.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,21 @@ Dependent Variable(s)
2. A minimum number of cores and threads that achieves MAX_BW. MIN_CT

Example Results
===============
===============

CTS-1 Snow
-----------

.. csv-table:: STREAM microbenchmark bandwidth measurement
:file: stream-cts1_ats5intel-oneapi-openmpi.csv
:align: center
:widths: 10, 10
:header-rows: 1

.. figure:: cpu_cts1.png
:align: center
:scale: 50%
:alt: STREAM microbenchmark bandwidth measurement

ATS-3 Rocinante HBM
-------------------
22 changes: 8 additions & 14 deletions doc/sphinx/10_Microbenchmarks/M1_STREAM/cpu.gp
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/usr/bin/gnuplot
#STREAM
set terminal pngcairo enhanced size 1024, 768 dashed font 'Helvetica,18'
set output "cpu_66M.png"
set output "cpu_cts1.png"

set title "Branson Strong Scaling Performance on CTS-1, 66M particles" font "serif,22"
set title "STREAM Single node bandwidth" font "serif,22"
set xlabel "No. Processing Elements"
set ylabel "Figure of Merit (particles/sec)"
set ylabel "Figure of Merit Triad (MB/s)"

set xrange [1:64]
set key left top

set logscale x 2
set logscale y 2
Expand All @@ -21,15 +21,9 @@ set key autotitle columnheader
set style line 1 linetype 6 dashtype 1 linecolor rgb "#FF0000" linewidth 2 pointtype 6 pointsize 3
set style line 2 linetype 1 dashtype 2 linecolor rgb "#FF0000" linewidth 2

plot "cpu_66M.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2

set output "cpu_133M.png"
set title "Branson Strong Scaling Performance on CTS-1, 133M particles" font "serif,22"
plot "cpu_133M.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2


set output "cpu_200M.png"
set title "Branson Strong Scaling Performance on CTS-1, 200M particles" font "serif,22"
plot "cpu_200M.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2
plot "stream-cts1_ats5intel-oneapi-openmpi.csv" using 1:2 with linespoints linestyle 1

# set output "cpu_133M.png"
# set title "Branson Strong Scaling Performance on CTS-1, 133M particles" font "serif,22"
# plot "cpu_133M.csv" using 1:2 with linespoints linestyle 1, "" using 1:3 with line linestyle 2

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
No. Cores,Bandwidth
1,10919.0
2,10809.5
4,10481.3
8,8326.0
16,7954.7
32,4983.1
36,3023.6
31 changes: 21 additions & 10 deletions utils/pavparse
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ def flatten_dict(result, prefix=''):

return aa, bb

def js_list_to_df(results_list):

def js_list_to_df(results_list, flatkeys):
result_collection=[]

for i, result in enumerate(results_list):
Expand All @@ -45,13 +46,11 @@ def js_list_to_df(results_list):
while b_dict:
bd1={}
if i==0: print(f"PREFIX: {prefix}")
for bk, bv in b_dict.items():
# if i==0:
# print(f"KEY: {bk}")
# print(f"VAL: {bv}")


for bk, bv in b_dict.items():
prefixbk = prefix
if not bk == 'var':
if not bk == 'var':

prefixbk=prefix+bk+'.'
a_dictnew, b_dictnew = flatten_dict(bv, prefixbk)
a_dict.update(a_dictnew)
Expand All @@ -60,6 +59,14 @@ def js_list_to_df(results_list):
b_dict = bd1.copy()
prefix=prefixbk

print(flatkeys)
if flatkeys:
oldkeys = [k for k in a_dict.keys() if flatkeys in k]
print(oldkeys)
newkeys = [k.split('.')[-1] for k in oldkeys]
for (o, n) in zip(oldkeys, newkeys):
a_dict[n] = a_dict[o]

result_collection.append(pd.Series(a_dict))

return pd.DataFrame(result_collection)
Expand Down Expand Up @@ -112,6 +119,9 @@ def args():
parser.add_argument('-it', '--index_title', type=str, default=None,
help="Change the title of the index (output x column).")

parser.add_argument('-d', '--flatten', type=str, default=None,
help="Flatten a key to get at the nested values below uniformally.")

return parser

if __name__ == '__main__':
Expand All @@ -129,7 +139,7 @@ if __name__ == '__main__':
rsltchoose = [k for k in keepers if '=' in k]
rsltkeep.append(index)

rslt_df = js_list_to_df(jsin)
rslt_df = js_list_to_df(jsin, arguments.flatten)
sys_name = rslt_df.sys_name.iloc[0]
test_list = rslt_df.name.iloc[0].split('.')[:2]

Expand All @@ -151,7 +161,8 @@ if __name__ == '__main__':
for rchoose in rsltchoose:
key, val = rchoose.split('=')
keptvals.append(val)
rslt_df=rslt_df.loc[rslt_df[key] == val]

rslt_df = rslt_df.loc[rslt_df[key] == val]

test_list.extend(keptvals)
test_title = "-".join(test_list)
Expand All @@ -172,7 +183,7 @@ if __name__ == '__main__':
if index_title:
grouped_df.index.name = index_title
if value_title:
grouped_df.columns=value_title
grouped_df.columns = value_title
grouped_dfs[gtitle] = grouped_df.squeeze().map(fmt.format)
df_mean[gtitle] = grouped_df.mean().values[0]

Expand Down

0 comments on commit 1a92ee1

Please sign in to comment.