List all GPU IDs in settings with names on tooltip, sort NvGpus by VRAM

This commit is contained in:
N00MKRAD
2024-11-24 03:39:52 +01:00
parent 7aab7158fa
commit 2c1882c814
4 changed files with 913 additions and 895 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -31,13 +31,35 @@ namespace Flowframes.Forms
MinimumSize = new Size(Width, Height);
MaximumSize = new Size(Width, (Height * 1.5f).RoundToInt());
InitGpus();
InitServers();
LoadSettings();
initialized = true;
Task.Run(() => CheckModelCacheSize());
}
void InitServers()
private void InitGpus ()
{
string tooltipTorch = "";
string tooltipNcnn = "";
for (int i = 0; i < NvApi.NvGpus.Count; i++)
{
torchGpus.Items.Add(i);
tooltipTorch += $"{i} = {NvApi.NvGpus[i].FullName} ({NvApi.NvGpus[i].GetVramGb().ToString("0.")} GB)\n";
}
foreach(var vkGpu in VulkanUtils.VkDevices)
{
ncnnGpus.Items.Add(vkGpu.Id);
tooltipNcnn += $"{vkGpu.Id} = {vkGpu.Name}\n";
}
toolTip1.SetToolTip(tooltipTorchGpu, tooltipTorch.Trim());
toolTip1.SetToolTip(tooltipNcnnGpu, tooltipNcnn.Trim());
}
private void InitServers()
{
serverCombox.Items.Clear();
serverCombox.Items.Add($"Automatic (Closest)");

View File

@@ -23,7 +23,7 @@ namespace Flowframes.IO
switch (stringMode)
{
case StringMode.Any: Config.Set(comboBox.Name, comboBox.Text); break;
case StringMode.Int: Config.Set(comboBox.Name, comboBox.Text.GetInt().ToString()); break;
case StringMode.Int: Config.Set(comboBox.Name, comboBox.Text.Split('(')[0].GetInt().ToString()); break;
case StringMode.Float: Config.Set(comboBox.Name, comboBox.Text.GetFloat().ToString().Replace(",", ".")); break;
}
}

View File

@@ -25,7 +25,7 @@ namespace Flowframes.Os
if (gpus.Length == 0)
return;
NvGpus = gpus.ToList();
NvGpus = gpus.OrderByDescending(g => g.GetVramGb()).ThenBy(g => g.FullName).ToList();
float mostVram = -1f;
foreach (PhysicalGPU gpu in gpus)