gpu0 > vram0 > gpu1 > vram1 & simulation of 3 cards

This commit is contained in:
Crystian
2024-01-16 21:09:29 +01:00
parent 662912a846
commit 44e8b8d46b
6 changed files with 39 additions and 15 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
@author: Crystian
@title: Crystools
@nickname: Crystools
@version: 1.10.1-gpu
@version: 1.10.2-gpu
@project: "https://github.com/crystian/ComfyUI-Crystools",
@description: Plugins for multiples uses, mainly for debugging, you need them! IG: https://www.instagram.com/crystian.ia
"""
+1 -1
View File
@@ -1 +1 @@
version = "1.10.1-gpu"
version = "1.10.2-gpu"
+11 -1
View File
@@ -31,11 +31,17 @@ class CGPUInfo:
if self.pynvmlLoaded and pynvml.nvmlDeviceGetCount() > 0:
self.cudaDevicesFound = pynvml.nvmlDeviceGetCount()
logger.info(f"GPU/s:")
# for simulate multiple GPUs (for testing) interchange these comments:
# for deviceIndex in range(3):
# deviceHandle = pynvml.nvmlDeviceGetHandleByIndex(0)
for deviceIndex in range(self.cudaDevicesFound):
deviceHandle = pynvml.nvmlDeviceGetHandleByIndex(deviceIndex)
gpuName = pynvml.nvmlDeviceGetName(deviceHandle)
logger.info(f"GPU/s:")
logger.info(f"{deviceIndex}) {gpuName}")
self.gpus.append({
@@ -89,6 +95,10 @@ class CGPUInfo:
gpuType = self.cudaDevice
if self.pynvmlLoaded and self.cuda and self.cudaAvailable:
# for simulate multiple GPUs (for testing) interchange these comments:
# for deviceIndex in range(3):
# deviceHandle = pynvml.nvmlDeviceGetHandleByIndex(0)
for deviceIndex in range(self.cudaDevicesFound):
deviceHandle = pynvml.nvmlDeviceGetHandleByIndex(deviceIndex)
+1 -1
View File
@@ -1 +1 @@
1.10.1-gpu
1.10.2-gpu
+6 -5
View File
@@ -445,6 +445,9 @@ class CrystoolsMonitor {
configurable: true,
writable: true,
value: (monitorSettings) => {
if (!monitorSettings) {
return document.createElement('div');
}
const htmlMain = document.createElement('div');
htmlMain.setAttribute('id', monitorSettings.id);
htmlMain.style.margin = '2px 10px';
@@ -521,11 +524,9 @@ class CrystoolsMonitor {
ctoolsRoot.append(htmlContainer);
htmlContainer.append(this.createMonitor(this.monitorCPUElement));
htmlContainer.append(this.createMonitor(this.monitorRAMElement));
this.monitorGPUSettings.forEach((monitorSettings) => {
monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
});
this.monitorVRAMSettings.forEach((monitorSettings) => {
monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
this.monitorGPUSettings.forEach((_monitorSettings, index) => {
this.monitorGPUSettings[index] && htmlContainer.append(this.createMonitor(this.monitorGPUSettings[index]));
this.monitorVRAMSettings[index] && htmlContainer.append(this.createMonitor(this.monitorVRAMSettings[index]));
});
htmlContainer.append(this.createMonitor(this.monitorHDDElement));
const currentRate = parseFloat(app.ui.settings.getSettingValue(this.idInputRate, this.defaultRate));
+19 -6
View File
@@ -392,12 +392,21 @@ class CrystoolsMonitor {
htmlContainer.append(this.createMonitor(this.monitorCPUElement));
htmlContainer.append(this.createMonitor(this.monitorRAMElement));
this.monitorGPUSettings.forEach((monitorSettings) => {
monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
});
this.monitorVRAMSettings.forEach((monitorSettings) => {
monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
// gpu0 > gpu1 > vram0 > vram1
// this.monitorGPUSettings.forEach((monitorSettings) => {
// monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
// });
// this.monitorVRAMSettings.forEach((monitorSettings) => {
// monitorSettings && htmlContainer.append(this.createMonitor(monitorSettings));
// });
// gpu0 > vram0 > gpu1 > vram1
this.monitorGPUSettings.forEach((_monitorSettings, index) => {
this.monitorGPUSettings[index] && htmlContainer.append(this.createMonitor(this.monitorGPUSettings[index]));
this.monitorVRAMSettings[index] && htmlContainer.append(this.createMonitor(this.monitorVRAMSettings[index]));
});
htmlContainer.append(this.createMonitor(this.monitorHDDElement));
const currentRate = parseFloat(app.ui.settings.getSettingValue(this.idInputRate, this.defaultRate));
@@ -406,7 +415,11 @@ class CrystoolsMonitor {
this.registerListeners();
}
createMonitor = (monitorSettings: TMonitorSettings): HTMLDivElement => {
createMonitor = (monitorSettings?: TMonitorSettings): HTMLDivElement => {
if (!monitorSettings) {
// just for typescript
return document.createElement('div');
}
const htmlMain = document.createElement('div');
htmlMain.setAttribute('id', monitorSettings.id);
htmlMain.style.margin = '2px 10px';