Skip to main content

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

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.26-cp313-cp313-manylinux_2_34_x86_64.whl (934.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.26-cp313-cp313-manylinux_2_34_aarch64.whl (899.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.26-cp312-cp312-manylinux_2_34_x86_64.whl (934.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.26-cp312-cp312-manylinux_2_34_aarch64.whl (899.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.26-cp311-cp311-manylinux_2_34_x86_64.whl (935.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.26-cp311-cp311-manylinux_2_34_aarch64.whl (900.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.26-cp310-cp310-manylinux_2_34_x86_64.whl (935.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.26-cp310-cp310-manylinux_2_34_aarch64.whl (899.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 018608b457f221baa112865eb8f4e545461912519d35c4a2cd7bad7ad0229e21
MD5 2f7096d3c114c8adebc1173585c86ebd
BLAKE2b-256 8af3d5d74c4c8e0bbb0806fc1fba0da9b0ef60c58bf611a45c53ce33a6ab3d91

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 00134ea955959d2d8344e8829d549a0290d4dd02a55c245f7127c9d9a4e34468
MD5 ea2fccb586b4239e971789fa1232dee3
BLAKE2b-256 5b2cadb373fc52bf9486aeccf2a077678a91048a2e1dfbef27d502619e3f33f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 4e54292c1d9efc1f29fb05912f385b27cecee91b3c1eaeed05ad598b0d77a6fe
MD5 87de11e9776e0e9fbd2e6601fde5cd9d
BLAKE2b-256 6a820bae4dd9d3d97714fce68a92d80237054c01f9aa6ae2a1f3af6611158031

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a8ea8072daf7e0e75473ad10efc723a6abc9ae747d8b5e802e0c450daf30fcea
MD5 0d49e05879d5764f2daf5ba7514e2215
BLAKE2b-256 1611038ff5e5ecaa44f7720036e03159b51083d3dfd33932a8b8997cd468ff02

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 45c7d4198ad4567c5d1c97b29629230a92893f12438a19de282573f4f48a3297
MD5 528dbf3b469be54477fc0616ee122ff9
BLAKE2b-256 0e116c3da4d4a7f02ed0366b870029f3672ef5ab4e89088e9beb49db2cdc458e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1ec1441aaf018f2f57fc310d1e999636d57676c2d69c1a39552b26dce3ec73b3
MD5 ee7eb14991c91ce8094888e222f69c7f
BLAKE2b-256 15c516a6ec43ca7f435f351e1b333f0c4e218786e9777eb9257d03825e4a4590

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 385680583410f7a9871dd7f4d69a2a2f743e5726a7bff5a2da50099043b52e95
MD5 11adc7090af77351fbf4a1ab4a6f69ed
BLAKE2b-256 c597a5760bd2e06455349026502d7aa6dc1be702c9cea0b90c566498bf82e237

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.26-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.26-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 30a560d3eb4df86d5426355d50036cc4cf1d082f2e9c94add95391feae9c4471
MD5 8efce300574009acea520f42a5582b78
BLAKE2b-256 59cf3f9d78290351590410749d05b3de3f323327c08b28456b537b2d5bbe68b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_exalens-0.3.26-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.

Release history Release notifications | RSS feed

0.3.31

8 files

0.3.30

8 files

0.3.29

8 files

0.3.28

8 files

0.3.27

8 files

This release

0.3.26 This release

8 files

0.3.25

8 files

0.3.24

8 files

0.3.23

8 files

0.3.22

8 files

0.3.21

8 files

0.3.20

1 file

0.3.19

1 file

0.3.18

1 file

0.3.17

1 file

0.3.16

1 file

0.3.15

1 file

0.3.14

1 file

0.3.13

1 file

0.3.12

1 file

0.3.11

1 file

0.3.10

1 file

0.3.9

1 file

0.3.8

1 file

0.3.7

1 file

0.3.6

1 file

0.3.5

1 file

0.3.4

1 file

0.3.3

1 file

0.3.2

1 file

0.3.1

1 file

0.3.0

1 file

Supported by

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