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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.27-cp313-cp313-manylinux_2_34_aarch64.whl (899.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.27-cp312-cp312-manylinux_2_34_x86_64.whl (935.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.27-cp312-cp312-manylinux_2_34_aarch64.whl (899.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.27-cp311-cp311-manylinux_2_34_x86_64.whl (935.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.27-cp311-cp311-manylinux_2_34_aarch64.whl (900.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.27-cp310-cp310-manylinux_2_34_x86_64.whl (935.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.27-cp310-cp310-manylinux_2_34_aarch64.whl (900.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 89880b2c6d2adc54f66fe996c51c8682014e7a85c27103519eaeac5f3d856606
MD5 525d271099aa157851a7f5bd73ce0d13
BLAKE2b-256 44c81b62248fac792f8d66f1b1d235654236e49756d52e6f8c684f5419cc712f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8864071ab6171069920112a10a2138f5e84e37f3b472f7189b181dcff8513156
MD5 17fa7f0418b1532e8677bdcd3fa8306f
BLAKE2b-256 187e5b30c24fc7cba74c1b53818e375fc126348b63d10b5aa667867046a5ccc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 db1f8094b42fd207445b1dbd0fb695bd6598246497ccf89d0d5990f2a18909ed
MD5 58db3ddd3f448a9643ae05e285a7d7b1
BLAKE2b-256 e49097994462df8c70605b4d238ab64cf0040fec519a48bb1f451f3752540a2c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 529baa608104e58ccef35815517016b65da959ec2a0aa01f2cfd97afde66941a
MD5 479dc2a07ee3e50b3d610b4334043491
BLAKE2b-256 4da5110f128a79b1451565f32da89699bf5ce1370abda61bb8480d4fa894eb24

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7b5443f850a2d4554a690a062eefc4c3c87405329b7ef52ff5562015434a62c9
MD5 fcd75e754b69ef60e2ab521c7ad34ce3
BLAKE2b-256 b45c3b833e738d3b91b97981df9b7ced0334a6698bee5ed24aaa8f1a38742417

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 de4db86abb1525bc322bd709ef023afcf23fd8b9070116a6f2c2cd52775a8566
MD5 ea782f8bd82fb8e93971bc41573f95d3
BLAKE2b-256 cd7e8c78160a4a288e34f956416bdca839a0910f25cd4f2a57cd86f33976f657

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9ab24b25ba42d3d73b1ab0a4dea65e7b382383cd2a8f22f926abdf4fd31d6ed4
MD5 c43de934785b41d68956b57db9c27126
BLAKE2b-256 1c5318026fa04cf601575bb26ed8e3db331c8f6c14e3adc9dd1881ca0ad74ad7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.27-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 652bb6718169400779b95cab6e346ccdcd412e6732e1b0725a30d4b4acf7fb22
MD5 7bc9e0af42cdfbd05d813c7ced6978b0
BLAKE2b-256 071467ed6457a66239488b78fe617f1fbec29a049bc5ebed23194d61818f2412

See more details on using hashes here.

Provenance

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

This release

0.3.27 This release

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