| # Triton FAQs and Common Issues |
|
|
| * [MMA Assertion](#1-mma-assertion-error-on-h100) |
| * [AsstibuteError](#2-attributeerror-nonetype-object-has-no-attribute-start) |
| * [LinearLayout](#3-h100-linearlayout-assertion-error) |
| * [Triton on Arm](#4-triton-support-for-arm-aarch64-architecture) |
|
|
| ## Recommended Setup Approach |
|
|
| > [!IMPORTANT] |
| > Triton nightly builds often depend on the latest PyTorch nightly versions. To prevent conflicts with existing installations, we strongly recommend creating a fresh conda environment. This isolates the installation from any existing PyTorch/Triton versions that might cause compatibility issues. |
|
|
| ## Common Issues and Solutions |
|
|
| ### 1. MMA Assertion Error on H100 |
|
|
| **Error:** |
| ```py |
| Assertion `!(srcMmaLayout && dstMmaLayout && !srcMmaLayout.isAmpere()) && "mma -> mma layout conversion is only supported on Ampere"' failed. |
| ``` |
|
|
| **Solution:** |
| This issue was fixed in [PR #4492](https://github.com/triton-lang/triton/pull/4492). Install the nightly version: |
|
|
| ```sh |
| # Create fresh environment (strongly recommended!!!) |
| conda create -n triton-nightly python=3.12 |
| conda activate triton-nightly |
| |
| # Install PyTorch nightly (required for Triton nightly compatibility) |
| pip install -U --pre torch --index-url https://download.pytorch.org/whl/nightly/cu128 |
| |
| # Install Triton nightly |
| pip uninstall triton pytorch-triton -y |
| pip install -U triton-nightly --index-url https://pypi.fla-org.com/simple |
| |
| # Instal flash-linear-attention |
| pip install einops ninja datasets transformers numpy |
| pip uninstall flash-linear-attention && pip install -U --no-use-pep517 git+https://github.com/fla-org/flash-linear-attention --no-deps |
| |
| # Optional: Install flash-attention |
| conda install nvidia/label/cuda-12.8.1::cuda-nvcc |
| pip install packaging psutil ninja |
| pip install git+https://github.com/Dao-AILab/causal-conv1d.git --no-build-isolation |
| pip install flash-attn --no-deps --no-cache-dir --no-build-isolation |
| |
| # Optional: Verify flash-attention installation |
| pip install pytest |
| pytest tests/ops/test_attn.py |
| ``` |
|
|
| ### 2. AttributeError: 'NoneType' object has no attribute 'start' |
|
|
| **Solution:** |
| This is a known issue ([triton-lang/triton#5224](https://github.com/triton-lang/triton/issues/5224)). Upgrade to Python 3.10+. |
|
|
| ### 3. H100 LinearLayout Assertion Error |
|
|
| **Error:** |
| ``` |
| mlir::triton::LinearLayout::reshapeOuts(...) failed. |
| ``` |
|
|
| **Solution:** |
| This is a known issue ([triton-lang/triton#5609](https://github.com/triton-lang/triton/issues/5609)). Follow the same installation steps as in Issue #1 above. |
|
|
| ### 4. Triton Support for ARM (aarch64) Architecture |
| Triton now supports the ARM (aarch64) architecture. |
|
|
| However, official Triton and PyTorch do not provide pre-built binaries for this architecture. The FLA organization has manually built and provided support for Triton on ARM, currently covering Triton versions 3.2.x, 3.3.x, and nightly builds. |
|
|
| **Installation for ARM (aarch64):** |
|
|
| For users on ARM (aarch64) systems, directly installing triton and pytorch from their official channels can be challenging as pre-built binaries for this architecture are often unavailable. The FLA organization provides custom-built Triton binaries to address this, ensuring compatibility with specific PyTorch versions. |
|
|
| To ensure a smooth installation of flash-linear-attention with the necessary Triton and PyTorch dependencies on ARM, it's crucial to align their versions. The FLA builds of Triton are designed to be compatible with particular PyTorch releases. |
|
|
| **Version Compatibility:** |
|
|
| Below is a guide to compatible triton and pytorch versions when using FLA's Triton builds: |
|
|
| - Triton 3.2.0 is compatible with PyTorch 2.6.0 |
| - Triton 3.3.0 is compatible with PyTorch 2.7.0 |
| - Triton 3.3.1 is compatible with PyTorch 2.7.1 |
|
|
| ```shell |
| pip install torch==2.7.1 --index-url https://download.pytorch.org/whl/cu128 |
| pip install -U triton==3.3.1 --index-url https://pypi.fla-org.com/simple |
| ``` |
|
|