Skip to content

Commit

Permalink
Dashboard: add CPU inference job support (#1273)
Browse files Browse the repository at this point in the history
  • Loading branch information
Gerhut committed Jul 24, 2020
1 parent 35809ca commit 4f48126
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/dashboard/src/pages/Job/Tabs/Brief.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,26 @@ const Brief: FunctionComponent = () => {
<InferenceGPUsListItem/>
)
}
{
job['jobParams']['jobtrainingtype'] === 'CPUInferenceJob' && (
<ListItem>
<ListItemText
primary="Number of Workers"
secondary={job['jobParams']['numOfCPUWorker']}
/>
</ListItem>
)
}
{
job['jobParams']['jobtrainingtype'] === 'CPUInferenceJob' && (
<ListItem>
<ListItemText
primary="Number of CPUs per Worker"
secondary={job['jobParams']['numOfCPUPerWorker']}
/>
</ListItem>
)
}
<ListItem>
<ListItemText
primary="Preemptible"
Expand Down
25 changes: 25 additions & 0 deletions src/dashboard/src/pages/Submission/Training.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,8 @@ const Training: React.ComponentClass = withRouter(({ history }) => {
const [gpus, setGpus] = React.useState(0)
const [mingpu, setMingpu] = React.useState(0)
const [maxgpu, setMaxgpu] = React.useState(0)
const [numOfCPUWorker, setNumOfCPUWorker] = React.useState(0)
const [numOfCPUPerWorker, setNumOfCPUPerWorker] = React.useState(0)
const submittable = React.useMemo(() => {
if (!gpuModel) return false
if (!currentTeamId) return false
Expand Down Expand Up @@ -565,6 +567,22 @@ const Training: React.ComponentClass = withRouter(({ history }) => {
},
[setMaxgpu]
)
const onNumOfCPUWorkerChange = React.useCallback(
(event: React.ChangeEvent<HTMLInputElement>) => {
let value = event.target.valueAsNumber
if (isNaN(value) || value < 0) value = 0
setNumOfCPUWorker(value)
},
[setNumOfCPUWorker]
)
const onNumOfCPUPerWorkerChange = React.useCallback(
(event: React.ChangeEvent<HTMLInputElement>) => {
let value = event.target.valueAsNumber
if (isNaN(value) || value < 0) value = 0
setNumOfCPUPerWorker(value)
},
[setNumOfCPUPerWorker]
)
const [open, setOpen] = React.useState(false)
const onSubmit = (event: React.FormEvent) => {
event.preventDefault()
Expand Down Expand Up @@ -614,6 +632,9 @@ const Training: React.ComponentClass = withRouter(({ history }) => {
} else if (type === 'InferenceJob') {
job.mingpu = mingpu
job.maxgpu = maxgpu
} else if (type === 'CPUInferenceJob') {
job.numOfCPUWorker = numOfCPUWorker
job.numOfCPUPerWorker = numOfCPUPerWorker
} else {
job.resourcegpu = gpus
}
Expand Down Expand Up @@ -921,6 +942,8 @@ const Training: React.ComponentClass = withRouter(({ history }) => {
label="Number of Workers"
fullWidth
variant="filled"
value={numOfCPUWorker}
onChange={onNumOfCPUWorkerChange}
/>
</Grid>
)}
Expand All @@ -931,6 +954,8 @@ const Training: React.ComponentClass = withRouter(({ history }) => {
label="Number of CPUs per Worker"
fullWidth
variant="filled"
value={numOfCPUPerWorker}
onChange={onNumOfCPUPerWorkerChange}
/>
</Grid>
)}
Expand Down

0 comments on commit 4f48126

Please sign in to comment.