Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,8 @@ It currently provides genuine `cutlass.cute` implementations of:

Ops without a CuTe DSL kernel transparently fall back to the default Triton kernel.

The `cutedsl` extra also pulls in `apache-tvm-ffi`, which lets compiled kernels take PyTorch tensors directly rather than marshalling each one per call. It is optional — every kernel falls back to the marshalling launch without it — but short kernels are dominated by that per-call cost, so installing it is strongly recommended.

### Fused Scaled Cross Entropy

`LigerFusedLinearScaledCrossEntropyFunction` is an additional per-token operator, not a replacement for the reduction-oriented Triton `LigerFusedLinearCrossEntropyFunction`. It takes `input[M, H]`, `weight[V, H]`, and `target[M]`, applies `logits / temperature`, and returns FP32 negative log-likelihood `[M]` plus optional differentiable vocabulary entropy `[M]` in the input dtype. Reductions remain in PyTorch, and rows whose target equals `ignore_index` contribute zero outputs and gradients.
Expand Down
5 changes: 5 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ def get_optional_dependencies():
]
cutedsl_deps = [
"nvidia-cutlass-dsl>=4.6.0",
# Lets compiled CuTe DSL kernels take PyTorch tensors directly instead of
# marshalling each one through DLPack per call. The kernels fall back to
# the marshalling launch when it is absent, but on short kernels that
# per-call cost dominates: RMSNorm forward measured 53us -> 15us on B200.
"apache-tvm-ffi>=0.1.0",
]
dev_deps = [
"transformers>=4.52.0",
Expand Down
Loading