Thread the task-scoped GGUF fit budget through every picker expander
The previous commit introduced the single-device budget but wired it into only the downloaded-group and Hub search sites. The LM Studio, custom-folder, local-dir, live-search and exported-GGUF expanders reachable from the Images/Video pickers still measured against the summed multi-GPU total, as did the size-based GGUF row badge, so those paths could still recommend a quant that OOMs on a single device. All GgufVariantExpander call sites in HubModelPicker now share expanderGpuGb, and the row badge derives the same task-scoped budget.
This commit is contained in:
parent
cece544fd9
commit
dcd6666f8d
1 changed files with 11 additions and 25 deletions
|
|
@ -2217,7 +2217,9 @@ export function HubModelPicker({
|
|||
sizeBytes != null &&
|
||||
!fitsDevice({
|
||||
sizeBytes,
|
||||
gpuGb: gpu.memoryTotalGb,
|
||||
// Same task-scoped budget as expanderGpuGb: single device for
|
||||
// Images/Video (one-device pipelines), summed total for chat.
|
||||
gpuGb: task ? gpu.maxDeviceMemoryGb : gpu.memoryTotalGb,
|
||||
systemRamGb: gpu.systemRamAvailableGb,
|
||||
});
|
||||
map.set(r.id, {
|
||||
|
|
@ -3989,9 +3991,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
/>
|
||||
)}
|
||||
|
|
@ -4080,9 +4080,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
/>
|
||||
)}
|
||||
|
|
@ -4161,9 +4159,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
/>
|
||||
)}
|
||||
|
|
@ -4261,9 +4257,7 @@ export function HubModelPicker({
|
|||
}}
|
||||
vramStatus={info?.status ?? null}
|
||||
vramEst={info?.est}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
onArrowDownIntoChildren={
|
||||
expandedGguf === id
|
||||
? () => focusFirstChildOption(optionKey)
|
||||
|
|
@ -4282,9 +4276,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
variantActions={{
|
||||
onDelete: async (quant) => {
|
||||
|
|
@ -4375,9 +4367,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
variantActions={{
|
||||
onDelete: async (quant) => {
|
||||
|
|
@ -4441,9 +4431,7 @@ export function HubModelPicker({
|
|||
isSearchGguf ? null : (vram?.status ?? null)
|
||||
}
|
||||
vramEst={isSearchGguf ? undefined : vram?.est}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
onArrowDownIntoChildren={
|
||||
expandedGguf === id
|
||||
? () => {
|
||||
|
|
@ -4466,9 +4454,7 @@ export function HubModelPicker({
|
|||
onNavigatePastEnd={() =>
|
||||
hubModelList.moveFocus(optionKey, "next")
|
||||
}
|
||||
gpuGb={
|
||||
gpu.available ? gpu.memoryTotalGb : undefined
|
||||
}
|
||||
gpuGb={expanderGpuGb}
|
||||
systemRamGb={gpu.systemRamAvailableGb || undefined}
|
||||
variantActions={{
|
||||
onDelete: async (quant) => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue