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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.31-cp313-cp313-manylinux_2_34_aarch64.whl (915.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.31-cp312-cp312-manylinux_2_34_x86_64.whl (951.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.31-cp312-cp312-manylinux_2_34_aarch64.whl (915.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.31-cp311-cp311-manylinux_2_34_x86_64.whl (951.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.31-cp311-cp311-manylinux_2_34_aarch64.whl (916.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.31-cp310-cp310-manylinux_2_34_x86_64.whl (951.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.31-cp310-cp310-manylinux_2_34_aarch64.whl (916.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b8b2823070d9a90425c757af6c9278e25e8a13c0732e6b8ccffe34dc1c7adf87
MD5 2e2379c4f9b1c01642f3241002a976b2
BLAKE2b-256 c68dc54d033fe862a048d5edd07133345a984a1c517667de09c8e94c0f0cfc19

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 f6e17c2cc38c351e86ecd281270b4a33525b1bbbe1bd8bae8ad0089f9e7d5187
MD5 41cc06290b0543caabfb2eb342773274
BLAKE2b-256 a208e4ee5ba9ae19b9a04abade47556d9c9cdedcba897bbb91c3b3fbe47a9188

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2b452d81093599b661a450e30f0f395fa5224a6fa4611b6406c2332e02eb65fe
MD5 661a3805f8961c32b2c510ae678cdde1
BLAKE2b-256 85a7955c98ca6a18cd42372c7a12861fb400e8101ad8ea807879f1cca58a0f82

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c2a765f2f727ed6af770abefea75de5594df08696eaebc054c5a7247a2a746a4
MD5 8ebcd321768e7ba9e89a78dce42bdf3c
BLAKE2b-256 4fc8a5b6153af9772f0c369941b929ac0f6df8f76f83fdbea79bbdbddbdb8793

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 438fddede9015c0aabdcbedc4e22577ab29fff66669b824bcee88252b74141da
MD5 26be6b1736f29390919153666337bfac
BLAKE2b-256 078b05d858107e3fe7048c972fdbce42b8cb175094a2be4ceb18afb4561ce11a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c4bf846e0673252cc4a15fa836d891550e939692c50c9c37d06f4bdb9554266f
MD5 f50dce5f8c17a6de8124da5d0938f5dd
BLAKE2b-256 ababea658dff8230dab31a0ef44f776669ec09e284ca432414e2842f8a1990da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e85ce0634d2479419711c0a6e01cbd3d00d8afe8d4e5483c7cf4d629c6ddb244
MD5 a2704bcb1670066d1f247faed6162abe
BLAKE2b-256 b460fd376dd98b6b384f08989f94e14ae939979cb19d44946bd11ee533800de2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.31-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 407e27ff8851f017933fd2738cfd03787fd107704fe65d4acba0a6dd3fc2f575
MD5 16c553215c88b33614afa7eb33e9c6b6
BLAKE2b-256 af36d0835567e58a5a0c1d07c30ed3e350cc11996e6aba67d24811484f9b0923

See more details on using hashes here.

Provenance

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

This release

0.3.31 This release

8 files

0.3.30

8 files

0.3.29

8 files

0.3.28

8 files

0.3.27

8 files

0.3.26

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