|
@ -9,11 +9,11 @@ runid = "Run ID" |
|
|
x_label = "Copy Type" |
|
|
x_label = "Copy Type" |
|
|
y_label = "Throughput in GiB/s" |
|
|
y_label = "Throughput in GiB/s" |
|
|
var_label = "Configuration" |
|
|
var_label = "Configuration" |
|
|
types = ["intersock-n0ton4", "internode-n0ton1"] |
|
|
|
|
|
types_nice = ["Inter-Socket Copy", "Inter-Node Copy"] |
|
|
|
|
|
|
|
|
types = ["intersock-n0ton4-1mib", "internode-n0ton1-1mib", "intersock-n0ton4-1gib", "internode-n0ton1-1gib"] |
|
|
|
|
|
types_nice = ["Inter-Socket Copy 1MiB", "Inter-Node Copy 1MiB", "Inter-Socket Copy 1GiB", "Inter-Node Copy 1GiB"] |
|
|
copy_methods = ["dstcopy", "srccopy", "xcopy"] |
|
|
copy_methods = ["dstcopy", "srccopy", "xcopy"] |
|
|
copy_methods_nice = [ "Engine on DST-Node", "Engine on SRC-Node", "Cross-Copy / Both Engines" ] |
|
|
copy_methods_nice = [ "Engine on DST-Node", "Engine on SRC-Node", "Cross-Copy / Both Engines" ] |
|
|
title = "Performance of Engine Location - Copy Operation on DDR with Size 1 MiB and 1 Engine per WQ" |
|
|
|
|
|
|
|
|
title = "Performance of Engine Location - Copy Operation on DDR with 1 Engine per WQ" |
|
|
|
|
|
|
|
|
index = [runid, x_label, var_label] |
|
|
index = [runid, x_label, var_label] |
|
|
data = [] |
|
|
data = [] |
|
@ -42,9 +42,10 @@ def load_and_process_copy_json(file_path,method_label): |
|
|
time1 = data["list"][1]["report"]["time"] |
|
|
time1 = data["list"][1]["report"]["time"] |
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
"combined" : [sum(x) / 4 for x in zip(time0["combined"], time1["combined"])], |
|
|
|
|
|
"submission" : [sum(x) / 4 for x in zip(time0["completion"], time1["completion"])], |
|
|
|
|
|
"completion" : [sum(x) / 4 for x in zip(time0["submission"], time1["submission"])] |
|
|
|
|
|
|
|
|
"total": max(time0["total"],time1["total"]), |
|
|
|
|
|
"combined" : [max(x,y) for x,y in zip(time0["combined"], time1["combined"])], |
|
|
|
|
|
"submission" : [max(x,y) for x,y in zip(time0["completion"], time1["completion"])], |
|
|
|
|
|
"completion" : [max(x,y) for x,y in zip(time0["submission"], time1["submission"])] |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
else: |
|
|
else: |
|
@ -60,7 +61,7 @@ def create_copy_dataset(file_paths, method_label): |
|
|
idx = 0 |
|
|
idx = 0 |
|
|
for file_path in file_paths: |
|
|
for file_path in file_paths: |
|
|
time = load_and_process_copy_json(file_path,method_label) |
|
|
time = load_and_process_copy_json(file_path,method_label) |
|
|
times.append(time["combined"]) |
|
|
|
|
|
|
|
|
times.append(time["total"]) |
|
|
idx = idx + 1 |
|
|
idx = idx + 1 |
|
|
|
|
|
|
|
|
throughput = [[calc_throughput(1024*1024,time) for time in t] for t in times] |
|
|
throughput = [[calc_throughput(1024*1024,time) for time in t] for t in times] |
|
@ -78,7 +79,7 @@ def main(): |
|
|
folder_path = "benchmark-results/" |
|
|
folder_path = "benchmark-results/" |
|
|
|
|
|
|
|
|
for method_label in copy_methods: |
|
|
for method_label in copy_methods: |
|
|
copy_file_paths = [os.path.join(folder_path, f"{method_label}-{type_label}-1mib-1e.json") for type_label in types] |
|
|
|
|
|
|
|
|
copy_file_paths = [os.path.join(folder_path, f"{method_label}-{type_label}-1e.json") for type_label in types] |
|
|
create_copy_dataset(copy_file_paths, method_label) |
|
|
create_copy_dataset(copy_file_paths, method_label) |
|
|
|
|
|
|
|
|
df = pd.DataFrame(data) |
|
|
df = pd.DataFrame(data) |
|
|