cutejax
cutedsl jax wrapper that adds some useful features. Mostly written by Fable, so caveat claudor. But it seems to work.
What it adds over cutlass.jax.cutlass_call
- Pytree arguments that can contain code.
cutlass_callonly takes jax arrays.cutejax.calltakes any pytree: arrays become kernel tensors, everything else (callables, config objects,eqx.Modules) becomes part of the cache key and runs as codegen inside the trace. This is how FlashAttention-4 flex-attention masks work in examples/fa4_attention.py. - Per-dimension static/dynamic choice.
cutlass_callhas one all-or-nothinguse_static_tensorsflag.ArraySpec(static_dims=...)lets you bake some dims in and leave others symbolic — e.g. static heads/head_dim, dynamic batch/seqlen. - Tied dimensions.
ArraySpec(dim_names=...)makes two dims share one symbolic variable, so the compiler knows they're equal and the runtime checks it. - Small HLO.
cutlass_callembeds the compiled object file in the HLO at every call site; cutejax registers a named FFI target, so the HLO is just acustom_call. Dispatch speed is the same either way. - A compile watchdog. Turns a runaway trace into an error instead of letting it eat all your RAM.
- Convenience.
cutejax.Moduleregisters with both jax's and cute's pytree registries;cutejax.condgives you data-dependent branches in undecorated code. - Works on older jax. Tested on 0.8.2 through 0.11.0.
When to use the built-in instead
- You only pass arrays in and get arrays out — then cutejax buys you nothing.
- You need non-row-major layouts.
cutlass_call'sTensorSpec(mode=...)can remap dimensions; cutejax can't, because the XLA FFI boundary doesn't carry strides, and rejects those layouts up front rather than reading them wrong. - You'd rather depend only on things NVIDIA ships and supports. cutejax needs
jax-tvm-ffi, and is one person's side project.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cutejax-0.1.3.tar.gz.
File metadata
- Download URL: cutejax-0.1.3.tar.gz
- Upload date:
- Size: 101.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a57f6c703b346f8ee8d2cdb0d6ffda774cb38ff9370f0ce895dc2ed3915764c
|
|
| MD5 |
6bcc1cf0dcafa434b4e9118dba3e547f
|
|
| BLAKE2b-256 |
e6fc018072ef1869866c21a442fc3f50e68cebf0409a47f4386025d2067f31b2
|
Provenance
The following attestation bundles were made for cutejax-0.1.3.tar.gz:
Publisher:
release.yml on nshepperd/cutejax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cutejax-0.1.3.tar.gz -
Subject digest:
9a57f6c703b346f8ee8d2cdb0d6ffda774cb38ff9370f0ce895dc2ed3915764c - Sigstore transparency entry: 2578735069
- Sigstore integration time:
-
Permalink:
nshepperd/cutejax@536f97b0fa41693a6798a0a7b5cfb4a591d7d3c0 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/nshepperd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@536f97b0fa41693a6798a0a7b5cfb4a591d7d3c0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cutejax-0.1.3-py3-none-any.whl.
File metadata
- Download URL: cutejax-0.1.3-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec2c64c0074fba7061da1d24ea2cf494cc1264646ff82fc106a42a21ec677fe1
|
|
| MD5 |
6c27c1d2d6dede7f625a617de92a63b9
|
|
| BLAKE2b-256 |
2cf2163d4b326c96977098cd67cbe08f745e2a4fd7ab308611afcd43186f94da
|
Provenance
The following attestation bundles were made for cutejax-0.1.3-py3-none-any.whl:
Publisher:
release.yml on nshepperd/cutejax
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cutejax-0.1.3-py3-none-any.whl -
Subject digest:
ec2c64c0074fba7061da1d24ea2cf494cc1264646ff82fc106a42a21ec677fe1 - Sigstore transparency entry: 2578736269
- Sigstore integration time:
-
Permalink:
nshepperd/cutejax@536f97b0fa41693a6798a0a7b5cfb4a591d7d3c0 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/nshepperd
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@536f97b0fa41693a6798a0a7b5cfb4a591d7d3c0 -
Trigger Event:
push
-
Statement type: