diff --git a/web/frontend/src/generic/joblist/JobListRow.svelte b/web/frontend/src/generic/joblist/JobListRow.svelte index 3963708f..e9382bee 100644 --- a/web/frontend/src/generic/joblist/JobListRow.svelte +++ b/web/frontend/src/generic/joblist/JobListRow.svelte @@ -234,8 +234,6 @@ cluster={clusterInfos.find((c) => c.name == job.cluster)} subCluster={job.subCluster} isShared={job.shared != "none"} - numhwthreads={job.numHWThreads} - numaccs={job.numAcc} zoomState={zoomStates[metric.data.name] || null} thresholdState={thresholdStates[metric.data.name] || null} {plotSync} diff --git a/web/frontend/src/generic/plots/MetricPlot.svelte b/web/frontend/src/generic/plots/MetricPlot.svelte index 063b43fb..aa38d858 100644 --- a/web/frontend/src/generic/plots/MetricPlot.svelte +++ b/web/frontend/src/generic/plots/MetricPlot.svelte @@ -43,8 +43,6 @@ subCluster, isShared = false, forNode = false, - numhwthreads = 0, - numaccs = 0, zoomState = null, thresholdState = null, extendedLegendData = null, @@ -83,9 +81,7 @@ const thresholds = $derived(findJobAggregationThresholds( subClusterTopology, metricConfig, - scope, - numhwthreads, - numaccs + scope )); const longestSeries = $derived.by(() => { if (useStatsSeries) { @@ -276,9 +272,7 @@ function findJobAggregationThresholds( subClusterTopology, metricConfig, - scope, - numhwthreads, - numaccs + scope ) { if (!subClusterTopology || !metricConfig || !scope) { @@ -303,21 +297,13 @@ } if (metricConfig?.aggregation == "sum") { - // Scale Thresholds - let fraction; - if (numaccs > 0) fraction = subClusterTopology.accelerators.length / numaccs; - else if (numhwthreads > 0) fraction = subClusterTopology.core.length / numhwthreads; - else fraction = 1; // Fallback - let divisor; - // Exclusive: Fraction = 1; Shared: Fraction > 1 - if (scope == 'node') divisor = fraction; - // Cap divisor at number of available sockets or domains - else if (scope == 'socket') divisor = (fraction < subClusterTopology.socket.length) ? subClusterTopology.socket.length : fraction; - else if (scope == "memoryDomain") divisor = (fraction < subClusterTopology.memoryDomain.length) ? subClusterTopology.socket.length : fraction; - // Use Maximum Division for Smallest Scopes + if (scope == 'node') divisor = 1 // Node Scope: Always return unscaled (Maximum Scope) + // Partial Scopes: Get from Topologies + else if (scope == 'socket') divisor = subClusterTopology.socket.length; + else if (scope == "memoryDomain") divisor = subClusterTopology.memoryDomain.length; else if (scope == "core") divisor = subClusterTopology.core.length; - else if (scope == "hwthread") divisor = subClusterTopology.core.length; // alt. name for core + else if (scope == "hwthread") divisor = subClusterTopology.node.length; else if (scope == "accelerator") divisor = subClusterTopology.accelerators.length; else { console.log('Unknown scope, return default aggregation thresholds for sum', scope) diff --git a/web/frontend/src/job/Metric.svelte b/web/frontend/src/job/Metric.svelte index ca32d9f9..1beb88fb 100644 --- a/web/frontend/src/job/Metric.svelte +++ b/web/frontend/src/job/Metric.svelte @@ -178,8 +178,6 @@ timestep={selectedData.timestep} scope={selectedScope} metric={metricName} - numaccs={job.numAcc} - numhwthreads={job.numHWThreads} series={selectedSeries} {isShared} {zoomState} @@ -194,8 +192,6 @@ timestep={selectedData.timestep} scope={selectedScope} metric={metricName} - numaccs={job.numAcc} - numhwthreads={job.numHWThreads} series={selectedSeries} {isShared} {zoomState}