Skip to main content

A low level hardware debugger

Project description

TT-Lensium :tm:

A low-level hardware debugger

ttnn logo

Ask DeepWiki PyPI

A low-level debugging tool for Tenstorrent hardware that enables direct access to and communication with Wormhole and Blackhole devices.


Quickstart

You can install latest published version with:

pip install tt-exalens

Or specific version with:

pip install tt-exalens=="x.y.z"

Alternatively, you can install the latest code from GitHub with:

pip install git+https://github.com/tenstorrent/tt-exalens.git

The CLI application can be run by invoking the tt-exalens command after installing the wheel.

Running the CLI application

The CLI application can be run via the tt-exalens.py script or by invoking the tt-exalens command after installing the wheel.

The application supports both local and remote device access. For remote connections, a server instance must be started using the same application.

A GDB server can be launched, enabling stepping, breakpoints, and other debugging features via a GDB client.

For more usage information, refer to the tutorial or the documentation.

Using library

The application functionality is also available through the ttexalens Python library, enabling you to create custom scripts that interact with Tenstorrent hardware.

For a quick start with the library, check out the tutorial. Full documentation is also available here.

Development

Setting up environment

The recommended way to manage dependencies is by creating a virtual environment with:

./scripts/create-venv.sh

To activate the created environment, use:

.venv/bin/activate

Alternatively, you can use your existing environment and just install dependencies with:

./scripts/install-deps.sh

Testing

Test requirements

The following dependencies are required to build the necessary kernels:

  • ninja-build,
  • cmake
  • make

Running tests

The easiest way to run all tests locally is by using the make wrapper from the project root directory:

make test

This command will build dependencies, run all tests, create the wheel, and run wheel tests.

If you don't need all of these steps, you can run them manually:

# Compile kernels that tests use
make

# Install runtime dependencies
pip install -r ttexalens/requirements.txt

# Install test dependencies
pip install -r test/test_requirements.txt

# Run library tests
pytest test/ttexalens

# Run CLI application tests
pytest test/app

If you're developing with VSCode (or its derivatives), you can use the Testing extension. Install the Python extension to enumerate all tests within the Testing tab in the activity bar.

Updating documentation

Library documentation is automatically generated from source code docstrings. To update the library documentation, run the following command in your development environment:

make docs

in the project root. For more advanced use cases, refer to the source code of the documentation generation scripts, located in docs/bin.

Static checks

Pre-commit

We have defined various pre-commit hooks that check the code for formatting, licensing issues, etc.

To install pre-commit, run the following command:

pip install pre-commit

After installing pre-commit, you can install the hooks by running:

pre-commit install

Now, each time you run git commit the pre-commit hooks (checks) will be executed.

If you have already committed before installing the pre-commit hooks, you can run on all files to "catch up":

pre-commit run --all-files

For more information visit pre-commit

mypy

We use mypy for static code analysis.

You can use the make wrapper to execute it with:

make mypy

Or run it directly from your development environment with:

mypy

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_x86_64.whl (886.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_aarch64.whl (857.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_x86_64.whl (886.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_aarch64.whl (857.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_x86_64.whl (886.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_aarch64.whl (858.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_x86_64.whl (886.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_aarch64.whl (858.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

Details for the file tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0564c3bfedc0f1e441cb9667eb7ff141007bf365a7f8ebd5639f6635e059c18d
MD5 10793cff801b73000bad5bcc349e129d
BLAKE2b-256 3eb63f7ffea3a96c0bbb744045ce29aa6bfcd97bc07859af76eba290ac26581f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 56a711c4ef19f1f58032cd0fcf9dccc5454bc6c40d1056ecdf85f7a3ed7dce78
MD5 cb5b53486e7c2ae2e82ce03d24dcb681
BLAKE2b-256 4c33b972b22e9aba373391a0595b0cff738494fc1b57ef3151c9bb4cbf00cd37

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp313-cp313-manylinux_2_34_aarch64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2ef0962acc6a0a4e8c8c7462a47a61df34bbd78240e5e17b8c3dc0a16de97045
MD5 ea217ffa967f21cde36993f9b1fdc181
BLAKE2b-256 e268826b62f02d1abc622fd6e3b77f59d99eda1a05be5515ebe557c16fac7bd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 372300ae0467e6191b326ba344370b3ead12064cda98a8dd00a3727a9ac2696a
MD5 6248fe206b5c1ba7fc1cdbd9dadd4ecd
BLAKE2b-256 38edfa8252dfe15fe6facdf6e867b1b4280a4b70eb1206972f1ac2b70f07946f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b315084406ff5ebb59bb92d54d7de9d7d65c1d2be7f25bf7f3a4fdbbc1d739d7
MD5 2168f137c691f62ef3d854494da8fbbc
BLAKE2b-256 385a9af93bf73b13f99f3800236ea48fddb0a0505d3579fbc34aa6ab28d76391

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 adc3bf6fe526f704cc864a26afccb65870b1f95b97332abb77d183b519f6fbb6
MD5 f2735fbd3c47235c16e208a8c2129def
BLAKE2b-256 f815922354813ca4c202a6d72b88c1e4b76eb74e7bd442342ebb795c859c33f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c4852f58921cc4e0b436a8eba985a6e2c10572339b30c2fd5fcf7b3081f6af97
MD5 6c11423d3d4f8872e4af221b6b3b8b33
BLAKE2b-256 30c42e03c37cc07b20e73c406e74e9555896e399b998c02cb42966b5713563c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 9e8abc7c9666f02ae9395c6a0e77e607f0ece74bd83bb8571dc461e797d3b53c
MD5 d08a5586f9f4b7d20a743eabf2cd8b45
BLAKE2b-256 f968d6b7ef915b703e0877800f850f6241277144e9ae704470d6375ff41426e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.22-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: release-version.yml on tenstorrent/tt-exalens

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page