-
Notifications
You must be signed in to change notification settings - Fork 67
Initial sphinx documentation for NvFuser #5212
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
base: main
Are you sure you want to change the base?
Conversation
Review updated until commit c452481 Description
Changes walkthrough 📝
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
!build |
I'm not familiar with Sphinx enough to review this PR, but is it possible to host the doc somewhere and make it automatically updated? Can we use Github pages? |
Similar to Naoya's question, what's the overhead of maintaining these docs? Do you expect
to be run automatically after each Python API change? |
Some thoughts for reviewers:
I don't know much about hosting the docs on an Nvidia site. This is TBD once the docs are polished. I'd imagine we'd need some third-party review before posting it.
@xwang233 has a Gitlab pipeline to push NvFuser pip wheels. I think we can do something similar for the docs. Furthermore, we can push major releases each quarter. |
generating document with sphinx is lightweight, we can add a GitHub CI action on main branch and it will rebuild doc after every commit. If we want to host the doc in public, the easiest solution is to use GitHub pages from this repo. Should be easy to do, not a problem. |
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.
LGTM!
Our Python API docs are currently inside .cpp binding files and are hard to discover by users. It makes sense to have them in webpages.
In addition, we may want to consider auto-generating .pyi files. This way, IDEs like Cursor can resolve Python APIs in nvFuser and show the docs too. See http://nv/eWh for an earlier discussion.
Hosting documentation for NvFuser would make public adoption easier. Sphinx documentation is used for many projects at Nvidia including TransformerEngine and Cutlass. This PR takes the docstrings for the direct binding python API and Github markdown files in docs folder and packages them with Sphinx. The Sphinx template style is based on
TransformerEngine
.Instructions for building documentation locally
pip install --upgrade Sphinx myst-parser cd docs/sphinx make html
Future TODO
Top-Level Preview