Stop retrying a provider that took the app down
The probe runs in the app's process, and a provider can fail by aborting rather than by returning an error — XNNPACK did on SCRFD. A rung that does that once would do it on every launch, before the first photograph is on screen. Every session build above the CPU, the probe's and each background compile's, now writes what it is attempting to `attempt` in the cache directory first and removes it after. After two launches in a row that died inside the same attempt it is refused and recorded — a rung in `failed`, an engine in the new `refused` — until the fingerprint changes. Two, not one, because quitting during a TensorRT compile leaves the same file.
This commit is contained in:
@@ -270,6 +270,14 @@ What the probe may not do:
|
||||
- **Retry a rung that failed within a session.** A failed probe is cached as a failure with the
|
||||
same inputs; the rung is tried again when an input changes. Otherwise a wedged driver means a
|
||||
thirty-second stall on every launch.
|
||||
- **Crash the app twice for the same reason.** The probe runs in the app's process, and a provider
|
||||
can fail by aborting rather than by returning an error (XNNPACK on SCRFD, §2). Every session build
|
||||
on a rung above the CPU — the probe's, and each background compile of §6 — writes what it is
|
||||
attempting to `attempt` in the cache directory first and removes it after. A launch that finds the
|
||||
file knows the last one died inside that attempt; after two such launches in a row the attempt is
|
||||
refused and recorded like any other failure (a rung in `failed`, an engine in `refused`), until
|
||||
the fingerprint changes. Two, not one, because quitting during a forty-second TensorRT compile
|
||||
leaves the same file.
|
||||
- **Choose for the user without saying so.** Settings gains one row, *Inference backend*, showing
|
||||
what was chosen and why in one line ("Hexagon NPU · int8 · QNN 2.42"; "CPU · ONNX Runtime 1.30 ·
|
||||
TensorRT probe failed: cuDNN 8 required"), with an override to force any lower rung. The about
|
||||
|
||||
Reference in New Issue
Block a user