diff --git a/src/pages/gpu-service/instances/services/use-query-instance-types.ts b/src/pages/gpu-service/instances/services/use-query-instance-types.ts index 14e48ba3..7dfdbab0 100644 --- a/src/pages/gpu-service/instances/services/use-query-instance-types.ts +++ b/src/pages/gpu-service/instances/services/use-query-instance-types.ts @@ -1,6 +1,6 @@ import { useQueryData } from '@gpustack/core-ui'; import React from 'react'; -import { ceilMilliToCore, parseQuantity, parseQuantityToGi } from '../../utils'; +import { ceilMilliToCore, parseQuantityToGi } from '../../utils'; import { queryGPUServiceInstanceTypes } from '../apis'; import { getAcceleratorMax } from '../config'; import { InstanceTypeItem } from '../config/types'; @@ -26,12 +26,15 @@ export default function useQueryInstanceTypes() { const [dataList, setDataList] = React.useState([]); const isAvailable = (item: InstanceTypeItem) => { - if (!item.spec?.acceleratable) + if (!item.spec?.acceleratable) { + const max = + ceilMilliToCore(item.status?.onceMaxRequest?.cpu || '0')?.cores || 0; return { - maxComputeUnitCount: - parseQuantity(item.status?.onceMaxRequest?.cpu || '0')?.num || 0, // CPU resource max request - available: true + maxComputeUnitCount: max, // CPU resource max request + available: max > 0 }; + } + const max = getAcceleratorMax(item.status?.tiers); return { maxComputeUnitCount: max || 0, diff --git a/src/pages/gpu-service/utils.ts b/src/pages/gpu-service/utils.ts index 6ef161b8..09168539 100644 --- a/src/pages/gpu-service/utils.ts +++ b/src/pages/gpu-service/utils.ts @@ -101,7 +101,7 @@ export const ceilMilliToCore = ( const outFactor = UNIT_FACTOR[outUnit]; if (outFactor === undefined) return null; return { - cores: Math.ceil(parsed.base), + cores: _.floor(parsed.base), unit: outUnit, num: parsed.base / outFactor };