{ from = new Date(Date.now() - 5 * 60 * 1000); to = new Date(Date.now()); clusterFrom = new Date(Date.now() - (8 * 60 * 60 * 1000)) if (interval) stackedFrom += Math.floor(interval / 1000); else stackedFrom += 1 // Workaround: TimeSelection not linked, just trigger new data on manual refresh }} /> {#if $statusQuery.fetching || $statesTimed.fetching} {:else if $statusQuery.error || $statesTimed.error} {#if $statusQuery.error} Error Requesting Status Data: {$statusQuery.error.message} {/if} {#if $statesTimed.error} Error Requesting Node Scheduler States: {$statesTimed.error.message} {/if} {:else}

Cluster {presetCluster.charAt(0).toUpperCase() + presetCluster.slice(1)}

CPU(s)

{[...clusterInfo?.processorTypes].join(', ')}

{clusterInfo?.runningJobs}
Running Jobs
{clusterInfo?.activeUsers}
Active Users
{clusterInfo?.allocatedNodes}
Active Nodes
{scaleNumber(clusterInfo?.flopRate, clusterInfo?.flopRateUnitPrefix)}{clusterInfo?.flopRateUnitBase}
Total Flop Rate
{scaleNumber(clusterInfo?.memBwRate, clusterInfo?.memBwRateUnitPrefix)}{clusterInfo?.memBwRateUnitBase}
Total Memory Bandwidth
{#if clusterInfo?.totalAccs !== 0} {scaleNumber(clusterInfo?.gpuPwr, clusterInfo?.gpuPwrUnitPrefix)}{clusterInfo?.gpuPwrUnitBase}
Total GPU Power
{:else} {scaleNumber(clusterInfo?.cpuPwr, clusterInfo?.cpuPwrUnitPrefix)}{clusterInfo?.cpuPwrUnitBase}
Total CPU Power
{/if}
Active Cores {formatNumber(clusterInfo?.allocatedCores)} {formatNumber(clusterInfo?.idleCores)} Idle Cores {#if clusterInfo?.totalAccs !== 0} Active GPU {formatNumber(clusterInfo?.allocatedAccs)} {formatNumber(clusterInfo?.idleAccs)} Idle GPU {/if}
Cluster Utilization ( {`${sortedClusterMetrics[0]?.name} (${sortedClusterMetrics[0]?.unit?.prefix}${sortedClusterMetrics[0]?.unit?.base})`} , {`${sortedClusterMetrics[1]?.name} (${sortedClusterMetrics[1]?.unit?.prefix}${sortedClusterMetrics[1]?.unit?.base})`} )
{#key $statusQuery?.data?.clusterMetrics} {/key}
{#key $statusQuery?.data?.nodeMetrics} {/key}
{#if refinedStateData.length > 0}
{#key refinedStateData} sd.count, )} entities={refinedStateData.map( (sd) => sd.state, )} fixColors={refinedStateData.map( (sd) => colors['nodeStates'][sd.state], )} /> {/key}
{#key refinedStateData} {#each refinedStateData as sd, i} {/each}
State Count
{sd.state.charAt(0).toUpperCase() + sd.state.slice(1)} {sd.count}
{/key} {:else} Cannot render state status: No state data returned for Pie Chart {/if}
{#key $statesTimed?.data?.nodeStatesTimed} {/key}
{/if}