Feat: print and redetect gpu devices on DEVICE_NOT_FOUND error

This commit is contained in:
harlekin
2025-03-11 23:54:12 +00:00
committed by Sheepit Renderfarm
parent d2f202de5c
commit 617e1c1a90

View File

@@ -64,6 +64,8 @@ import com.sheepit.client.exception.SheepItExceptionSessionDisabled;
import com.sheepit.client.exception.SheepItExceptionSessionDisabledDenoisingNotSupported; import com.sheepit.client.exception.SheepItExceptionSessionDisabledDenoisingNotSupported;
import com.sheepit.client.exception.SheepItExceptionWithRequiredWait; import com.sheepit.client.exception.SheepItExceptionWithRequiredWait;
import com.sheepit.client.hardware.cpu.CPU; import com.sheepit.client.hardware.cpu.CPU;
import com.sheepit.client.hardware.gpu.GPU;
import com.sheepit.client.hardware.gpu.GPUDevice;
import com.sheepit.client.logger.Log; import com.sheepit.client.logger.Log;
import com.sheepit.client.network.DownloadItem; import com.sheepit.client.network.DownloadItem;
import com.sheepit.client.network.DownloadManager; import com.sheepit.client.network.DownloadManager;
@@ -823,6 +825,33 @@ import okhttp3.HttpUrl;
if (err != Error.Type.OK) { if (err != Error.Type.OK) {
this.log.error("Client::work problem with runRenderer (ret " + err + ")"); this.log.error("Client::work problem with runRenderer (ret " + err + ")");
if (err == Error.Type.DETECT_DEVICE_ERROR) {
this.log.error("Available devices are: ");
if (configuration.getGPUDevice() != null && configuration.getComputeMethod() != Configuration.ComputeType.CPU) {
this.log.error("Configured device: " + String.format("%s %s %.1f GB VRAM (driver: %s)",
configuration.getGPUDevice().getId(),
configuration.getGPUDevice().getModel(),
configuration.getGPUDevice().getMemory() / 1024.0 / 1024.0 / 1024.0,
configuration.getGPUDevice().getDriverVersion())
);
}
this.log.error("Redetecting devices...");
GPU.generate();
this.log.error("Detected devices:");
List<GPUDevice> gpus = GPU.listDevices(configuration);
for (GPUDevice gpu : gpus) {
this.log.error(String.format("%s %s %.1f GB VRAM (driver: %s)",
gpu.getId(),
gpu.getModel(),
gpu.getMemory() / 1024.0 / 1024.0 / 1024.0,
gpu.getDriverVersion())
);
}
}
} }
this.state = State.UNKNOWN; this.state = State.UNKNOWN;
return err; return err;
@@ -909,7 +938,7 @@ import okhttp3.HttpUrl;
} }
} }
if (!rendererPathFile.exists()) { if (!rendererPathFile.exists()) {
// we create the directory // we create the directory
rendererPathFile.mkdir(); rendererPathFile.mkdir();