-
Notifications
You must be signed in to change notification settings - Fork 66
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 support for Python 3.12 #719
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
4c2084b
Add support for Python 3.12
jameslamb 771d52c
Merge branch 'branch-24.10' into python-3.12
bdice 821b333
Rerun CI.
bdice e6c46c2
Fix @@ typo.
bdice 54fc85f
rerun CI
jameslamb 189f753
temporarily pin pyogrio and tiledb
jameslamb 57edada
try preventing the solver from falling back to older RAPIDS libraries
jameslamb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks to me like it's taking FOREVER (2+ hours) for conda to solve the runtime environment for the
rapids
package on Python 3.12.I strongly suspect that the root cause is "RAPIDS is pinned to an old range of
fmt
/spdlog
versions that causes the solver to have to backtrack a lot to find older versions of spatial dependencies".The same issue we saw in rapidsai/cuspatial#1453 (comment).
I found that when I explicitly pinned
pyogrio
andtiledb
to versions that were successfully found in recentcuspatial
conda test jobs (build link), I can get a successful solve in just a few minutes.I think doing that here should be ok... this is just helping the solver get to a workable solution faster, and it could be removed once we update the
fmt
/spdlog
pins across RAPIDS (which is in-progress in rapidsai/build-planning#56 and will hopefully be done within the 24.10 release).Tried the following, pinning a bunch of RAPIDS libraries to their latest nightly versions (to avoid backtracking to other pre-Python-3.12 nightlies), on an x86_64 machine with CUDA 12.2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With just the
tiledb
+pyogrio
pins alone here, I still saw 3 of the 4 Python 3.12 builds not making progress after 45 minutes. Just pushed 57edada putting floors on all the RAPIDS libraries, to see if preventing the solver from falling back to earlier nightlies helps.It should cut the search space significantly, I hope... there have been 320
cudf
releases within the 24.10 cycle so far, for example.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the combination of those two changes helped!
conda
was able to solve the runtime environment for all the environments we test here: https://github.com/rapidsai/integration/actions/runs/10891738111/job/30223298780?pr=719.In a manageable amount of time:
(amd64, 3.12, 11.8.0, ubuntu22.04)
= 30m33s(amd64, 3.12, 12.5.1, ubuntu22.04)
= 17m36s(arm64, 3.12, 11.8.0, ubuntu22.04)
= 23m08s(arm64, 3.12, 12.5.1, ubuntu22.04)
= 19m39s