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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.29-cp313-cp313-manylinux_2_34_aarch64.whl (900.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.29-cp312-cp312-manylinux_2_34_x86_64.whl (936.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.29-cp312-cp312-manylinux_2_34_aarch64.whl (900.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.29-cp311-cp311-manylinux_2_34_x86_64.whl (936.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.29-cp311-cp311-manylinux_2_34_aarch64.whl (901.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.29-cp310-cp310-manylinux_2_34_x86_64.whl (936.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.29-cp310-cp310-manylinux_2_34_aarch64.whl (901.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3ea7c1c835c616df247e3b78996753446d5e7179788eac4313ead0d16b08427e
MD5 307fcb6ad1313b8764b5ed7c48d86cdf
BLAKE2b-256 8bfdec6a7c8d15cbb8e915da29575a98190bfe6669be2208b6d35f0e375d926e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 b5494a91a16aebed2e623694d8499c7bac9458d9db4bba06d6269310a5028b1d
MD5 64c70c900f198c862d7a6376e41dd557
BLAKE2b-256 4073f8bff2722116969945226d456390093ef65439c74711d822e2bd1d57e03c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cb3b7e6d8d2530aa12d009d600ffd6f1c9ac0c63aaa65278e09d8efd365d5ce0
MD5 daf8e61b2f8c88f1e303b05b7addd737
BLAKE2b-256 328c33ad091968cf0f6a275b5ee90269b07b27d02c68b20850028a8bede6e614

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 0287c904d1d624ff36c594a17a2653d410699c3631d07d1c470c48686ce0691f
MD5 4c700bc81c406a814ae399ea4ab46808
BLAKE2b-256 cbaa20078ef7a7573f003317382f38067d86bba2c22aac86f4fac00e397810b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 95de37661045c849c358caeef07778f11dea551bd227fc0be428d1a5efb829bb
MD5 1b754e099949dd2b9762c6433ac92cb0
BLAKE2b-256 a51a71fba7170a9a80798d08f9bbee1635c1e9b9d750e08b35d4c4861fae3968

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5344bee6fd23755986c31b0f24ef4c5c65dc8038a18397eeb7ea72f3fafb82b0
MD5 4df0ff44f6ea5d8a4a6b2dffc08c23e1
BLAKE2b-256 92f2ae1fc30f6d1d0acb0a6689740270a730fef9964d3b441f32184f760fd971

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 05db29075d8a9da1f8837e3fbe00e3e7614e03e4d9781d2880476b64d98b52f7
MD5 d5b75ecd67970214eec7b8ab0501b686
BLAKE2b-256 c52a6697ec1a79e52fb6e080935c47709cd4b8a62ece5db75dc4bc2faab10377

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.29-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 678b05cd540d5a85b57ac5b8a771e341f7098b9fceb88442558fa91f9e601593
MD5 70e58e2e18f419978d8d8d9a03da170c
BLAKE2b-256 0c4c97db9abea632709e083fac6602a61083736764205f8f7f545a32ee9fc96c

See more details on using hashes here.

Provenance

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

This release

0.3.29 This release

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