Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The installer sets up everything else. Two or three cards can share the model ([
Experimental, written and tested by community members on their own machines:

- **Older graphics cards** (Tesla P40 / V100, GTX 10, Radeon VII / MI50, RX 6700 XT, RX 5500 XT): [Older GPUs](docs/OLDER_GPUS.md).
- **Intel Arc**, built from source on Linux: [Intel Arc](docs/INTEL_ARC.md).
- **Intel Arc**, built from source on Linux or Windows: [Intel Arc](docs/INTEL_ARC.md).
- **AMD Ryzen AI Max (Strix Halo)**, built from source on Linux: [Strix Halo](docs/STRIX_HALO.md).
- **Older processors without AVX2**: they work, but slowly. [Older CPUs](docs/INSTALL.md#older-cpus-experimental).

Expand Down
23 changes: 14 additions & 9 deletions docs/INTEL_ARC.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ The code is in `sycl/`, and the port's own notes, measurements and maintenance p
we have not run it on an Arc. Every result on Arc hardware below comes from the community. The NVIDIA and AMD
engines are unchanged: the Intel build is a separate CMake target, off by default.

There is **no ready-made Intel engine** in the release zips. You build it from source on Linux.
There is **no ready-made Intel engine** in the release zips. You build it from source, on Linux (this page) or on
Windows ([INTEL_WINDOWS.md](INTEL_WINDOWS.md)).

## What has been run, and by whom

Expand Down Expand Up @@ -48,9 +49,9 @@ Full flags, per-request timings and engine logs are in the report linked in the
- **Unchanged:** the CUDA engine's greedy output, checked byte-identical against the gated 0.1.39 build (Q2_0 and Coder).
The HIP build is not affected (the option is off by default).

**Not tested by anyone yet:** Windows (no native build path; see below), Arc on WSL2 for the 0.1.39 port, the Alchemist
A-series, integrated Arc GPUs (the B390 / Panther Lake in #515; the shared-memory planning does not exist yet), and
images (not wired on Intel).
**Not tested by anyone yet:** Arc on WSL2 for the 0.1.39 port, integrated Arc GPUs (the B390 / Panther Lake in #515;
the shared-memory planning does not exist yet), and images (not wired on Intel). Windows runs natively on an Arc Pro
B70 since this version ([INTEL_WINDOWS.md](INTEL_WINDOWS.md)); other cards on Windows are untested.

## What you need

Expand Down Expand Up @@ -157,11 +158,15 @@ Things that matter on an Arc (details in INTEL.md):

## Windows

There is no Windows path yet. `setup --backend sycl` on Windows stops and points here. oneAPI exists for Windows,
but `sycl/CMakeLists.txt` uses GCC-style flags (`-mavx512f`, `-fp-model=precise`, `-qmkl`) and the runner is a
bash/Docker script, so a native Windows build would need work. Nobody has tried it. WSL2 with an Arc has been
used by one tester (the B580 row above), but setup cannot detect the card there, because it reads `/sys/class/drm`,
which WSL2 does not have.
The port runs natively on Windows 11, without WSL2 or Docker: `sycl\tools\build_windows.bat` builds the engine with
oneAPI's `icx` and Visual Studio's linker into `engine\`, and `START-HERE.bat --backend sycl` installs and starts a
model the usual way. It was built and run on an Arc Pro B70 (the card dedicated to the model, an NVIDIA card driving
the desktop): the Coder IQ1_M at 60 tok/s on the first chat (2026-10-05), Swift 1.5 IQ3_XXS with part of its experts
in a pinned RAM mirror at 53-64 tok/s decode over several days of use (2026-10-07 to 09). What the Windows build adds
(a chunked VRAM arena for WDDM, a VRAM heartbeat for a display-less card, the DXGI memory budget, the card choice by
Level Zero index, the engine's environment, Sysman telemetry) and what is still open is in
[INTEL_WINDOWS.md](INTEL_WINDOWS.md). WSL2 has been used by one tester (the B580 row above), but setup cannot detect
the card there, because it reads `/sys/class/drm`, which WSL2 does not have; the native path is the one to use.

## Reporting a problem

Expand Down
228 changes: 228 additions & 0 deletions docs/INTEL_WINDOWS.md

Large diffs are not rendered by default.

14 changes: 8 additions & 6 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4549,12 +4549,14 @@ def sycl_setup(argv) -> int:
with the Intel steps swapped in. Nothing of the CUDA / HIP paths is used or changed."""
say()
say(" Intel Arc (--backend sycl): supported since 0.1.40.2 on Linux, tested on an Arc Pro B70 (xe) and an Arc A750 "
"(i915); other Arc cards and driver versions are untested, and reports help (docs/INTEL.md).")
"(i915), and on Windows, tested on an Arc Pro B70; other Arc cards and driver versions are untested, and "
"reports help (docs/INTEL.md).")
if WIN:
fail("the Intel Arc engine has no Windows setup yet (no ready-made Intel engine either)",
"run it on Linux (Ubuntu 24.04 with Intel's GPU driver and oneAPI): docs/INTEL_ARC.md")
say(" There is no ready-made Intel engine: it is built from source with Intel oneAPI (icpx + oneMKL),")
say(" docs/INTEL_ARC.md. Setup continues with sycl/setup_intel.py.")
say(" There is no ready-made Intel engine: it is built from source with Intel oneAPI (icx + oneMKL) by")
say(" sycl\\tools\\build_windows.bat, docs/INTEL_WINDOWS.md. Setup continues with sycl\\setup_intel.py.")
else:
say(" There is no ready-made Intel engine: it is built from source with Intel oneAPI (icpx + oneMKL),")
say(" docs/INTEL_ARC.md. Setup continues with sycl/setup_intel.py.")
rest, skip = [], False
for x in argv: # setup_intel.py drives this setup through its AMD path
if skip:
Expand Down Expand Up @@ -4667,7 +4669,7 @@ def main() -> int:
ap.add_argument("--backend", choices=["cuda", "hip", "sycl"],
help="cuda = NVIDIA (default), hip = AMD RX 7900 / 7800 / 7700 XT, RX 9060 XT / 9070 / AI PRO R9700 on "
"Linux or Windows (chosen by itself when the PC has no NVIDIA card Strata can use), "
"sycl = Intel Arc, EXPERIMENTAL: Linux, built from source (docs/INTEL_ARC.md)")
"sycl = Intel Arc, EXPERIMENTAL: Linux or Windows, built from source (docs/INTEL_ARC.md)")
ap.add_argument("--skip-build", action="store_true", help=argparse.SUPPRESS)
a = ap.parse_args()
if a.source:
Expand Down
Loading