From 8ac601fc0792a67cbe43ceb56208f0b40723f5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Constantin=20F=C3=BCrst?= Date: Wed, 31 Jan 2024 18:02:02 +0100 Subject: [PATCH] add option for internal repetitions to benchmarks which allows the small copies of 1kib to run long enough for the timings to become usable (goal is about 1s runtime for each iteration) --- .../copy-debug-n0ton0-cpu.json | 6 +- .../dstcopy-internode-n0ton1-1gib.json | 3 +- .../dstcopy-internode-n0ton1-1mib.json | 18 --- .../dstcopy-intersock-n0ton4-1gib.json | 3 +- .../dstcopy-intersock-n0ton4-1mib.json | 18 --- .../dstoutsidercopy-intersock-n0to4-1gib.json | 3 +- .../dstoutsidercopy-intersock-n0to4-1mib.json | 18 --- ...odeoutsidercopy-internode-n0ton1-1gib.json | 3 +- ...odeoutsidercopy-internode-n0ton1-1mib.json | 18 --- ...ockoutsidercopy-internode-n0ton1-1gib.json | 3 +- ...ockoutsidercopy-internode-n0ton1-1mib.json | 18 --- .../srccopy-internode-n0ton1-1gib.json | 3 +- .../srccopy-internode-n0ton1-1mib.json | 18 --- .../srccopy-intersock-n0ton4-1gib.json | 3 +- .../srccopy-intersock-n0ton4-1mib.json | 18 --- .../srcoutsidercopy-intersock-n0to4-1gib.json | 3 +- .../srcoutsidercopy-intersock-n0to4-1mib.json | 18 --- .../xcopy-internode-n0ton1-1gib.json | 6 +- .../xcopy-internode-n0ton1-1mib.json | 29 ---- .../xcopy-intersock-n0ton4-1gib.json | 6 +- .../xcopy-intersock-n0ton4-1mib.json | 29 ---- .../mtsubmit-bench/mtsubmit-12t-1gib.json | 36 +++-- .../mtsubmit-bench/mtsubmit-12t-1mib.json | 36 +++-- .../mtsubmit-bench/mtsubmit-1t-1gib.json | 3 +- .../mtsubmit-bench/mtsubmit-1t-1mib.json | 3 +- .../mtsubmit-bench/mtsubmit-2t-1gib.json | 6 +- .../mtsubmit-bench/mtsubmit-2t-1mib.json | 6 +- .../mtsubmit-bench/mtsubmit-4t-1gib.json | 12 +- .../mtsubmit-bench/mtsubmit-4t-1mib.json | 12 +- .../mtsubmit-bench/mtsubmit-8t-1gib.json | 24 ++- .../mtsubmit-bench/mtsubmit-8t-1mib.json | 24 ++- .../copy-n0ton11-1gib-allnodes-cpu.json | 24 ++- .../copy-n0ton12-1gib-allnodes-cpu.json | 24 ++- .../copy-n0ton15-1gib-allnodes-cpu.json | 24 ++- .../copy-n0ton8-1gib-allnodes-cpu.json | 24 ++- .../copy-n0ton11-1gib-allnodes.json | 24 ++- .../copy-n0ton12-1gib-allnodes.json | 24 ++- .../copy-n0ton15-1gib-allnodes.json | 24 ++- .../copy-n0ton8-1gib-allnodes.json | 24 ++- .../copy-n0ton11-1gib-brute-cpu.json | 36 +++-- .../copy-n0ton12-1gib-brute-cpu.json | 36 +++-- .../copy-n0ton15-1gib-brute-cpu.json | 36 +++-- .../copy-n0ton8-1gib-brute-cpu.json | 36 +++-- .../copy-n0ton11-1gib-smart.json | 12 +- .../copy-n0ton12-1gib-smart.json | 6 +- .../copy-n0ton15-1gib-smart.json | 6 +- .../copy-n0ton8-1gib-smart.json | 12 +- .../submit-bench/submit-bs10-128mib.json | 3 +- .../submit-bench/submit-bs10-1kib.json | 5 +- .../submit-bench/submit-bs10-1mib.json | 5 +- .../submit-bench/submit-bs10-4kib.json | 5 +- .../submit-bench/submit-bs50-128mib.json | 3 +- .../submit-bench/submit-bs50-1kib.json | 5 +- .../submit-bench/submit-bs50-1mib.json | 5 +- .../submit-bench/submit-bs50-4kib.json | 5 +- .../submit-bench/submit-ssaw-128mib.json | 3 +- .../submit-bench/submit-ssaw-1kib.json | 5 +- .../submit-bench/submit-ssaw-1mib.json | 5 +- .../submit-bench/submit-ssaw-4kib.json | 5 +- benchmarks/benchmark.cpp | 140 ++++++++++++------ benchmarks/util/task-data.hpp | 7 +- 61 files changed, 510 insertions(+), 469 deletions(-) delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1mib.json delete mode 100644 benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1mib.json diff --git a/benchmarks/benchmark-descriptors/copy-debug-n0ton0-cpu.json b/benchmarks/benchmark-descriptors/copy-debug-n0ton0-cpu.json index 7008292..2695782 100755 --- a/benchmarks/benchmark-descriptors/copy-debug-n0ton0-cpu.json +++ b/benchmarks/benchmark-descriptors/copy-debug-n0ton0-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1024, - "batch_size": 0 + "batch_size": 0, + "reps": 1000 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1024, - "batch_size": 10 + "batch_size": 10, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1gib.json index 2c4a89b..9b22997 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1mib.json deleted file mode 100644 index 4355ebe..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-internode-n0ton1-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 1 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1gib.json index 56e286a..e8825f5 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1mib.json deleted file mode 100644 index c92bd24..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstcopy-intersock-n0ton4-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 4 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1gib.json index cc84e5f..956c894 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1mib.json deleted file mode 100644 index 0e3fb34..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/dstoutsidercopy-intersock-n0to4-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 7 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1gib.json index 1e8006f..4cfd3ee 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1mib.json deleted file mode 100644 index 29c4fd1..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/nodeoutsidercopy-internode-n0ton1-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 3 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1gib.json index 1e8006f..4cfd3ee 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1mib.json deleted file mode 100644 index 29c4fd1..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/sockoutsidercopy-internode-n0ton1-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 3 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1gib.json index ff196bb..e43347e 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1mib.json deleted file mode 100644 index d681ba0..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-internode-n0ton1-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 0 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1gib.json index b355a42..d72ea42 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1mib.json deleted file mode 100644 index 74121ae..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srccopy-intersock-n0ton4-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 0 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1gib.json index 934cba0..670ac14 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1mib.json deleted file mode 100644 index 4aa99b6..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/srcoutsidercopy-intersock-n0to4-1mib.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "count": 1, - "list": [ - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 3 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1gib.json index b270c5c..2179684 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 536870912, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 536870912, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1mib.json deleted file mode 100644 index 2e2f8eb..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-internode-n0ton1-1mib.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "count": 2, - "list": [ - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 0 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - }, - { - "affinity": { - "nnode_dst": 1, - "nnode_src": 0, - "node": 1 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1gib.json b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1gib.json index c7dd38c..8ca81c5 100644 --- a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1gib.json +++ b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 536870912, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 536870912, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1mib.json b/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1mib.json deleted file mode 100644 index 2dc25e3..0000000 --- a/benchmarks/benchmark-descriptors/engine-location-bench/xcopy-intersock-n0ton4-1mib.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "count": 2, - "list": [ - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 0 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - }, - { - "affinity": { - "nnode_dst": 4, - "nnode_src": 0, - "node": 4 - }, - "task": { - "size": 1048576, - "batch_size": 0 - } - } - ], - "path": "hw", - "repetitions": 10 -} \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1gib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1gib.json index 6c8cfcf..27b2399 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1gib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1073741824, - "batch_size": 10 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1mib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1mib.json index 373e3cc..5059c34 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1mib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-12t-1mib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1048576, - "batch_size": 10 + "batch_size": 0, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1gib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1gib.json index 0fe1d7f..017273b 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1gib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 120 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1mib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1mib.json index 5e7d00d..e0a5fc8 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1mib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-1t-1mib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1048576, - "batch_size": 120 + "batch_size": 0, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1gib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1gib.json index 4f23692..8614a58 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1gib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 60 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 60 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1mib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1mib.json index 74d4e4f..e9075bb 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1mib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-2t-1mib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1048576, - "batch_size": 60 + "batch_size": 0, + "reps": 100 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1048576, - "batch_size": 60 + "batch_size": 0, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1gib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1gib.json index 662051b..ebae372 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1gib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 30 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 30 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 30 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 30 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1mib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1mib.json index 12ab0e3..fe8131f 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1mib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-4t-1mib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1048576, - "batch_size": 30 + "batch_size": 0, + "reps": 100 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1048576, - "batch_size": 30 + "batch_size": 0, + "reps": 100 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1048576, - "batch_size": 30 + "batch_size": 0, + "reps": 100 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1048576, - "batch_size": 30 + "batch_size": 0, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1gib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1gib.json index a36c7c9..10bfb76 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1gib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1gib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 15 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1mib.json b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1mib.json index 9e0c975..7385bb2 100644 --- a/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1mib.json +++ b/benchmarks/benchmark-descriptors/mtsubmit-bench/mtsubmit-8t-1mib.json @@ -9,7 +9,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1048576, - "batch_size": 15 + "batch_size": 0, + "reps": 100 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton11-1gib-allnodes-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton11-1gib-allnodes-cpu.json index f1bc53a..a3a54cb 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton11-1gib-allnodes-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton11-1gib-allnodes-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton12-1gib-allnodes-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton12-1gib-allnodes-cpu.json index 2760ba4..0964b90 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton12-1gib-allnodes-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton12-1gib-allnodes-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton15-1gib-allnodes-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton15-1gib-allnodes-cpu.json index 151d167..f195813 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton15-1gib-allnodes-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton15-1gib-allnodes-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton8-1gib-allnodes-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton8-1gib-allnodes-cpu.json index 7034e37..ea92a70 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton8-1gib-allnodes-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes-cpu/copy-n0ton8-1gib-allnodes-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton11-1gib-allnodes.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton11-1gib-allnodes.json index 87bb0ab..003dcde 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton11-1gib-allnodes.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton11-1gib-allnodes.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton12-1gib-allnodes.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton12-1gib-allnodes.json index 7df75a6..99b8d74 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton12-1gib-allnodes.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton12-1gib-allnodes.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton15-1gib-allnodes.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton15-1gib-allnodes.json index bb1bd99..8c3d5d2 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton15-1gib-allnodes.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton15-1gib-allnodes.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton8-1gib-allnodes.json b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton8-1gib-allnodes.json index 06155ec..e3897d6 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton8-1gib-allnodes.json +++ b/benchmarks/benchmark-descriptors/peak-perf-allnodes/copy-n0ton8-1gib-allnodes.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton11-1gib-brute-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton11-1gib-brute-cpu.json index 2b1f811..7641bb2 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton11-1gib-brute-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton11-1gib-brute-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton12-1gib-brute-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton12-1gib-brute-cpu.json index 8b5be8a..5163b7b 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton12-1gib-brute-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton12-1gib-brute-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton15-1gib-brute-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton15-1gib-brute-cpu.json index 6e2454e..7ef3231 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton15-1gib-brute-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton15-1gib-brute-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton8-1gib-brute-cpu.json b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton8-1gib-brute-cpu.json index 7d93111..81efd70 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton8-1gib-brute-cpu.json +++ b/benchmarks/benchmark-descriptors/peak-perf-brute-cpu/copy-n0ton8-1gib-brute-cpu.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -53,7 +57,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -64,7 +69,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -75,7 +81,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -86,7 +93,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -97,7 +105,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -108,7 +117,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -119,7 +129,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -130,7 +141,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton11-1gib-smart.json b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton11-1gib-smart.json index c660b2e..59149c9 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton11-1gib-smart.json +++ b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton11-1gib-smart.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton12-1gib-smart.json b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton12-1gib-smart.json index c668d5a..35262af 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton12-1gib-smart.json +++ b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton12-1gib-smart.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton15-1gib-smart.json b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton15-1gib-smart.json index aa03d2e..5c3aa4d 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton15-1gib-smart.json +++ b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton15-1gib-smart.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton8-1gib-smart.json b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton8-1gib-smart.json index 09c7f53..c602f8a 100644 --- a/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton8-1gib-smart.json +++ b/benchmarks/benchmark-descriptors/peak-perf-smart/copy-n0ton8-1gib-smart.json @@ -9,7 +9,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -20,7 +21,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -31,7 +33,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } }, { @@ -42,7 +45,8 @@ }, "task": { "size": 1073741824, - "batch_size": 0 + "batch_size": 0, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-128mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-128mib.json index 1ab3949..ea5d3cc 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-128mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-128mib.json @@ -9,7 +9,8 @@ }, "task": { "batch_size": 10, - "size": 134217728 + "size": 134217728, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1kib.json index 106ad14..1c39727 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 10, - "size": 1024 + "size": 1024, + "reps": 1000 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1mib.json index 379b4bc..8485def 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-1mib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 10, - "size": 1048576 + "size": 1048576, + "reps": 100 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-4kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-4kib.json index 5beb22f..0dae47d 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-4kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs10-4kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 10, - "size": 4096 + "size": 4096, + "reps": 1000 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-128mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-128mib.json index e266ae0..0f0cc6e 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-128mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-128mib.json @@ -9,7 +9,8 @@ }, "task": { "batch_size": 50, - "size": 134217728 + "size": 134217728, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1kib.json index 41c734a..a89f486 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 50, - "size": 1024 + "size": 1024, + "reps": 100 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1mib.json index 27289ea..6c8cf1c 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-1mib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 50, - "size": 1048576 + "size": 1048576, + "reps": 10 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-4kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-4kib.json index d606306..d93941b 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-4kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-bs50-4kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 50, - "size": 4096 + "size": 4096, + "reps": 100 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-128mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-128mib.json index 6afc8cc..aee0f3a 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-128mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-128mib.json @@ -9,7 +9,8 @@ }, "task": { "batch_size": 0, - "size": 134217728 + "size": 134217728, + "reps": 1 } } ], diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1kib.json index 8e13bc9..eeb917d 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 0, - "size": 1024 + "size": 1024, + "reps": 1000 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1mib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1mib.json index dd977aa..56cb2da 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1mib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-1mib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 0, - "size": 1048576 + "size": 1048576, + "reps": 100 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-4kib.json b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-4kib.json index f6f01ae..17d849b 100644 --- a/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-4kib.json +++ b/benchmarks/benchmark-descriptors/submit-bench/submit-ssaw-4kib.json @@ -9,10 +9,11 @@ }, "task": { "batch_size": 0, - "size": 4096 + "size": 4096, + "reps": 1000 } } ], - "repetitions": 100, + "repetitions": 10, "path": "hw" } \ No newline at end of file diff --git a/benchmarks/benchmark.cpp b/benchmarks/benchmark.cpp index 0c1efd0..32d1797 100644 --- a/benchmarks/benchmark.cpp +++ b/benchmarks/benchmark.cpp @@ -14,55 +14,109 @@ #define LOG_CODE_INFO "Location: " << __FILE__ << "@" << __LINE__ << "::" << __FUNCTION__ << std::endl #define LOG_ERR { std::cerr << "--- BEGIN ERROR MSG ---" << std::endl << "Physical: [Node " << task->numa_node << " | Thread " << tid << "]" << std::endl; } std::cerr << LOG_CODE_INFO -#define CHECK_STATUS(stat,msg) { if (stat != dml::status_code::ok) { LOG_ERR << "Status Code: " << StatusCodeToString(stat) << std::endl << msg << std::endl; task->status = stat; return; }} +#define CHECK_STATUS(stat,msg) { if (stat != dml::status_code::ok) { LOG_ERR << "Status Code: " << StatusCodeToString(stat) << std::endl << msg << std::endl; return; }} std::shared_future LAUNCH_; std::vector ITERATION_TIMING_; -std::vector SOURCE_; -std::vector DESTINATION_; +std::vector> SOURCE_; +std::vector> DESTINATION_; template void thread_function(const uint32_t tid, TaskData* task) { - dml::data_view srcv = dml::make_view(reinterpret_cast(SOURCE_[tid]), task->size); - dml::data_view dstv = dml::make_view(reinterpret_cast(DESTINATION_[tid]), task->size); + LAUNCH_.wait(); - task->status = dml::status_code::ok; + for (uint32_t i = 0; i < task->rep_count; i++) { + dml::data_view srcv = dml::make_view(reinterpret_cast(SOURCE_[tid][i]), task->size); + dml::data_view dstv = dml::make_view(reinterpret_cast(DESTINATION_[tid][i]), task->size); - LAUNCH_.wait(); + if (task->batch_size > 1) { + auto sequence = dml::sequence(task->batch_size, std::allocator()); - if (task->batch_size > 1) { - auto sequence = dml::sequence(task->batch_size, std::allocator()); + for (uint32_t j = 0; j < task->batch_size; j++) { + const auto status = sequence.add(dml::mem_copy, srcv, dstv); + CHECK_STATUS(status, "Adding operation to batch failed!"); + } - for (uint32_t j = 0; j < task->batch_size; j++) { - const auto status = sequence.add(dml::mem_copy, srcv, dstv); - CHECK_STATUS(status, "Adding operation to batch failed!"); - } + // we use the asynchronous submit-routine even though this is not required + // here, however the project later on will only use async operation and + // therefore this behaviour should be benchmarked - // we use the asynchronous submit-routine even though this is not required - // here, however the project later on will only use async operation and - // therefore this behaviour should be benchmarked + auto handler = dml::submit(dml::batch, sequence, dml::execution_interface>(), task->numa_node); - auto handler = dml::submit(dml::batch, sequence, dml::execution_interface>(), task->numa_node); + auto result = handler.get(); + + const dml::status_code status = result.status; + CHECK_STATUS(status, "Batch completed with an Error!"); + } + else { + // we use the asynchronous submit-routine even though this is not required + // here, however the project later on will only use async operation and + // therefore this behaviour should be benchmarked + auto handler = dml::submit(dml::mem_copy, srcv, dstv, dml::execution_interface>(), task->numa_node); - auto result = handler.get(); + auto result = handler.get(); - const dml::status_code status = result.status; - CHECK_STATUS(status, "Batch completed with an Error!"); + const dml::status_code status = result.status; + CHECK_STATUS(status, "Operation completed with an Error!"); + } } - else { - // we use the asynchronous submit-routine even though this is not required - // here, however the project later on will only use async operation and - // therefore this behaviour should be benchmarked - auto handler = dml::submit(dml::mem_copy, srcv, dstv, dml::execution_interface>(), task->numa_node); +} + +template +void flush_cache(std::vector& args) { + auto flush_container = [&args](std::vector>& container) { + if (container.size() != args.size()) { + std::cerr << LOG_CODE_INFO << "Failed Clearing Cache due to size missmatch between tasks and entries!"; + exit(-1); + } + + for (uint32_t i = 0; i < args.size(); i++) { + for (auto ptr : container[i]) { + dml::data_view view = dml::make_view(reinterpret_cast(ptr), args[i].size); + auto result = dml::execute(dml::cache_flush, view); - auto result = handler.get(); + if (result.status != dml::status_code::ok) { + std::cerr << LOG_CODE_INFO << "Failed Clearing Cache!"; + exit(-1); + } + } + } + }; + + flush_container(DESTINATION_); + flush_container(SOURCE_); +} - const dml::status_code status = result.status; - CHECK_STATUS(status, "Operation completed with an Error!"); +void alloc_data_fields(std::vector& args) { + SOURCE_.resize(args.size()); + DESTINATION_.resize(args.size()); + + for (uint32_t tid = 0; tid < args.size(); tid++) { + DESTINATION_[tid].resize(args[tid].rep_count); + SOURCE_[tid].resize(args[tid].rep_count); + + for (uint32_t r = 0; r < args[tid].rep_count; r++) { + SOURCE_[tid][r] = numa_alloc_onnode(args[tid].size, args[tid].nnode_src); + DESTINATION_[tid][r] = numa_alloc_onnode(args[tid].size, args[tid].nnode_dst); + std::memset(SOURCE_[tid][r], 0xAB, args[tid].size); + std::memset(DESTINATION_[tid][r], 0xAB, args[tid].size); + } } } +void dealloc_data_fields(std::vector& args) { + for (uint32_t tid = 0; tid < args.size(); tid++) { + for (uint32_t r = 0; r < args[tid].rep_count; r++) { + numa_free(SOURCE_[tid][r], args[tid].size); + numa_free(DESTINATION_[tid][r], args[tid].size); + } + } + + SOURCE_.clear(); + DESTINATION_.clear(); +} + template void execute_dml_memcpy(std::vector& args, const uint64_t iterations) { // initialize numa library @@ -71,15 +125,7 @@ void execute_dml_memcpy(std::vector& args, const uint64_t iterations) // initialize data fields for use - SOURCE_.resize(args.size()); - DESTINATION_.resize(args.size()); - - for (uint32_t tid = 0; tid < args.size(); tid++) { - SOURCE_[tid] = numa_alloc_onnode(args[tid].size, args[tid].nnode_src); - DESTINATION_[tid] = numa_alloc_onnode(args[tid].size, args[tid].nnode_dst); - std::memset(SOURCE_[tid], 0xAB, args[tid].size); - std::memset(DESTINATION_[tid], 0xAB, args[tid].size); - } + alloc_data_fields(args); // for each requested iteration this is repeated, plus 5 iterations as warmup @@ -88,22 +134,16 @@ void execute_dml_memcpy(std::vector& args, const uint64_t iterations) std::promise launch_promise; LAUNCH_ = launch_promise.get_future(); - for (uint32_t tid = 0; tid < args.size(); tid++) { - // we flush the cache for the memory regions to avoid any caching effects - - dml::data_view srcv = dml::make_view(reinterpret_cast(SOURCE_[tid]), args[tid].size); - dml::data_view dstv = dml::make_view(reinterpret_cast(DESTINATION_[tid]), args[tid].size); - auto rsrc = dml::execute(dml::cache_flush, srcv); - auto rdst = dml::execute(dml::cache_flush, dstv); - TaskData* task = &args[tid]; - CHECK_STATUS(rsrc.status, "Flushing Cache for Source failed!"); - CHECK_STATUS(rdst.status, "Flushing Cache for Destination failed!"); - - // then spawn the thread + // we flush the cache for the memory regions to avoid any caching effects + flush_cache(args); + // for each requested task we spawn a thread and pass the task description + // and the thread id for accessing per-thread source and data pointers + for (uint32_t tid = 0; tid < args.size(); tid++) { threads.emplace_back(thread_function, tid, &args[tid]); } + // sleep shortly, hopefully after this all threads have reached the barrier using namespace std::chrono_literals; std::this_thread::sleep_for(1ms); @@ -117,4 +157,6 @@ void execute_dml_memcpy(std::vector& args, const uint64_t iterations) if (i >= 5) ITERATION_TIMING_.emplace_back(std::chrono::duration_cast(time_end - time_start).count()); } + + dealloc_data_fields(args); } \ No newline at end of file diff --git a/benchmarks/util/task-data.hpp b/benchmarks/util/task-data.hpp index 1ecba08..2f756f3 100644 --- a/benchmarks/util/task-data.hpp +++ b/benchmarks/util/task-data.hpp @@ -16,24 +16,21 @@ struct TaskData { // repetition uint32_t rep_count; uint32_t batch_size; - // thread output - dml::status_code status; - // completed iterations - uint32_t rep_completed; }; inline void to_json(nlohmann::json& j, const TaskData& a) { j["task"]["size"] = a.size; j["task"]["batch_size"] = a.batch_size; + j["task"]["reps"] = a.rep_count; j["affinity"]["node"] = a.numa_node; j["affinity"]["nnode_src"] = a.nnode_src; j["affinity"]["nnode_dst"] = a.nnode_dst; - j["report"]["status"] = StatusCodeToString(a.status); } inline void from_json(const nlohmann::json& j, TaskData& a) { j["task"]["size"].get_to(a.size); j["task"]["batch_size"].get_to(a.batch_size); + j["task"]["reps"].get_to(a.rep_count); j["affinity"]["node"].get_to(a.numa_node); j["affinity"]["nnode_src"].get_to(a.nnode_src); j["affinity"]["nnode_dst"].get_to(a.nnode_dst);