From 788409ddc51314ce5b89a8779c58b4201378e030 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Wed, 19 Jul 2023 09:57:59 +0200 Subject: Log warning when failing to use GPU --- .../java/ai/vespa/modelintegration/evaluator/OnnxEvaluator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/model-integration/src/main/java/ai/vespa/modelintegration/evaluator/OnnxEvaluator.java b/model-integration/src/main/java/ai/vespa/modelintegration/evaluator/OnnxEvaluator.java index 02fa7b68dc4..239f2c74d7b 100644 --- a/model-integration/src/main/java/ai/vespa/modelintegration/evaluator/OnnxEvaluator.java +++ b/model-integration/src/main/java/ai/vespa/modelintegration/evaluator/OnnxEvaluator.java @@ -15,6 +15,8 @@ import com.yahoo.tensor.TensorType; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; import static ai.vespa.modelintegration.evaluator.OnnxRuntime.isCudaError; @@ -26,6 +28,8 @@ import static ai.vespa.modelintegration.evaluator.OnnxRuntime.isCudaError; */ public class OnnxEvaluator implements AutoCloseable { + private static final Logger LOG = Logger.getLogger(OnnxEvaluator.class.getName()); + private final ReferencedOrtSession session; OnnxEvaluator(String modelPath, OnnxEvaluatorOptions options, OnnxRuntime runtime) { @@ -142,7 +146,8 @@ public class OnnxEvaluator implements AutoCloseable { throw new IllegalArgumentException("No such file: " + model.path().get()); } if (tryCuda && isCudaError(e) && !options.gpuDeviceRequired()) { - // Failed in CUDA native code, but GPU device is optional, so we can proceed without it + LOG.log(Level.WARNING, "Failed to create session with CUDA using GPU device " + + options.gpuDeviceNumber() + ". Falling back to CPU", e); return createSession(model, runtime, options, false); } if (isCudaError(e)) { -- cgit v1.2.3