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

install selector: Drop python 3.9 for nightlies, default to CUDA 12.5 for stable and nightly #534

Merged
merged 4 commits into from
Aug 28, 2024

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Aug 27, 2024

Contributes to rapidsai/build-planning#88.

Proposes the following changes to the install selector:

  • disabling Python 3.9 for nightlies
  • defaulting to CUDA 12.5 for stable and nightlies
  • dropping CUDA 12.2 from the Docker selector

Notes for Reviewers

How I tested this

Followed the instructions in the README. Ran locally and saw what I expected... Python 3.9 disabled when I tried selected Nightly.

Screenshot 2024-08-27 at 1 45 02 PM

But enabled when I selected Stable

Screenshot 2024-08-27 at 1 46 06 PM

@jameslamb jameslamb requested a review from a team as a code owner August 27, 2024 18:48
Copy link

netlify bot commented Aug 27, 2024

Deploy Preview for docs-rapids-ai ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit d093dbe
🔍 Latest deploy log https://app.netlify.com/sites/docs-rapids-ai/deploys/66ce1f75b020740007a391c2
😎 Deploy Preview https://deploy-preview-534--docs-rapids-ai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

conda_cuda_vers: ["11", "12"],
pip_cuda_vers: ["11.4 - 11.8", "12"],
docker_cuda_vers: ["11.8", "12.0", "12.2", "12.5"],
docker_cuda_vers: ["11.8", "12.0", "12.5"],
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

12.5 images have been available since 24.08: rapidsai/docker#689

12.2 images will be dropped in 24.10: rapidsai/docker#696

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm proposing just unconditionally dropping 12.2 for simplicity and to nudge people towards newer images.

But if reviewers disagree, I'd be happy to introduce a similar structure to what I'm proposing for Python versions, that allows the CUDA versions to differ by release. I think that'd be generically useful, just didn't add it here to limit the size of this PR.

Copy link

netlify bot commented Aug 27, 2024

Deploy Preview for docs-rapids-ai ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit e6073f3
🔍 Latest deploy log https://app.netlify.com/sites/docs-rapids-ai/deploys/66ce2845d80a980008a19c54
😎 Deploy Preview https://deploy-preview-534--docs-rapids-ai.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@@ -22,7 +22,7 @@ docker run --rm \
--volume="$PWD:/srv/jekyll" \
--publish [::1]:4000:4000 \
jekyll/jekyll \
jekyll serve
bash -c 'rm -rf ./_site && jekyll serve'
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following these testing steps as documented worked... but only the first time.

This command leaves behind a _site/ directory with file permissions showing the default user inside the container as the owner. Where that user differs from the default user on the system where you run docker run, the second attempt to run this fails like this:

chown: _site/assets/data: Permission denied
chown: _site/assets/data: Permission denied
chown: _site/assets: Permission denied
chown: _site/assets: Permission denied
chown: _site: Permission denied
chown: _site: Permission denied

Removing that directory at startup every time avoids that tiny bit of development friction.

@jakirkham
Copy link
Member

Thanks James! 🙏

This looks good

One thing that stood out is if Python 3.9 is selected for stable...

Screenshot 2024-08-27 at 11 54 12 AM

... and then nightly is picked, it still shows Python 3.9

Screenshot 2024-08-27 at 11 54 23 AM

Not sure if there is a way to fix this to move to a newer Python when selecting nightlies

Admittedly this might not be worth the trouble. Just wonder if it would cause confusion

@jarmak-nv
Copy link
Contributor

jarmak-nv commented Aug 27, 2024

... and then nightly is picked, it still shows Python 3.9

Usually I'd workaround this by adding a bit of logic in the releaseClickHandler saying if they click nightly and 3.9 is currently selected then update Python to 3.10 since it's in the same relative position (ie the lowest allowable version)

@jameslamb
Copy link
Member Author

I can add something like that.

@jameslamb
Copy link
Member Author

Ok, think I've handled that case: e6073f3

Try it out at https://deploy-preview-534--docs-rapids-ai.netlify.app/install

  1. select Stable (24.08) on the Release line
  2. select 3.9 on the Python line
  3. select Nightly (24.10a) on the Release line

You should see the following:

  • Python 3.9 grayed out, not selectable
  • Python 3.10 selected
  • python=3.10 in the conda installation instructions

Tested the same thing with Docker, that looks like it's working as well.

I've written very little JavaScript, so I have no idea if what I'm doing is performant (and I know performance can matter for search rankings). Please do let me know if there are different data structures or patterns you think I should be using.

Copy link
Member

@jakirkham jakirkham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks James! 🙏

LGTM

Let's see if Ben has any more thoughts 🙂

@jarmak-nv
Copy link
Contributor

The code changes lgtm, I like that you made a more permanent implementation vs one that would need to be removed like I suggested.

My only q - the deploy preview isn't working for me and it doesn't look like netlify is reporting an error: Error code: PR_CONNECT_RESET_ERROR

https://www.netlifystatus.com/

Has anyone been able to check it? Just want to be sure there's not something causing an issue in the selector.

@jakirkham
Copy link
Member

Yep I used the newest preview to test the installer selector to see how it behaved after the fix. It did the right thing of bumping to Python 3.10. Going back to stable it kept Python 3.10, which seems like a good approach

Am using macOS Safari and in statuses clicking netlify/docs-rapids-ai/deploy-preview, which appears to use: https://deploy-preview-534--docs-rapids-ai.netlify.app

FWIW how are you viewing the preview? Are you on a different OS or browser?

Curious just to make sure we don't have a JS bug in one context

@jarmak-nv
Copy link
Contributor

Looks like it's working for me now - (I'm on mac firefox, but yeah no issue now.)

LGTM - thanks @jameslamb

@jakirkham jakirkham merged commit 596fa7d into rapidsai:main Aug 28, 2024
5 checks passed
@jakirkham
Copy link
Member

Thanks James and Ben! 🙏

@jameslamb jameslamb deleted the drop-python-3.9 branch August 28, 2024 14:05
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.

3 participants