Skip to main content

LinearTile ⚡

Transformers → Ψ(N)

LinearTile is a lightweight, pure PyTorch implementation of linear attention that reduces transformer complexity from O(N²) to O(N) — with a mathematical guarantee of pipeline stability via Psi Notation (Ψ(N)).

PyTorch License Python 3.8+


🚀 Quick Start

import torch
from lineartile import LinearTileAttention

# Create model
model = LinearTileAttention(d_model=512, num_heads=8)

# Forward pass — O(N) complexity!
x = torch.randn(2, 4096, 512)
out = model(x)

print(out.shape)  # torch.Size([2, 4096, 512])

✨ Features

Feature

1 O(N) Complexity — Linear attention, not quadratic 2 Causal Masking — Without O(N²) memory 3 Multi-GPU & Distributed — Easy sharding 4 Variable Sequence Length — No padding waste 5 Mixed Precision — FP16/BF16/FP8 support 6 KV Cache Reuse — Faster inference 7 Gradient Checkpointing — Memory efficient training 8 Sliding Window Attention — Local context 9 Grouped Query Attention (GQA) — Llama 3 ready 10 Automatic Autotune — No manual tuning 11 Flash Decoding — 10x faster generation 12 Quantization Aware Training (QAT) — INT8 ready 13 Sparse Attention (Top-k) — Focus on important tokens 14 Memory-Efficient Checkpointing — Train on 8GB GPU 15 Custom Kernel Plugins — Replace φ kernel freely 16 Psi Guarantee (Ψ(N)) — Mathematical stability proof


📐 The Psi Guarantee (Ψ(N))

LinearTile doesn't just claim O(N) — it proves it.

For a 3-layer pipeline (Preprocessing → Attention → Postprocessing):

(F₁, F₂, F₃) ∈ Ψ(N)

This guarantees:

· F₁(N) ≤ F₂(N) ≤ F₃(N) for all N ≥ N₀ · No asymptotic bottlenecks between layers · Stable, predictable performance at scale


📦 Installation

From Source

git clone https://github.com/Natarizki/lineartile.git
cd lineartile
pip install -e .

🧪 Run Tests

python -m lineartile.tests.test_forward
python -m lineartile.tests.test_backward
python -m lineartile.tests.test_psi
python -m lineartile.tests.test_rope

📊 Performance

Sequence Length LinearTile (O(N)) Standard Attention (O(N²))
1,024 ~8 ms ~12 ms
4,096 ~36 ms ~190 ms
16,384 ~160 ms ~3.2 s
65,536 ~650 ms OOM

Measured on PyTorch 2.11.0, CPU backend


🔬 How It Works

Standard Attention (O(N²)):

O = softmax(QKᵀ) · V

LinearTile (O(N)):

O = φ(Q) · (φ(K)ᵀ · V)

where φ(x) = ELU(x) + 1

The key insight: swap multiplication order — compute (Kᵀ · V) first.


🗂️ Project Structure

lineartile/
├── core/
│   ├── kernels/
│   │   ├── forward.py
│   │   ├── backward.py
│   │   ├── kv_cache.py
│   │   ├── masking.py
│   │   └── legacy.py
│   ├── config.py
│   ├── constants.py
│   ├── dtypes.py
│   └── mixed_precision.py
├── api/
│   ├── attention.py
│   ├── functional.py
│   └── module.py
├── utils/
│   ├── benchmark.py
│   ├── psi_guarantee.py
│   ├── rope.py
│   └── test_helpers.py
├── tests/
│   ├── test_forward.py
│   ├── test_backward.py
│   ├── test_psi.py
│   └── test_rope.py
├── __init__.py
├── version.py
├── setup.py
├── pyproject.toml
├── LICENSE
└── README.md

30 files — small, focused, powerful.


📚 Why LinearTile?

Aspect Flash Attention LinearTile
Complexity O(N²) compute O(N) compute
Memory O(N) O(N)
Files 500+ 30
Triton required ✅ Yes ❌ No
Runs on Android ❌ Hard ✅ Yes
Mathematical guarantee ❌ No ✅ Ψ(N)
Pure PyTorch ❌ No ✅ Yes

📖 Reference

· Psi Notation: github.com/Natarizki/psi-notation · Linear Attention: Transformers are RNNs (Katharopoulos et al., 2020) · Flash Attention: Fast and Memory-Efficient Exact Attention (Dao et al., 2022)


📄 License

Copyright © 2026 Natarizki

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


🌟 Star the Project

If you found this useful, please ⭐ star the repository on GitHub!


LinearTile: Transformers → Ψ(N). Small. Fast. Proven.

Release files for lineartile 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lineartile 1.0.1
File Size Uploaded
lineartile-1.0.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lineartile 1.0.1
File Interpreter ABI Platform
lineartile-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size:9.4 kB

Release files / lineartile-1.0.1.tar.gz

Download URL lineartile-1.0.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9e670bb1ae0e596d151c535b825d4a69c26e0c656f6e1148b76789824ce1a199
BLAKE2b-256 checksum
How to use checksums
19929479fca2dfd1e02da32bae73186b0b06f483f425ef402cb1e21851f52858
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release files / lineartile-1.0.1-py3-none-any.whl

Download URL lineartile-1.0.1-py3-none-any.whl
Size 3.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5bc72f8a70c60aba6a7dd8e8bb096eb44279468f5a0d802267a8946fea42f02
BLAKE2b-256 checksum
How to use checksums
3f12a783a372be52322c2ef2109458c8cb2cd7b72d6e63bcb315bb0655782321
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page