Purlin
Purlin is a unified framework providing high-performance, evolvable (1) data movement primitives (copy and N-to-1 reduce) which compose through novel mechanisms to (2) state-of-the-art single-kernel collectives for the intra-node domain.
Our key innovation is decoupling orchestration from the datapath of collective communication. Purlin separates where and when data is moved from how this movement occurs within collectives.
Every collective is expressed against one fixed orchestration protocol, SNAC, which composes with a hardware-aware datapath, the Atom. Collective semantics sit above SNAC, hardware details sits below it, and neither leaks into the other.
🧨 QuickStart
uv pip install purlin # best to use a venv here
torchrun --nproc-per-node <num-of-gpus> quickstart.py
Release files for purlin 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| purlin-0.6.0.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| purlin-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.3 kB
Release files / purlin-0.6.0.tar.gz
| Download URL | purlin-0.6.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eae76f7b154a7fbaf659b6c7c785b1ce4bf46f852da4ad6800cbf5dd6ecc79df
|
|
BLAKE2b-256 checksum How to use checksums |
db348970f4df5e9ff9b6f0b6da8360ed6c0b3b4dac5ad24654e589897128730b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / purlin-0.6.0-py3-none-any.whl
| Download URL | purlin-0.6.0-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bc6ab7fda1d088af1d6f143f6cc6b6e757ce764ffd15977711fb340b0ddd623
|
|
BLAKE2b-256 checksum How to use checksums |
ff22be3a081def0d4f855d116d1313baa22c977b09532ebbf86649cbeb6107d0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|