Check that CUDA is set, refs #19438
[arvados-workbench2.git] / src / views / process-panel / process-resource-card.tsx
index c76838fcf87003523151c429e945b8727a1032ae..98e96edd3cf6a5fe43728490902a61665ac4532b 100644 (file)
@@ -20,6 +20,7 @@ import { ArvadosTheme } from 'common/custom-theme';
 import {
     CloseIcon,
     MaximizeIcon,
+    MemoryIcon,
     UnMaximizeIcon,
     ProcessIcon
 } from 'components/icon/icon';
@@ -55,16 +56,16 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
     },
     iconHeader: {
         fontSize: '1.875rem',
-        color: theme.customs.colors.green700,
+        color: theme.customs.colors.greyL,
     },
     content: {
         paddingTop: "0px",
-        maxHeight: `calc(100% - ${theme.spacing.unit * 4.5}px)`,
+        maxHeight: `calc(100% - ${theme.spacing.unit * 7.5}px)`,
         overflow: "auto"
     },
     sectionH3: {
         margin: "0.5em",
-        color: theme.customs.colors.purple,
+        color: theme.customs.colors.greyD,
         fontSize: "0.8125rem",
         textTransform: "uppercase",
     }
@@ -94,7 +95,7 @@ export const ProcessResourceCard = withStyles(styles)(connect()(
                     content: classes.title,
                     avatar: classes.avatar,
                 }}
-                avatar={<ProcessIcon className={classes.iconHeader} />}
+                avatar={<MemoryIcon className={classes.iconHeader} />}
                 title={
                     <Typography noWrap variant='h6' color='inherit'>
                         Resources
@@ -131,6 +132,20 @@ export const ProcessResourceCard = withStyles(styles)(connect()(
                                 <DetailsAttribute label="Disk" value={formatFileSize(diskRequest)} />
                             </Grid>
 
+                            {process.container?.runtimeConstraints.cuda &&
+                                process.container?.runtimeConstraints.cuda.device_count > 0 ?
+                                <>
+                                    <Grid item xs={12}>
+                                        <DetailsAttribute label="CUDA devices" value={process.container?.runtimeConstraints.cuda.device_count} />
+                                    </Grid>
+                                    <Grid item xs={12}>
+                                        <DetailsAttribute label="CUDA driver version" value={process.container?.runtimeConstraints.cuda.driver_version} />
+                                    </Grid>
+                                    <Grid item xs={12}>
+                                        <DetailsAttribute label="CUDA hardware capability" value={process.container?.runtimeConstraints.cuda.hardware_capability} />
+                                    </Grid>
+                                </> : null}
+
                             {process.container?.runtimeConstraints.keep_cache_ram &&
                                 process.container?.runtimeConstraints.keep_cache_ram > 0 ?
                                 <Grid item xs={12}>
@@ -147,19 +162,6 @@ export const ProcessResourceCard = withStyles(styles)(connect()(
                                 <DetailsAttribute label="API access" value={process.container?.runtimeConstraints.API.toString()} />
                             </Grid> : null}
 
-                            {process.container?.runtimeConstraints.cuda &&
-                                process.container?.runtimeConstraints.cuda.device_count > 0 ?
-                                <>
-                                    <Grid item xs={12}>
-                                        <DetailsAttribute label="CUDA devices" value={process.container?.runtimeConstraints.cuda.device_count} />
-                                    </Grid>
-                                    <Grid item xs={12}>
-                                        <DetailsAttribute label="CUDA driver version" value={process.container?.runtimeConstraints.cuda.driver_version} />
-                                    </Grid>
-                                    <Grid item xs={12}>
-                                        <DetailsAttribute label="CUDA hardware capability" value={process.container?.runtimeConstraints.cuda.hardware_capability} />
-                                    </Grid>
-                                </> : null}
                         </Grid>
                     </Grid>
 
@@ -188,35 +190,31 @@ export const ProcessResourceCard = withStyles(styles)(connect()(
                                 </Grid>
 
                                 <Grid item xs={6}>
-                                    <DetailsAttribute label="Included scratch disk" value={formatFileSize(nodeInfo.IncludedScratch)} />
+                                    <DetailsAttribute label="Disk" value={formatFileSize(nodeInfo.IncludedScratch + nodeInfo.AddedScratch)} />
                                 </Grid>
 
                                 <Grid item xs={6}>
                                     <DetailsAttribute label="Preemptible" value={nodeInfo.Preemptible.toString()} />
                                 </Grid>
 
-                                <Grid item xs={6}>
-                                    <DetailsAttribute label="Added scratch disk" value={formatFileSize(nodeInfo.AddedScratch)} />
-                                </Grid>
-
-                                {nodeInfo.CUDA.DeviceCount > 0 &&
+                                {nodeInfo.CUDA && nodeInfo.CUDA.DeviceCount > 0 &&
                                     <>
                                         <Grid item xs={6}>
-                                            <DetailsAttribute label="CUDA devices" value={formatFileSize(nodeInfo.CUDA.DeviceCount)} />
+                                            <DetailsAttribute label="CUDA devices" value={nodeInfo.CUDA.DeviceCount} />
                                         </Grid>
 
                                         <Grid item xs={6}>
                                         </Grid>
 
                                         <Grid item xs={6}>
-                                            <DetailsAttribute label="CUDA driver version" value={formatFileSize(nodeInfo.CUDA.DriverVersion)} />
+                                            <DetailsAttribute label="CUDA driver version" value={nodeInfo.CUDA.DriverVersion} />
                                         </Grid>
 
                                         <Grid item xs={6}>
                                         </Grid>
 
                                         <Grid item xs={6}>
-                                            <DetailsAttribute label="CUDA hardware capability" value={formatFileSize(nodeInfo.CUDA.HardwareCapability)} />
+                                            <DetailsAttribute label="CUDA hardware capability" value={nodeInfo.CUDA.HardwareCapability} />
                                         </Grid>
                                     </>
                                 }