Repository navigation
Fix native Windows CUDA compilation - #26
Open
chinazhangchao wants to merge 3 commits into
Open
chinazhangchao wants to merge 3 commits into
chinazhangchao wants to merge 3 commits into
Conversation
Adapt and refine the DeepSelect fixes from vortex-captain/vllm-windows commit 7d75d7f4917e4e248860fb19ec66c7ea9b25fa15. Centralize portable 128-bit payload construction while preserving the Linux PTX path. Avoid the CUTLASS host-adapter dependency through narrower CuTe includes instead of modifying the submodule. Select native Windows build flags, driver linkage, and CUDA tool paths, and add compilation and build-configuration regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
chinazhangchao
marked this pull request as ready for review
October 21, 2026 08:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi @interestingLSY , I'm from Microsoft and recently I'm working on improving Windows ARM64 ecosystem support.
So I adds native Windows CUDA support. Could you please help to review? Thanks.
This pull request adds robust support for Windows CUDA builds, improves platform detection, and introduces a portable 128-bit payload type for CUDA kernels. It ensures correct compiler and linker flags for both Windows and Linux, provides clear build instructions, and adds comprehensive tests for CUDA build portability and platform-specific logic.
Platform portability and build improvements:
README.md, including requirements, environment setup, and testing steps.setup.pyto detect Windows vs. Linux, set appropriate compiler flags, library directories, and handle CUTLASS submodule checks. Now supports both platforms with correct arguments and error handling. [1] [2] [3]tests/kernelkit/platform.pyto use PyTorch's CUDA availability instead of relying onlspci, making it cross-platform and not dependent on system tools. [1] [2]tests/kernelkit/build.pyto use the correct executable (cuobjdump.exeon Windows,cuobjdumpon Linux).CUDA kernel portability and 128-bit payload handling:
int128_ttype inkerutils/device/cuda/common.h, usingint4on MSVC (Windows) and__int128_telsewhere, with a helper function for construction. Updated all relevant CUDA kernels and helpers to use this type for 128-bit shared memory operations, ensuring correct alignment and compatibility across compilers. [1] [2] [3] [4] [5] [6] [7] [8]Testing and validation:
tests/cuda_portability.cuto verify 128-bit payload storage, retrieval, and round-trip correctness across platforms and compilers.tests/test_cuda_build.pyto test setup arguments, CUTLASS submodule checks, explicit CUDA targeting without a GPU, and platform-specific tool paths, ensuring the build system behaves correctly on both Windows and Linux.