Skip to content

README: enhance build instructions#6047

Open
nvswarren wants to merge 2 commits into
NVIDIA:mainfrom
nvswarren:swarren-readme
Open

README: enhance build instructions#6047
nvswarren wants to merge 2 commits into
NVIDIA:mainfrom
nvswarren:swarren-readme

Conversation

@nvswarren

Copy link
Copy Markdown
Collaborator
  • Add much more information about installing build dependencies.
  • Fix the verification command to use the actual Python module name,
    so that verification succeeds.

@greptile-apps

greptile-apps Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR significantly expands the README build instructions with step-by-step guidance for system dependencies, CUDA environment setup, Python virtual environments, and additional pip packages, and also fixes the verification command to use the correct module name nvfuser_direct.

  • Adds detailed apt-get install steps for CUDA toolkit, cuDNN, and dev libraries, plus a heredoc-based CUDA env-var setup block (now correctly using a quoted delimiter).
  • Expands the Python dependency section with extra pip install commands for build-time and test-time packages, and separates transformer_engine into its own --no-build-isolation invocation.
  • Adds venv to .gitignore to match the newly-recommended virtualenv venv workflow.

Confidence Score: 5/5

Documentation-only change with no runtime code affected; safe to merge after minor wording and flag fixes.

All changes are to README.md and .gitignore. The build instructions are substantially improved and the quoted heredoc delimiter correctly prevents unwanted variable expansion. The only findings are two spelling typos and a missing -y flag on a second apt-get install block — none of these block correct usage for an interactive reader.

README.md — two suite/suit typos and the missing -y on the cuDNN apt-get install block.

Important Files Changed

Filename Overview
README.md Large expansion of build instructions: adds system dependencies, CUDA env setup, virtualenv creation, additional pip packages, and GPU architecture selection; fixes verification command module name. Two "suite"→"suit" typos and one missing -y flag on apt-get install.
.gitignore Adds venv to gitignore — correctly matches the virtual environment directory name used in the new README instructions.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Clone repo with --recursive] --> B[Install system deps\napt-get: build-essential cmake\ncuda-toolkit llvm-dev etc]
    B --> C[Install cuDNN packages\nwith pinned versions]
    C --> D[Set up CUDA env vars\nin ~/.bashrc via quoted heredoc]
    D --> E[Create Python venv\nvirtualenv venv]
    E --> F[pip install -r requirements.txt]
    F --> G[pip install setuptools wheel numpy torch]
    G --> H[pip install test packages\ntvm-ffi pytest transformers etc]
    H --> I[pip install --no-build-isolation\ntransformer_engine pytorch]
    I --> J{Building in Docker?}
    J -- Yes --> K[Export TORCH_CUDA_ARCH_LIST]
    J -- No --> L[Build nvFuser\npip install --no-build-isolation -e python]
    K --> L
    L --> M[Verify: import nvfuser_direct as nvfuser]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Clone repo with --recursive] --> B[Install system deps\napt-get: build-essential cmake\ncuda-toolkit llvm-dev etc]
    B --> C[Install cuDNN packages\nwith pinned versions]
    C --> D[Set up CUDA env vars\nin ~/.bashrc via quoted heredoc]
    D --> E[Create Python venv\nvirtualenv venv]
    E --> F[pip install -r requirements.txt]
    F --> G[pip install setuptools wheel numpy torch]
    G --> H[pip install test packages\ntvm-ffi pytest transformers etc]
    H --> I[pip install --no-build-isolation\ntransformer_engine pytorch]
    I --> J{Building in Docker?}
    J -- Yes --> K[Export TORCH_CUDA_ARCH_LIST]
    J -- No --> L[Build nvFuser\npip install --no-build-isolation -e python]
    K --> L
    L --> M[Verify: import nvfuser_direct as nvfuser]
Loading

Reviews (5): Last reviewed commit: "README: add more dependencies for runnin..." | Re-trigger Greptile

Comment thread README.md Outdated
* Add much more information about installing build dependencies.
* Fix the verification command to use the actual Python module name,
  so that verification succeeds.

@kevinstephano kevinstephano left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good to me.

@zasdfgbnm

Copy link
Copy Markdown
Collaborator

!build

@nvswarren

Copy link
Copy Markdown
Collaborator Author

It looks like the nvfuser-ci job failed/hung.

@nvswarren

Copy link
Copy Markdown
Collaborator Author

I added some more notes re: running tests, since the CI failed for the previous push anyway. Even if CI continues to fail, at least these notes will be recorded in this PR, so people may be able to find them:-)

Comment thread README.md
Comment on lines +196 to +199
thunder \
transformers \
pip install \
--no-build-isolation transformer_engine[pytorch]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 The trailing backslash on the transformers line causes shell line continuation, so the second pip install and its arguments are concatenated onto the first command. The shell sees one long command: pip install apache-tvm-ffi ... transformers pip install --no-build-isolation transformer_engine[pytorch], which passes the literal strings pip, install, and --no-build-isolation as package names — the transformer_engine installation never runs as a separate command.

Suggested change
thunder \
transformers \
pip install \
--no-build-isolation transformer_engine[pytorch]
thunder \
transformers
pip install \
--no-build-isolation transformer_engine[pytorch]

@zasdfgbnm

Copy link
Copy Markdown
Collaborator

!test

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