aboutsummaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-09-21 09:31:09 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-09-22 15:25:57 +0200
commit0d8c6fc3b5b9735918e20e0518ad680dc6cc82b4 (patch)
tree0a1b5ab25daa66cd3812140fe4fa76d195b599e7 /config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java
parentb0e3c533424a95b2086bd7db1ca3e0a7a591e64f (diff)
Add calculator for adjusting JVM heap size based on model size
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java b/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java
new file mode 100644
index 00000000000..8c7f0db3bec
--- /dev/null
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java
@@ -0,0 +1,30 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+package com.yahoo.config.model.api;
+
+import com.yahoo.config.ModelReference;
+import com.yahoo.config.application.api.ApplicationFile;
+import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.provision.ApplicationId;
+
+/**
+ * @author bjorncs
+ */
+public interface OnnxModelCost {
+
+ Calculator newCalculator(DeployLogger logger);
+
+ interface Calculator {
+ long aggregatedModelCostInBytes();
+ void registerModel(ApplicationFile path);
+ void registerModel(ModelReference ref);
+ }
+
+ static OnnxModelCost testInstance() {
+ return (__) -> new Calculator() {
+ @Override public long aggregatedModelCostInBytes() { return 0; }
+ @Override public void registerModel(ApplicationFile path) {}
+ @Override public void registerModel(ModelReference ref) {}
+ };
+ }
+}