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.30-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.30-cp313-cp313-manylinux_2_34_aarch64.whl (915.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.30-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.30-cp312-cp312-manylinux_2_34_aarch64.whl (915.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.30-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.30-cp311-cp311-manylinux_2_34_aarch64.whl (916.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.30-cp310-cp310-manylinux_2_34_x86_64.whl (951.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.30-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.30-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0cc2ddfbcfaaf8f632c5a118b9315122519dc41597ffef19ec9fb278a94f6e1c
MD5 861df110732925f6091fb2c6ee33c606
BLAKE2b-256 7c4beeb67f11dd6635e7f8bd54293fa48ac166ea269a4dd85d0123228de03163

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6893dfc0299b0e5f384ade9bb9d0cf202ef42ba534e4db332c30dbd226d3c9e7
MD5 5c7c5b119342edf2504e610389e0720f
BLAKE2b-256 dc9b0ffe366d350c663ecf3041c17995815be8f2f1219b49b5a254ce794e4d07

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 41007157a193ceb6089c2215426c84fdd3c57a0189966660faa8db0b2695ac54
MD5 ce008349a7c778072c99c84664d8becc
BLAKE2b-256 8b1d3e8e35235a139602f8a88a7f93bf8fd5fb6a55fd946ed76d2435525aa69c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c80e31fb861b37b7c753c41605dcaf4d9e14cebf6c8d0e398146ff73ff225009
MD5 75dacf92f3982cfa4fcbd921e5b52e97
BLAKE2b-256 f02a3993a0b8fd777621c7a39842be15b21aa45c63998e6d666b586e1f650b0a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cac7b1d972be44322587f3cec2d96bce7bd204c2ecae861ecd689ec63ba56414
MD5 daccbbc174a020693a6d60897b3e3a05
BLAKE2b-256 9b1501cca10ec20eb57cf8b2abff2b28ac5b97a4449230dd2d0064c06bdfb354

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 02b6948a6ecd38b81eb1eaeacb0b0f6debe36a74ada0005c1064318bae2884b3
MD5 f827d07b269ce1bf4834f3c4568fc929
BLAKE2b-256 7dc54de49a0422ddb92c5c68faff5faff3c470b0fc1568dbc4c7db5be13e93ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f2e4518a90d4dcfb34350b957ff8dd3b1a7ae2315b06fa49b27daee8a837957c
MD5 213121c5e2b2e79e8abcc6f39675ea92
BLAKE2b-256 efe503fd56e4a8e53e1c09401798e6127e417b8146fa73fbe129779fb38f3079

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.30-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 4090487bdaadff5af0403de61c9a9180b20ed7a8dcb9809eaf69d1f160312167
MD5 d1873ddaaba5ee6aad8411b2056e961e
BLAKE2b-256 8c681f8ea4e66d0e96b3f5b3f9a9888ecf2aafd23f6f1c6e151860cce09c2ad6

See more details on using hashes here.

Provenance

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

This release

0.3.30 This release

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