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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.28-cp313-cp313-manylinux_2_34_aarch64.whl (899.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.28-cp312-cp312-manylinux_2_34_x86_64.whl (935.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.28-cp312-cp312-manylinux_2_34_aarch64.whl (899.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.28-cp311-cp311-manylinux_2_34_x86_64.whl (935.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.28-cp311-cp311-manylinux_2_34_aarch64.whl (900.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.28-cp310-cp310-manylinux_2_34_x86_64.whl (935.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.28-cp310-cp310-manylinux_2_34_aarch64.whl (900.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 1025b92056d27e5a9a198516e1a62f54dc768e52a661704f4645ed50bcb8e1d7
MD5 bd3a1d592ce20b7f352d69d15967e655
BLAKE2b-256 0d2493418857504ec428cfa76ba6a11d2a2c64070b411926127dcbe33d404bf5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 a16ce740c7cf5d57fb39bc222cdfecf75a77045d976c70a8728102ffbc0f44e5
MD5 0a487803710513fac271a1e2000bbca9
BLAKE2b-256 10bfd69e1f69c3ce215f70d383f3ac6e95d4f8744516a79afe43be7068e9dc0e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e78d7fc8e9a995e38517e4fc9482f2ffc8985cc55ffea225b7fa6cd8a6b828a6
MD5 93b99969b79de04b796b9bbb9b8b8999
BLAKE2b-256 8ea6b3f14a9ea3834660c62aa7eb6fb852c6cff955e8a8a8e9fcd0f4b057bcfd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 3f4625b74b188b953dfc5faf6164a8a77f044d0439ac83bd9fd43d489f3b1d14
MD5 a7c852993f4906bcea273685779be9c3
BLAKE2b-256 494e93b58d82b8d0b5eb61631544187e9ebb1325cbbb27c82bf0115a41ced9f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7dd0e231c97fd945a35ffb9d79abad637057788a7a911890bc3fb3fa354605c0
MD5 ff7e5d7242aa8c7253f636b09dd8b772
BLAKE2b-256 35056759656b4b85c9d367e747bc07e2968be7a9c3608bcadac574204cb2ee52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1a5f3280b21d108d98f845fded669c42f18dd6ba1eb7e382586d3b5e45067d6e
MD5 f4fa1f4b918de76360546abf31d5fd48
BLAKE2b-256 db3451316b98e0db3eb45db998388a613670630c6b89c0f5d48026d8ad4fee67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2edbbac5777c13883a215bdc9d566d13a2da0c1be88a403a1185a2fb3f82e48c
MD5 d6a37ddea8a1a7fffd2995c5c39343a1
BLAKE2b-256 525503b5c640780f76bd088116f12391ef03e12490955b011c9b3db259660e7d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.28-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 cd6465318737dc84898c3d336ef553d56e7d1cb8b9a5625157a0572c6c492965
MD5 d89328f94cc216e9baff9c32aedf82e0
BLAKE2b-256 e73de19dcd3e101ade6a31868054e5fd63f8694f074c657e94a3965fae7a2b68

See more details on using hashes here.

Provenance

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

This release

0.3.28 This release

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