diff --git a/hpvm/projects/visc-rt/policy.h b/hpvm/projects/visc-rt/policy.h
index f30c310c1a30ad36b4dbfdd6628453f5bf308874..4bd6fa046967a7a1632e89941b155695ee139718 100644
--- a/hpvm/projects/visc-rt/policy.h
+++ b/hpvm/projects/visc-rt/policy.h
@@ -11,6 +11,18 @@ class Policy {
     virtual ~Policy() {};
 };
 
+class ConstPolicy : public Policy {
+public:
+  ConstPolicy(int deviceID): deviceID(deviceID) {}
+
+  int getVersion(const char *, int64_t) override {
+    return deviceID;
+  }
+
+private:
+  int deviceID;
+};
+
 class NodePolicy : public Policy {
   virtual int getVersion(const char *name, int64_t it) override {
     std::string s(name);