Pull requests / #1826
#1826 serve: probe the SYCL launcher's engine binary for --tail-role-token
closed · @Momoyeyu · 0 commentaires · Sur GitHub
Setup & installServer & APIAMD / HIPNVIDIA / CUDA
Description
Fixes #1781.
## What
`effort_end_args()` decides `--tail-role-token` support by grepping `exe`. On the SYCL port `exe` is `sycl/serve/strata-sycl.sh`, a launcher that execs `${STRATA_SYCL_BIN:-build-sycl-aot/strata}` inside a container — the script never names the flag, so `"effort_position": "end"` printed the "needs engine 0.1.39" line and stayed off on every SYCL install, exactly as the reporter measured.
A `#!` exe now gets a second read through `STRATA_SYCL_BIN` (the config's `env`, then the process environment) or the default `build-sycl-aot/strata`, relative to the repo two levels above the script — the same layout the launcher computes. A binary exe reads exactly as before; a missing/unreadable binary falls back to the launcher's text, so the probe still answers "unsupported" rather than crashing.
## What it leaves alone
- CUDA/HIP paths: `exe` is the engine there, so the new branch never runs.
- The probe's semantics: still a byte-grep of the engine image, still no version parsing, still a silent `None` when the flag is absent.
- The launcher itself: `strata-sycl.sh` is unchanged; this is server-side resolution of the convention it already documents.
## Tests
`serve/test_effort_position.py` (new, 6 tests): binary exe unchanged behavior; the SYCL layout via the default path and via `STRATA_SYCL_BIN` (config `env` and process env); a launcher whose binary lacks the flag; an unreadable/missing binary falling back to the script; `start`/invalid-value handling. 6/6 pass, plus `test_runconfig` and `test_frontend` (17 tests) unchanged.
Not tested: a real SYCL container run — the probe only reads files, and the reporter's environment has the actual image; the layout mirrors the launcher's own `${STRATA_SYCL_BIN:-...}` default and `../..` repo resolution.Sur le site
Liens install, modèles, releases.