Skip to content

Support Windows builds - #2

Open
LucasBoTang wants to merge 2 commits into
mainfrom
fix/windows-cmake
Open

LucasBoTang wants to merge 2 commits into
mainfrom
fix/windows-cmake

Conversation

@LucasBoTang

Copy link
Copy Markdown
Collaborator

Windows builds fail because GCC warning flags are passed directly to nvcc, C11 thread-local storage is compiled in C99 mode, and CUDA 13 requires the conforming MSVC preprocessor.

This fixes those build settings, enables Windows DLL exports and installs the import library. The CLI is disabled with MSVC because it depends on POSIX headers. Two existing tests are also adjusted for Windows: environment variable handling and kernel declarations that must match their definitions.

The CUDA 13 preprocessor fix follows MIT-Lu-Lab/cuPDLPx#113. CI now covers the same seven CUDA versions on Linux and Windows: 12.4, 12.5, 12.6, 12.8, 12.9, 13.0 and 13.1. Both platforms run CPU tests and build and test the Python package on CUDA 13.1; the remaining versions check compilation and linking.

Local validation:

  • Windows, CUDA 12.4 and 13.4: all 17 CTest tests passed on each version.
  • Windows, CUDA 13.4: all 144 Python tests passed, including GPU tests.
  • Windows, CUDA 13.4: Debug build and an external C program linked against the installed DLL passed.
  • Linux/WSL2, CUDA 13.3: all 19 CTest tests passed, including CLI and GPU tests.
  • The updated workflow passed actionlint.

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.

1 participant