Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Windows wheel build for x86_64 platform #765

Open
wants to merge 1 commit into
base: branch-24.10
Choose a base branch
from

Conversation

gigony
Copy link
Contributor

@gigony gigony commented Aug 20, 2024

Addresses #763

This PR builds the wheel for Windows (only for amd64) if the current arch is x86_64, by updating build_wheel.sh.

Since CI is building the wheel with multiple configurations, it is currently generating the same Windows wheel for both Python 3.10 and 3.11 (resulting in four identical Windows wheels for both cucim-cu11 and cucim-cu12 PyPI registry).

Currently, there is no way to determine if the build is using the latest available Python version from build_wheel.sh. It can be controlled by updating the CI workflow, but we'll need help from the DevOps team.

The Windows wheel size is around 700KB, and hopefully, the redundant wheel files across multiple configurations won't cause any issues when registering them to PyPI from the S3 location (such as this).

@gigony gigony added feature request New feature or request non-breaking Introduces a non-breaking change labels Aug 20, 2024
@gigony gigony self-assigned this Aug 20, 2024
@gigony gigony requested a review from a team as a code owner August 20, 2024 22:43
@gigony gigony requested a review from jameslamb August 20, 2024 22:43
@gigony gigony force-pushed the support_windows_wheel branch 4 times, most recently from 5727f4d to 06b46a6 Compare August 21, 2024 00:02
@gigony
Copy link
Contributor Author

gigony commented Aug 21, 2024

I can see windows wheels are available here: https://downloads.rapids.ai/ci/cucim/pull-request/765/2ec710e/

@grlee77
Copy link
Contributor

grlee77 commented Aug 26, 2024

Thanks @gigony,

I downloaded the Python 3.10 artifacts from the link you provided and installed the cucim_cu12-24.10.0a9-py3-none-win_amd64.whl in a Python 3.10 environment on a Windows 11 system with an RTX A3000 GPU and CUDA Toolkit 12.6 installed.

I used a Python 3.10 conda environment with NumPy 1.26.4 and CuPy 13.3.0 (cupy_cuda12x installed via pip). This was in native Windows 11 (not WSL). I ran the test suites for cucim.core and cucim.skimage and almost all test cases pass.

The only failures were in a small number of tests internal 2D separable filtering kernels that are not part of CuPy. I will make a separate MR to disable using these cuCIM kernels on Windows and always fall back to the default CuPy elementwise kernels on Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request non-breaking Introduces a non-breaking change
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants