Skip to content

Add Windows support to CI/CD pipeline. - #141

Open
chinazhangchao wants to merge 6 commits into
vllm-project:mainfrom
chinazhangchao:chao/winarm64
Open

chinazhangchao wants to merge 6 commits into
vllm-project:mainfrom
chinazhangchao:chao/winarm64

Conversation

@chinazhangchao

@chinazhangchao chinazhangchao commented Oct 14, 2026 •

Copy link
Copy Markdown

Hi @jinzhen-lin , I'm from Microsoft and recently I'm working on improving Python ecosystem support for Windows on Arm.
So I updates the CI workflows to add support for humming-kernels Windows ARM64 build and release. Could you please help to review? Thanks.

I tested humming-kernels on both Windows x64 and arm64 locally.

X64
NVIDIA GeForce RTX 5090 D  64.0 GB DDR5
Full suite completed successfully against the requested wheel: **2,672 passed, 176 skipped, 0 failed** in **4h 42m 42s**.

Arm64
NVIDIA RTX Spark N1X (6144-core Blackwell RTX GPU)  128 GB LPDDR5
Full suite completed: 2,666 passed, 182 skipped, 0 failed across all 2,848 collected tests, in 3 hours 1 minute.
 
NVIDIA RTX Spark N1X (5120-core Blackwell RTX GPU) 24.0 GB LPDDR5
Full suite completed successfully: 2,666 passed, 182 skipped, 0 failed in 6h 11m 50s, using the installed wheel with Python 3.13 on Windows ARM64.

This pull request adds comprehensive Windows support to the build system, source code, and documentation, enabling both x64 and ARM64 wheels for Humming with CUDA support. It introduces Windows-specific build logic, fixes cross-platform compatibility issues in native C++ code, and documents the new installation and build procedures for Windows users.

Windows build and packaging support:

  • Added a new wheel-windows job in .github/workflows/build-wheel.yml to build, test, and upload Windows wheels for both x64 and ARM64 architectures, including CUDA-enabled PyTorch and native dependencies.
  • Updated dependency installation to use a specific setuptools version range for compatibility.

Source code cross-platform compatibility:

  • Refactored C++ source files (mapped_file.h, nvrtc_compile.cpp, patch_cubin.cpp) to support Windows, including conditional compilation for file mapping, dynamic library loading, and symbol exporting. [1] [2] [3] [4] [5] [6] [7] [8]
  • Updated device_info.cpp to handle zero memory bus width on Windows ARM64 SM121 GPUs by providing reference values and emitting a warning.

Python build system improvements:

  • Refactored humming/build.py to use Windows-specific build logic, select appropriate compiler/linker options, and generate platform-appropriate artifact names. [1] [2] [3] [4]
  • Added Windows-specific compiler flags in jit/compiler.py.

Documentation updates:

  • Expanded the README.md with detailed Windows installation and build instructions for both x64 and ARM64, including CUDA/PyTorch prerequisites, troubleshooting, and workflow explanations.

These changes collectively enable seamless Windows support for Humming, covering both user installation and development workflows.

@chinazhangchao
chinazhangchao marked this pull request as ready for review October 15, 2026 00:27

@jinzhen-lin jinzhen-lin left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding Windows support to Humming. However, I still need some time to think things through.

Comment thread README.md
chinazhangchao and others added 6 commits October 15, 2026 14:38
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Signed-off-by: Chao Zhang <zhangchao@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants