From 906c1e0c71c8ad58934990ebe686adf7496e0dce Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 8 Jul 2020 13:45:39 +0200 Subject: Add harness.energytrace_sync="led" for LA / Timing based sync --- bin/generate-dfa-benchmark.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin/generate-dfa-benchmark.py') diff --git a/bin/generate-dfa-benchmark.py b/bin/generate-dfa-benchmark.py index 1410c28..fdfac35 100755 --- a/bin/generate-dfa-benchmark.py +++ b/bin/generate-dfa-benchmark.py @@ -636,8 +636,10 @@ if __name__ == "__main__": elif "energytrace" in opt: # Use barcode sync by default gpio_mode = "bar" + energytrace_sync = None if "sync" in opt["energytrace"] and opt["energytrace"]["sync"] != "bar": gpio_mode = "around" + energytrace_sync = "led" harness = OnboardTimerHarness( gpio_pin=timer_pin, gpio_mode=gpio_mode, @@ -645,6 +647,7 @@ if __name__ == "__main__": counter_limits=runner.get_counter_limits_us(opt["arch"]), log_return_values=need_return_values, repeat=1, + energytrace_sync=energytrace_sync, ) elif "timing" in opt: harness = OnboardTimerHarness( -- cgit v1.2.3 From 0a7917342cf27f18f553afdf4a65d6377f671aad Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Tue, 14 Jul 2020 16:49:27 +0200 Subject: support more than one logfile per measurement run --- bin/generate-dfa-benchmark.py | 4 ++-- lib/loader.py | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'bin/generate-dfa-benchmark.py') diff --git a/bin/generate-dfa-benchmark.py b/bin/generate-dfa-benchmark.py index fdfac35..6540702 100755 --- a/bin/generate-dfa-benchmark.py +++ b/bin/generate-dfa-benchmark.py @@ -393,7 +393,7 @@ def run_benchmark( os.remove(filename) harness.undo(i) else: - files.extend(monitor.get_files()) + files.append(monitor.get_files()) i += 1 harness.restart() @@ -680,7 +680,7 @@ if __name__ == "__main__": "files": list(map(lambda x: x[3], results)), "configs": list(map(lambda x: x[2].get_config(), results)), } - extra_files = flatten(json_out["files"]) + extra_files = flatten(map(flatten, json_out["files"])) if "instance" in pta.codegen: output_prefix = ( opt["data"] + time.strftime("/%Y%m%d-%H%M%S-") + pta.codegen["instance"] diff --git a/lib/loader.py b/lib/loader.py index 65d497b..4934316 100644 --- a/lib/loader.py +++ b/lib/loader.py @@ -974,14 +974,16 @@ class RawData: "state_duration": ptalog["opt"]["sleep"], } ) - for repeat_id, etlog_file in enumerate(ptalog["files"][j]): - member = tf.getmember(etlog_file) + for repeat_id, etlog_files in enumerate(ptalog["files"][j]): + members = list(map(tf.getmember, etlog_files)) offline_data.append( { - "content": tf.extractfile(member).read(), + "content": list( + map(lambda f: tf.extractfile(f).read(), members) + ), "sync_mode": sync_mode, "fileno": j, - "info": member, + "info": members[0], "setup": self.setup_by_fileno[j], "repeat_id": repeat_id, "expected_trace": ptalog["traces"][j], @@ -1238,7 +1240,7 @@ class EnergyTraceWithBarcode: ) return list() - lines = log_data.decode("ascii").split("\n") + lines = log_data[0].decode("ascii").split("\n") data_count = sum(map(lambda x: len(x) > 0 and x[0] != "#", lines)) data_lines = filter(lambda x: len(x) > 0 and x[0] != "#", lines) -- cgit v1.2.3