mirror of
https://github.com/NVIDIA/dgx-spark-playbooks.git
synced 2026-04-23 02:23:53 +00:00
190 lines
7.3 KiB
Markdown
190 lines
7.3 KiB
Markdown
# Contributing to DGX Spark Playbooks
|
|
|
|
Thank you for your interest in contributing to the DGX Spark Playbooks! This repository provides step-by-step guides for AI/ML workloads on NVIDIA DGX Spark devices, and we welcome contributions from the community.
|
|
|
|
## Table of Contents
|
|
|
|
- [Getting Started](#getting-started)
|
|
- [Types of Contributions](#types-of-contributions)
|
|
- [Issue Tracking](#issue-tracking)
|
|
- [Playbook Guidelines](#playbook-guidelines)
|
|
- [License](#license)
|
|
- [Pull Requests](#pull-requests)
|
|
- [Signing Your Work](#signing-your-work)
|
|
- [Questions?](#questions)
|
|
|
|
|
|
## Types of Contributions
|
|
|
|
We welcome the following types of contributions:
|
|
|
|
### 🆕 New Playbooks
|
|
- Step-by-step guides for AI/ML frameworks not yet covered
|
|
- Optimization techniques for existing frameworks
|
|
- Integration guides between multiple tools
|
|
- Performance benchmarking tutorials
|
|
|
|
### 📝 Documentation Improvements
|
|
- Corrections to existing playbooks
|
|
- Additional troubleshooting sections
|
|
- Enhanced examples and code snippets
|
|
- Better explanations of complex concepts
|
|
|
|
### 🐛 Bug Fixes
|
|
- Corrections to incorrect commands or configurations
|
|
- Updates for deprecated software versions
|
|
- Fixes to broken links or references
|
|
|
|
### 🔧 Infrastructure Improvements
|
|
- Templates for new playbooks
|
|
- CI/CD improvements
|
|
- Repository organization enhancements
|
|
|
|
## Issue Tracking
|
|
|
|
We use GitHub Issues to track bugs, feature requests, and general discussions about the DGX Spark Playbooks.
|
|
|
|
### Before Opening an Issue
|
|
|
|
1. **Search existing issues** to avoid duplicates
|
|
2. **Test on the latest version** of DGX Spark software
|
|
3. **Gather system information** (DGX Spark version, hardware config, etc.)
|
|
|
|
### Bug Reports
|
|
|
|
When reporting bugs, please include:
|
|
|
|
```markdown
|
|
**Playbook**: [Name of the affected playbook]
|
|
**DGX Spark Version**: [e.g., 24.10]
|
|
**Hardware**: [GPU model, memory, etc.]
|
|
**Steps to Reproduce**:
|
|
1. Step one
|
|
2. Step two
|
|
3. ...
|
|
|
|
**Expected Behavior**: [What should happen]
|
|
**Actual Behavior**: [What actually happens]
|
|
**Error Messages**: [Full error messages and logs]
|
|
**Additional Context**: [Screenshots, related issues, etc.]
|
|
```
|
|
|
|
### Feature Requests
|
|
|
|
For new playbook requests or enhancements:
|
|
|
|
```markdown
|
|
**Feature Type**: [New Playbook / Enhancement / Integration]
|
|
**Framework/Tool**: [Name and version]
|
|
**Use Case**: [Why this would be valuable]
|
|
**Priority**: [High / Medium / Low]
|
|
**Additional Context**: [Links, examples, related work]
|
|
```
|
|
|
|
### Issue Labels
|
|
|
|
We use the following labels to categorize issues:
|
|
|
|
- `bug`: Something isn't working correctly
|
|
- `enhancement`: New feature or improvement request
|
|
- `documentation`: Documentation improvements
|
|
- `new-playbook`: Request for a new playbook
|
|
- `help-wanted`: Community contributions welcome
|
|
- `good-first-issue`: Suitable for newcomers
|
|
- `duplicate`: Duplicate of existing issue
|
|
- `invalid`: Issue is not valid or off-topic
|
|
- `wontfix`: Issue will not be addressed
|
|
|
|
|
|
## Playbook Guidelines
|
|
|
|
For detailed information on creating high-quality playbooks, please refer to [PLAYBOOK-GUIDELINES.md](PLAYBOOK-GUIDELINES.md). This document covers:
|
|
|
|
- Directory structure requirements
|
|
- README.md templates and content standards
|
|
- Code and script guidelines
|
|
- Asset organization
|
|
- Testing requirements
|
|
- Maintenance guidelines
|
|
|
|
## License
|
|
|
|
By contributing to this project, you agree that your contributions will be licensed under the same license as the project. See [LICENSE](LICENSE) for details.
|
|
|
|
#### Pull Requests
|
|
Developer workflow for code contributions is as follows:
|
|
|
|
1. Developers must first [fork](https://help.github.com/en/articles/fork-a-repo) the [upstream](https://github.com/nvidia/dgx-spark-playbooks) DGX Spark Playbook repository.
|
|
|
|
2. Git clone the forked repository and push changes to the personal fork.
|
|
|
|
```bash
|
|
git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git TensorRT
|
|
# Checkout the targeted branch and commit changes
|
|
# Push the commits to a branch on the fork (remote).
|
|
git push -u origin <local-branch>:<remote-branch>
|
|
```
|
|
|
|
3. Once the code changes are staged on the fork and ready for review, a [Pull Request](https://help.github.com/en/articles/about-pull-requests) (PR) can be [requested](https://help.github.com/en/articles/creating-a-pull-request) to merge the changes from a branch of the fork into a selected branch of upstream.
|
|
* Exercise caution when selecting the source and target branches for the PR.
|
|
Note that versioned releases of TensorRT OSS are posted to `release/` branches of the upstream repo.
|
|
* Creation of a PR creation kicks off the code review process.
|
|
* Atleast one TensorRT engineer will be assigned for the review.
|
|
* While under review, mark your PRs as work-in-progress by prefixing the PR title with [WIP].
|
|
|
|
4. Since there is no CI/CD process in place yet, the PR will be accepted and the corresponding issue closed only after adequate testing has been completed, manually, by the developer and/or TensorRT engineer reviewing the code.
|
|
|
|
|
|
#### Signing Your Work
|
|
|
|
* We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
|
|
|
|
* Any contribution which contains commits that are not Signed-Off will not be accepted.
|
|
|
|
* To sign off on a commit you simply use the `--signoff` (or `-s`) option when committing your changes:
|
|
```bash
|
|
$ git commit -s -m "Add cool feature."
|
|
```
|
|
This will append the following to your commit message:
|
|
```
|
|
Signed-off-by: Your Name <your@email.com>
|
|
```
|
|
|
|
* Full text of the DCO:
|
|
|
|
```
|
|
Developer Certificate of Origin
|
|
Version 1.1
|
|
|
|
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
|
1 Letterman Drive
|
|
Suite D4700
|
|
San Francisco, CA, 94129
|
|
|
|
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
|
```
|
|
|
|
```
|
|
Developer's Certificate of Origin 1.1
|
|
|
|
By making a contribution to this project, I certify that:
|
|
|
|
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
|
|
|
|
(b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
|
|
|
|
(c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
|
|
|
|
(d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
|
|
```
|
|
|
|
## Questions?
|
|
|
|
If you have questions about contributing, please:
|
|
1. Check existing [GitHub Discussions](../../discussions)
|
|
2. Review this contributing guide thoroughly
|
|
3. Open a new discussion with the "Contributing" category
|
|
4. Tag maintainers if you need urgent assistance
|
|
|
|
Thank you for helping make DGX Spark more accessible to the AI/ML community! 🚀
|