[SYCL][Graph] Add SYCL_GRAPH_FORCE_NATIVE_RECORDING environment variable (#22053)
# Summary
Adds the runtime environment variable
**`SYCL_GRAPH_FORCE_NATIVE_RECORDING`**.
When the value is **`1`**, every `command_graph` is created as if
**`property::graph::enable_native_recording`** was present in the
property list—**no application source changes**.
| Area | Change |
| :--- | :--- |
| **Runtime** | Value read once via `SYCLConfig` (same pattern as other
SYCL config env vars) |
| **Documentation** | Described in `sycl/doc/EnvironmentVariables.md` |
---
# Motivation
Native graph recording is currently enabled only by passing
**`property::graph::enable_native_recording`** at graph construction.
That is sufficient for **SYCL Graph** tests, but it does **not** work
well for **high-level, end-to-end** evaluation—for example **vLLM**,
**SGLang**, and similar serving stacks—where:
- SYCL graphs are created **deep inside** the framework, and
- there is **no practical path** to propagate a SYCL graph property (or
framework-specific flags) through every layer.
---
# Usage
| Variable | Value | Effect |
| :--- | :---: | :--- |
| `SYCL_GRAPH_FORCE_NATIVE_RECORDING` | `1` | **Force** native recording
on all `command_graph` instances |
| `SYCL_GRAPH_FORCE_NATIVE_RECORDING` | unset / not `1` | **Default**:
native recording only when `enable_native_recording` is set in code |
**Example (shell):** `export SYCL_GRAPH_FORCE_NATIVE_RECORDING=1` then
run your workload (e.g. vLLM / SGLang).