Skip to content

Commit

Permalink
scripts: add SOS shmem_perf_suite plotting tools
Browse files Browse the repository at this point in the history
Signed-off-by: David Ozog <[email protected]>
  • Loading branch information
David Ozog authored and davidozog committed Jan 17, 2025
1 parent 45e6e7e commit 11776c7
Show file tree
Hide file tree
Showing 59 changed files with 1,650 additions and 0 deletions.
53 changes: 53 additions & 0 deletions scripts/sos_plotting_tool/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
The shmem_perf_plot tool
------------------------

Script for graphing plots from the Sandia OpenSHMEM (SOS) Perf Suite
located in <SOS_repo_path>/test/performance/shmem_perf_suite.

Usage:
```
shmem_perf_plot.py [-h] [--title TITLE] --input FILENAME [FILENAME ...]

options:
-h, --help
Show this help message and exit
--input FILENAME [FILENAME ...], -i FILENAME [FILENAME ...]
The list of log filenames to read and plot (required)
--title TITLE, -t TITLE
A string for the title of the generated plot (optional)
--maximum, -m
Only plot the maximum (y-value) across all input files (optional)
--csv, -c
Read simple CSV files with the -i flag (optional)
--message-rate, -r
Plot message rate instead of throughput (optional)
--dpi DPI, -d DPI
The dots per inch (DPI) of the generated plot
```

The script assumes each data file passed to `--input` or `-i` includes the
standard output from a clean and consistent run of a shmem_perf_suite test.
An example input file is included in `put_perf_output_example.txt`

The plot is generated into `plot.png` and will be overwritten by a subsequent
execution of the script. You've been warned!

The plot legend includes the filenames of each input data file. If ---maximum
is passed, then the plot legend includes only the filename of the first data
file passed to --input.

The tool generates CSV files with the parsed values used to generate the plots.
The format of these filenames are "generated_<input_filename>.csv" where
<input_filename> represents the name of each file passed to --input. If
--maximum is passed, the output filenames is "generated_MAX.csv".

This script currently works only with put, get, and non-blocking put/get
tests, only for the default message sizes, and only the bandwidth
measurement. Any other settings that change the default output formatting
may not work with this tool.

Requirements:

python 3.6+
matplotlib
numpy
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions scripts/sos_plotting_tool/cma_vs_xpmem/generated_cma.txt.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1, 0.89, 889723.05
2, 2.11, 1056213.73
4, 4.23, 1057438.52
8, 8.45, 1056487.79
16, 16.84, 1052707.06
32, 33.78, 1055660.44
64, 67.62, 1056638.92
128, 134.97, 1054448.25
256, 269.37, 1052219.27
512, 536.92, 1048665.60
1024, 1605.64, 1568006.84
2048, 3195.82, 1560461.35
4096, 6161.20, 1504198.42
8192, 8854.56, 1080878.46
16384, 5592.95, 341366.70
32768, 8105.82, 247369.90
65536, 10335.33, 157704.56
131072, 11063.34, 84406.56
262144, 9365.96, 35728.30
524288, 8997.46, 17161.29
1048576, 8923.54, 8510.15
2097152, 9223.01, 4397.87
4194304, 9324.43, 2223.12
8388608, 9214.97, 1098.51
24 changes: 24 additions & 0 deletions scripts/sos_plotting_tool/cma_vs_xpmem/generated_mmap.txt.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1, 32.42, 32419554.63
2, 64.68, 32341799.76
4, 130.65, 32663281.52
8, 278.53, 34816239.36
16, 558.58, 34911124.09
32, 1090.89, 34090436.20
64, 2117.86, 33091636.20
128, 4127.73, 32247905.78
256, 6520.05, 25468954.27
512, 10775.03, 21044978.76
1024, 15774.41, 15404692.87
2048, 21016.34, 10261883.47
4096, 25294.99, 6175533.82
8192, 28651.80, 3497534.29
16384, 20391.19, 1244579.18
32768, 17449.76, 532524.39
65536, 17547.40, 267752.14
131072, 15218.48, 116107.82
262144, 14538.77, 55460.99
524288, 14342.69, 27356.51
1048576, 12614.54, 12030.17
2097152, 12074.35, 5757.50
4194304, 9434.81, 2249.43
8388608, 9163.48, 1092.37
24 changes: 24 additions & 0 deletions scripts/sos_plotting_tool/cma_vs_xpmem/generated_xpmem.txt.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1, 29.17, 29168127.98
2, 58.36, 29179920.28
4, 118.06, 29514339.24
8, 235.93, 29490964.07
16, 499.98, 31248807.95
32, 1011.52, 31609999.29
64, 1972.93, 30827066.25
128, 3742.50, 29238294.60
256, 5753.42, 22474283.65
512, 9927.51, 19389670.36
1024, 13632.25, 13312748.84
2048, 18957.38, 9256533.78
4096, 23412.97, 5716056.03
8192, 27519.50, 3359313.47
16384, 22455.44, 1370571.54
32768, 17489.37, 533733.11
65536, 17814.61, 271829.38
131072, 17579.97, 134124.56
262144, 14749.03, 56263.07
524288, 13801.94, 26325.11
1048576, 12548.47, 11967.15
2097152, 13059.91, 6227.45
4194304, 13276.83, 3165.44
8388608, 13632.69, 1625.14
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1, 0.10, 95789.14
2, 0.16, 79990.77
4, 0.33, 82639.84
8, 0.74, 92086.15
16, 1.49, 92874.29
32, 2.61, 81646.16
64, 4.96, 77573.44
128, 9.85, 76949.24
256, 18.96, 74079.15
512, 36.82, 71912.73
1024, 47.48, 46369.09
2048, 90.39, 44136.90
4096, 66.05, 16125.02
8192, 132.03, 16117.43
16384, 188.66, 11515.03
32768, 340.71, 10397.74
65536, 783.57, 11956.27
131072, 1191.33, 9089.16
262144, 2215.35, 8450.87
524288, 4129.72, 7876.81
1048576, 5773.63, 5506.16
2097152, 5985.06, 2853.90
4194304, 7103.93, 1693.71
8388608, 6923.50, 825.35
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
1, 0.10, 95789.14
2, 0.16, 79990.77
4, 0.33, 82639.84
8, 0.74, 92086.15
16, 1.49, 92874.29
32, 2.61, 81646.16
64, 4.96, 77573.44
128, 9.85, 76949.24
256, 18.96, 74079.15
512, 36.82, 71912.73
1024, 47.48, 46369.09
2048, 90.39, 44136.90
4096, 66.05, 16125.02
8192, 132.03, 16117.43
16384, 188.66, 11515.03
32768, 340.71, 10397.74
65536, 783.57, 11956.27
131072, 1191.33, 9089.16
262144, 2215.35, 8450.87
524288, 4129.72, 7876.81
1048576, 5773.63, 5506.16
2097152, 5.06, 2853.90
4194304, 7103.93, 1693.71
8388608, 6923.50, 825.35
Binary file added scripts/sos_plotting_tool/plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
38 changes: 38 additions & 0 deletions scripts/sos_plotting_tool/put_perf_output_example.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

Sandia OpenSHMEM Performance Suite
==================================
Total Number of PEs: 2 Window size: 64
Number of source PEs: 1 Maximum message size: 8388608
Number of target PEs: 1 Number of threads: 1
Iteration count: 1000 Thread safety: SINGLE



Bandwidth test type: Uni-dir

Message Size Bandwidth Message Rate
in bytes in mbytes/sec in msgs/sec
1 0.10 95789.14
2 0.16 79990.77
4 0.33 82639.84
8 0.74 92086.15
16 1.49 92874.29
32 2.61 81646.16
64 4.96 77573.44
128 9.85 76949.24
256 18.96 74079.15
512 36.82 71912.73
1024 47.48 46369.09
2048 90.39 44136.90
4096 66.05 16125.02
8192 132.03 16117.43
16384 188.66 11515.03
32768 340.71 10397.74
65536 783.57 11956.27
131072 1191.33 9089.16
262144 2215.35 8450.87
524288 4129.72 7876.81
1048576 5773.63 5506.16
2097152 5985.06 2853.90
4194304 7103.93 1693.71
8388608 6923.50 825.35
38 changes: 38 additions & 0 deletions scripts/sos_plotting_tool/put_perf_output_example2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@

Sandia OpenSHMEM Performance Suite
==================================
Total Number of PEs: 2 Window size: 64
Number of source PEs: 1 Maximum message size: 8388608
Number of target PEs: 1 Number of threads: 1
Iteration count: 1000 Thread safety: SINGLE



Bandwidth test type: Uni-dir

Message Size Bandwidth Message Rate
in bytes in mbytes/sec in msgs/sec
1 0.10 95789.14
2 0.16 79990.77
4 0.33 82639.84
8 0.74 92086.15
16 1.49 92874.29
32 2.61 81646.16
64 4.96 77573.44
128 9.85 76949.24
256 18.96 74079.15
512 36.82 71912.73
1024 47.48 46369.09
2048 90.39 44136.90
4096 66.05 16125.02
8192 132.03 16117.43
16384 188.66 11515.03
32768 340.71 10397.74
65536 783.57 11956.27
131072 1191.33 9089.16
262144 2215.35 8450.87
524288 4129.72 7876.81
1048576 5773.63 5506.16
2097152 5.06 2853.90
4194304 7103.93 1693.71
8388608 6923.50 825.35
Loading

0 comments on commit 11776c7

Please sign in to comment.