diff --git a/__init__.py b/__init__.py index 6ea4f72..0128a65 100644 --- a/__init__.py +++ b/__init__.py @@ -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 """ diff --git a/core/version.py b/core/version.py index d79902e..bec7b94 100644 --- a/core/version.py +++ b/core/version.py @@ -1 +1 @@ -version = "1.10.1-gpu" +version = "1.10.2-gpu" diff --git a/general/gpu.py b/general/gpu.py index 1f7532f..d8b9f85 100644 --- a/general/gpu.py +++ b/general/gpu.py @@ -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) diff --git a/version b/version index f7f2cff..72708e7 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.10.1-gpu +1.10.2-gpu diff --git a/web/monitor.js b/web/monitor.js index 64a5801..59a4636 100644 --- a/web/monitor.js +++ b/web/monitor.js @@ -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)); diff --git a/web/monitor.ts b/web/monitor.ts index 963a743..e8839e2 100644 --- a/web/monitor.ts +++ b/web/monitor.ts @@ -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';