From 0d8c6fc3b5b9735918e20e0518ad680dc6cc82b4 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Thu, 21 Sep 2023 09:31:09 +0200 Subject: Add calculator for adjusting JVM heap size based on model size --- .../com/yahoo/config/model/api/OnnxModelCost.java | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 config-model-api/src/main/java/com/yahoo/config/model/api/OnnxModelCost.java (limited to 'config-model-api/src') 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) {} + }; + } +} -- cgit v1.2.3