summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorOla Aunronning <olaa@yahooinc.com>2023-09-21 13:05:22 +0200
committerOla Aunronning <olaa@yahooinc.com>2023-09-21 13:05:22 +0200
commitf7e4341d0e8dcfa31346d42df39dee3b9b7c2e59 (patch)
treebb022780dfb2913168fe1d1d57697c440f579a9c /config-provisioning
parent7faeffcc5901ae88c1c3d1814665d0db6ca1d900 (diff)
Cluster cost accounts for GPU resources as well
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
index 0d21b155571..c1eb3be4275 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
@@ -157,6 +157,10 @@ public class NodeResources {
return new NodeResources.GpuResources(1, thisMem - otherMem);
}
+ public GpuResources multipliedBy(double factor) {
+ return new GpuResources(this.count, this.memoryGb * factor);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -329,10 +333,12 @@ public class NodeResources {
}
public NodeResources multipliedBy(double factor) {
+ if (isUnspecified()) return this;
return this.withVcpu(vcpu * factor)
.withMemoryGb(memoryGb * factor)
.withDiskGb(diskGb * factor)
- .withBandwidthGbps(bandwidthGbps * factor);
+ .withBandwidthGbps(bandwidthGbps * factor)
+ .with(gpuResources.multipliedBy(factor));
}
private boolean isInterchangeableWith(NodeResources other) {