conda-forge / cupy-feedstock

A conda-smithy repository for cupy.
BSD 3-Clause "New" or "Revised" License
5 stars 23 forks source link

Build for Windows + CUDA 12 #228

Closed conda-forge-admin closed 11 months ago

conda-forge-admin commented 11 months ago

Close #205.

Hi! This is the friendly automated conda-forge-webservice.

I've started rerendering the recipe as instructed in #205.

If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!

Here's a checklist to do before merging.

conda-forge-webservices[bot] commented 11 months ago

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

leofang commented 11 months ago

@conda-forge-admin, please rerender

github-actions[bot] commented 11 months ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/cupy-feedstock/actions/runs/6733459902.

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

It seems conda-smithy would ignore the local migrator if it's already included in the pinning feedstock. Changes made are either no effect or ruining everything. Let me prepare a new migrator..

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

@conda-forge-admin, please rerender

github-actions[bot] commented 11 months ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/cupy-feedstock/actions/runs/6734359406.

leofang commented 11 months ago

@jakirkham for some reason I can't convince conda-smithy to generate the Windows + CUDA 12 CI configs, am I missing something?

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

OK use_local was what I missed... Back to the game now.

leofang commented 11 months ago

@jakirkham @adibbley I hit this error

CUDA '12.0' is not supported

on Windows because of this line: https://github.com/conda-forge/conda-forge-ci-setup-feedstock/blob/5406ead25c4d208b767ec5c893ec4642bf0a03eb/recipe/install_cuda.bat#L29

I think we need some extra logic applied to the ci-setup feedstock before I can even start doing experiments, would it be acceptable?

jakirkham commented 11 months ago

@conda-forge-admin , please re-render

jakirkham commented 11 months ago

Thanks Leo! 🙏

For reference am looking at this feature in conda-smithy

jakirkham commented 11 months ago

Am seeing this error (on CI):

```python conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform win-64: {MatchSpec("cuda-profiler-api"), MatchSpec("cuda-cudart==12.0.107=h63175ca_6"), MatchSpec("cuda-cudart-dev==12.0.107=h63175ca_6"), MatchSpec("cuda-driver-dev")} ```

Looks like we are missing cuda-profiler-api, which is being worked on here: https://github.com/conda-forge/cuda-profiler-api-feedstock/pull/2

Also cuda-driver-dev is Linux only (so will need to update the selectors on that)

leofang commented 11 months ago

@conda-forge-admin, please rerender

github-actions[bot] commented 11 months ago

Hi! This is the friendly automated conda-forge-webservice.

I tried to rerender for you, but it looks like there was nothing to do.

This message was generated by GitHub actions workflow run https://github.com/conda-forge/cupy-feedstock/actions/runs/6738536152.

leofang commented 11 months ago

I'll fix the build system patch to make it applicable to windows too.

leofang commented 11 months ago

@jakirkham is it expected that win + cuda 11 fails, because we hacked the ci-setup script?

leofang commented 11 months ago

My suggested plan:

  1. Get the compiler package fixed: https://github.com/conda-forge/cuda-nvcc-feedstock/issues/29
  2. Upstream the ci-setup change: https://github.com/conda-forge/conda-forge-ci-setup-feedstock/pull/292
  3. Get the migrator update merged: https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/5121
  4. Rerun the CI and merge after it's green.
jakirkham commented 11 months ago

Would prefer that we have a Windows + CUDA 12 migrator in place before we start merging feedstock PRs

leofang commented 11 months ago

@jakirkham Ah, yes. Could you plz review the migrator I added to this PR?

jakirkham commented 11 months ago

Thanks Leo! 🙏

Generally that seems reasonable

Am wondering if it would be preferable to roll the CUDA 12 Windows migrator in with the rest of the CUDA 12 migration to keep everything in sync. That way when the migrator is closed out, we can add CUDA 12 support across the board to conda-forge CUDA matrix (as opposed to only adding some OSes/architectures initially and then later adding others)

Tried the latter in PR ( https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/5121 ). In attempting to re-render this PR with that migrator, everything seemed to work here as-is. Please see commit ( https://github.com/jakirkham-feedstocks/cupy-feedstock/commit/2d39557155d3177f3c68f487c2756850e665ddb9 ) for details

What do you think?

leofang commented 11 months ago

That sounds good, I actually did the unified migrator first, but back then I was confused by why the CI configs didn't show up after migration. Now that I understand / recall how things work, we can do that no problem.

One minor concern is that for feedstocks already migrated, they'd see another bot PR which could be confusing?

jakirkham commented 11 months ago

Yeah even with a new migrator, they would get a new PR

The bot isn't always smart enough to pick up on skips (so could wind up making some cosmetic changes like reordering conda-forge.yml)

Did try to update the migrator PR title to draw attention to the addition of Windows

We could also mention this in the webpage repo issue as we did with ARM to help broadcast this a bit more

jakirkham commented 11 months ago

@conda-forge-admin , please re-render

jakirkham commented 11 months ago

Some of the Windows CUDA 12 jobs timed out when creating the .conda package after the build. Going to try restarting them

jakirkham commented 11 months ago

@conda-forge-admin, please re-render

jakirkham commented 11 months ago

FWIW just testing to see that the conda-forge-ci-setup changes are working as expected. So far so good

jakirkham commented 11 months ago

FWIW started PRs to update some dependencies for CUDA 12 Windows:

leofang commented 11 months ago

Let me apply the migrator here, wait for all dependencies to be ready, and then squash-merge.

leofang commented 11 months ago

@conda-forge-admin, please rerender

leofang commented 11 months ago

It'd take some time to get the CDN sync'd, given the cudnn PR just got merged (https://github.com/conda-forge/cudnn-feedstock/pull/66).

github-actions[bot] commented 11 months ago

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

Thus the PR was passing and merged! Have a great day!