Native Windows support
- Dominant language
- Julia
- Stars
- 215
- Forks
- 37
- Avg merge
- 10h 47m
- Merged PRs (30d)
- 14
Description
We currently only support Windows through WSL. Native support involves:
- [x] Level Zero: provided by the closed-source driver, so we just rely on `ze_loader.dll`
- [ ] Libraries: depend on our oneAPI Support library, as Intel vendor libraries only expose a C++ ABI
The problem with building the oneAPI Support library for Windows is that our build environment uses MinGW. This poses issues when linking C++ libraries like `sycl7.dll`, which exposes a C++ API, and the MinGW and MSVC C++ ABIs are incompatible (see https://github.com/JuliaPackaging/Yggdrasil/pull/8285#issuecomment-1992399608).
AFAIU, there's a couple possible solutions here:
- use `clang-cl` to target the MSVC ABI from our build environment: this would require significant work on the BinaryBuilder side (or a very hacky build recipe) to ensure the correct SDK/sysroot bits are available
- hope that Intel provides MinGW-compatible binaries
- hope that Intel adds C APIs to its vendor libraries (as the C ABI is compatible between MinGW and MSVC).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the oneAPI Support library build and its MinGW link against sycl7.dll, then evaluate the clang-cl/MSVC ABI, Intel MinGW-compatible binaries, and C-API alternatives described in the issue. Done means native Windows support works without WSL; no specific files or tests are named.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, julia
- Domain
- build-system, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100