From 2d3ee599c6dbfea15b05cb3112ab8f99f91fd300 Mon Sep 17 00:00:00 2001 From: Yifan Zhao <yifanz16@illinois.edu> Date: Sun, 14 Mar 2021 01:16:57 -0600 Subject: [PATCH] User friendliness tweaks in PipedBinary app --- predtuner/approxapp.py | 2 +- predtuner/pipedbin.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/predtuner/approxapp.py b/predtuner/approxapp.py index 7564bb8..c0cd691 100644 --- a/predtuner/approxapp.py +++ b/predtuner/approxapp.py @@ -110,7 +110,7 @@ class Config: ) -> None: self.qos = qos self.perf = perf - self.knobs = knobs + self.knobs = dict(sorted(knobs.items())) self.test_qos: Optional[float] = test_qos diff --git a/predtuner/pipedbin.py b/predtuner/pipedbin.py index 554ece7..cb066c9 100644 --- a/predtuner/pipedbin.py +++ b/predtuner/pipedbin.py @@ -122,8 +122,7 @@ class PipedBinaryApp(ModeledApp): def _stop_binary(self): if self.process.poll() is not None: return - with self.fifo_w_file.open("w") as f: - f.write("stop") + self.process.terminate() def _check_running(self): return_code = self.process.poll() @@ -189,6 +188,8 @@ def parse_hpvm_tensor(buffer: bytes) -> torch.Tensor: data = np.frombuffer(buffer, dtype=np.float32, offset=offset, count=nelem) offset += nelem * 4 batches.append(data.reshape(*dims)) + if not batches: + raise ValueError("No tensor returned from HPVM binary") batches = np.concatenate(batches, axis=0) return torch.from_numpy(batches).squeeze(-1).squeeze(-1) -- GitLab