Skip to main content

A low level hardware debugger

Project description

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

Project details


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

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.21-cp313-cp313-manylinux_2_34_aarch64.whl (841.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.21-cp312-cp312-manylinux_2_34_x86_64.whl (869.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.21-cp312-cp312-manylinux_2_34_aarch64.whl (841.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.21-cp311-cp311-manylinux_2_34_x86_64.whl (870.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.21-cp311-cp311-manylinux_2_34_aarch64.whl (841.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

tt_exalens-0.3.21-cp310-cp310-manylinux_2_34_x86_64.whl (870.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tt_exalens-0.3.21-cp310-cp310-manylinux_2_34_aarch64.whl (841.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

File details

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f9f9a314a08a94fa96b61cee9e2b5864957a57523e990e154e1f38c2b6de9ec0
MD5 a0441d0258809e7923acec41fa952cc2
BLAKE2b-256 4e6d911cc74f1ad854caa1a7f1147e66548023a4f29d52cc25ebb285a1be136e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 df4540c19640b11302621807becccc400bb4a52a96329e1444efee029a872712
MD5 a7a9ccaff4fbb60d67a8d9c7f903ff1e
BLAKE2b-256 56f259cf1455c5629f7113941c03f0128167fb151b93d456714bb4b7d1c92657

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 111de98097dea3f8bf9b033ef2e0dde396888e4e510fb33ade33614c6a9fdc3b
MD5 d3afb9d6f6749262062260447337a747
BLAKE2b-256 640be1819ee1c6e25a7f05a8c711ab18c5e8c967ca651cf46cd9d37f7218e32c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1e37373b7b386d953aa2935f2842c4c37b11ddf48b21737423e712eeffcdba3d
MD5 0e014fdc4c740f7e5f0c18bbee7c5a95
BLAKE2b-256 7a9e8ca5f536a218555c3582a437ab3a683b0b04bf10e206a7afacaef5c1608d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c25a221ddf3d311077910d91fc2225e268cc9efc4615119d249da72b5fd348c0
MD5 c9ab2b2aea0c822eb4a4b79da91cfb5b
BLAKE2b-256 1eb5751bdf62460b7c7fa489a7f00586a991c94e1294f29817da7d83cfbec1c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5b88bf08fd97edffd3bdb84cc6438bd2bd59f0f72d3575214a98f4b056dc4962
MD5 b35cafd2e4d462cf4f35f6439aca4998
BLAKE2b-256 2e019ea8b4070344f606798de0859c7abcd92b2430e198cbaa75149260ce8d5c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 eceff8a6ee03bafb48862f1f223236ce218cb677d29c783939b6039730095b8e
MD5 afe1526dbfe820c5cd9b34bd383f48a5
BLAKE2b-256 3737cd5daabc6d919fc9c49c22d5719f31467ba4a27014354167ef9fd8a625f5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tt_exalens-0.3.21-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6d4d5212e22714e2956a3cfbdc9627cfdfd7e226740908323733163c4a76ad0a
MD5 4cb7771c7f614874943148a5591c25b4
BLAKE2b-256 fca8f89e7287f1b5382b724d1cb6414facc063a57f5e5660564ccceb69556fee

See more details on using hashes here.

Provenance

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page