Skip to content

Disable notebook execution for cuda.bindings #424

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

Merged
merged 2 commits into from
Jan 30, 2025

Conversation

vzhurba01
Copy link
Collaborator

@vzhurba01 vzhurba01 commented Jan 29, 2025

close #327

One of the benefits of using the myst_nb extension is that it enables you to execute code cells inside your markdown docs! By enabling code execution as part of doc builds, the consequences are that the build machines inherit new dependencies unique to those code cells. There's a natural trade-off where more detailed test cases impose more complexity to build dependencies.

This feature is used by cuda.bindings to make sure that the CUDA Python workflow guide remains valid and executable for any user who tries running it them selves. Issue #326 points out that this guide adds the dependency that build machines must have a GPU and a valid driver.

This is a rather heavy requirement because machines with GPUs are limited and are a shared resources across all CUDA Python projects. Most updates to documentation happens during a new release, and as demonstrated by the 12.8 release this is also when GPU machines are the least available. The lack of velocity in submitting updates and patching issues results in a sluggish release, motivating a change to the workflow guide or to disable notebook execution all together.

This PR elects to disable notebook execution. The workflow guide provides an end-to-end experience with details on why certain code patterns are used and how they relate to CUDA concepts. If the GPU specific sections were to be striped, the already non-intuitive low-level bindings would make it even harder to be digested by Python users. The silver lining from removing the validity check is that both Driver and NVRTC modules that are used by the workflow guide have very stable ABIs. The risk of having these code cells breaking with new cuda.binding release is minimal.

@vzhurba01 vzhurba01 self-assigned this Jan 29, 2025
Copy link
Contributor

copy-pr-bot bot commented Jan 29, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@vzhurba01 vzhurba01 marked this pull request as draft January 29, 2025 18:53
@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01 vzhurba01 changed the title no nb execution Jan 29, 2025
@vzhurba01 vzhurba01 force-pushed the 327-no-nb-execution branch from 63c7293 to d944740 Compare January 29, 2025 20:40
@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01 vzhurba01 added documentation Improvements or additions to documentation P1 Medium priority - Should do CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module labels Jan 29, 2025

This comment has been minimized.

@vzhurba01 vzhurba01 force-pushed the 327-no-nb-execution branch from d944740 to 18d3f92 Compare January 29, 2025 21:08
@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01 vzhurba01 force-pushed the 327-no-nb-execution branch from 18d3f92 to faf248b Compare January 29, 2025 21:31
@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01 vzhurba01 marked this pull request as ready for review January 29, 2025 21:32
@vzhurba01 vzhurba01 requested a review from leofang January 29, 2025 21:33
@vzhurba01
Copy link
Collaborator Author

vzhurba01 commented Jan 29, 2025

After submission of this PR and PR #398 we can switch to a non-GPU machine runner.

@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01
Copy link
Collaborator Author

/ok to test

@vzhurba01
Copy link
Collaborator Author

Enabling auto-merge

@vzhurba01 vzhurba01 enabled auto-merge January 30, 2025 23:28
@vzhurba01 vzhurba01 merged commit 1816bb4 into NVIDIA:main Jan 30, 2025
69 checks passed
Copy link

Doc Preview CI
Preview removed because the pull request was closed or merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD CI/CD infrastructure cuda.bindings Everything related to the cuda.bindings module documentation Improvements or additions to documentation P1 Medium priority - Should do
2 participants