Pull requests / #2337

#2337 sycl serve: STRATA_SYCL_MEMLOCK=0 leaves out --ulimit memlock=-1 (unprivileged LXC, rootless Docker)

open · @leadgtr7 · 0 コメント · GitHub で見る

BenchmarksServer & APIAMD / HIPNVIDIA / CUDAModels & quants

本文

**What it changes:** `sycl/serve/strata-sycl.sh` keeps `--ulimit memlock=-1` by default; `STRATA_SYCL_MEMLOCK=0` leaves it out. One header line documents it.

**Why:** since 0.1.42 (e02bd99) the launcher always passes `--ulimit memlock=-1`. Docker inside an unprivileged LXC container (and, as far as we know, rootless Docker) may not raise that limit, and `docker run` then fails before the engine starts:

    error setting rlimit type 8: operation not permitted

The server only sees the engine exit at start, and there is no setting to avoid it short of editing the launcher. On our host the engine ran without the flag up to 0.1.41 and runs on 0.1.44 with this setting (below).

**What it leaves alone:** the default (`--ulimit memlock=-1` is still passed; the `docker run` arguments are identical to main, checked with a `docker` stub that prints them), and everything else in the launcher. CUDA/HIP untouched.

**How it was checked:**
- The `docker` stub: default identical to main; with `STRATA_SYCL_MEMLOCK=0` the argument list has no `--ulimit`.
- On one Arc Pro B65 in an unprivileged LXC container (xe driver), with upstream's launcher every engine start failed with the rlimit error above. With `STRATA_SYCL_MEMLOCK=0` a v0.1.44 engine started (`docker inspect`: no ulimits) and ran Swift 1.5 IQ3_S: pinned host mirror, KV streaming and a 61,052-token prompt worked, 36.8 tok/s decode.

**Not tested:** rootless Docker and Podman themselves (the LXC case is the one we hit), and whether pinned-memory speed differs with the flag on a host that accepts it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

関連リンク

インストール・モデル・リリースへの站内リンク。