From 0e719db5c06a75851f4374563756ec28739043a7 Mon Sep 17 00:00:00 2001
From: Yifan Zhao <yifanz16@illinois.edu>
Date: Thu, 18 Mar 2021 16:58:38 -0500
Subject: [PATCH] Allow operator name with multiple underscores

---
 predtuner/pipedbin.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/predtuner/pipedbin.py b/predtuner/pipedbin.py
index 4aea660..b8cf173 100644
--- a/predtuner/pipedbin.py
+++ b/predtuner/pipedbin.py
@@ -309,8 +309,15 @@ class HPVMConfigBuilder:
     def _parse_ops(ops: List[str]) -> List[str]:
         types: List[str] = [None for _ in range(len(ops))]
         for k in ops:
-            ty, idx = k.split("_")
-            types[int(idx)] = ty
+            try:
+                ty, idx_s = k.rsplit("_", 1)
+                idx = int(idx_s)
+            except ValueError as e:
+                raise ValueError(
+                    f"Operator name {k} not understood. Original parsing error:\n"
+                    f"{e}"
+                )
+            types[idx] = ty
         if any(x is None for x in types):
             raise ValueError("Operator indice not consecutive")
         return types
-- 
GitLab