-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathpyproject.toml
More file actions
56 lines (52 loc) · 1.75 KB
/
Copy pathpyproject.toml
File metadata and controls
56 lines (52 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "fmha_sm100"
version = "0.1.1"
description = "MSA — MiniMax Sparse Attention: dense FlashAttention + sparse top-k indexer (csrc JIT) and CuTe-DSL sparse attention for NVIDIA SM100"
readme = "README.md"
requires-python = ">=3.10"
# SPDX-License-Identifier: MIT
license = { text = "MIT" }
authors = [{ name = "MiniMax" }]
dependencies = [
"torch",
"apache-tvm-ffi",
"jinja2",
"ninja",
"pybind11",
"cuda-python",
"nvidia-cutlass-dsl>=4.4.1",
"quack-kernels>=0.2.10",
]
[project.urls]
# The Python package lives under python/. Both kernel stacks ship as package
# data and work from both editable and wheel installs:
# * Dense csrc/ kernels are JIT-compiled at runtime (python/fmha_sm100/jit.py).
# The CUDA sources, Jinja templates, and vendored CUTLASS headers live inside
# the package directory so that JIT can locate them via __file__.
# * The CuTe-DSL sparse stack (python/fmha_sm100/cute/) is exposed through the
# importable `fmha_sm100.sparse` module (and lazily from the package root),
# which adds that directory to sys.path and re-exports the public sparse API.
[tool.setuptools]
package-dir = { "" = "python" }
# The cute/ sparse sources are loaded via sys.path.insert at runtime by
# fmha_sm100/sparse.py (not imported as a submodule), so they are shipped as
# package data.
packages = ["fmha_sm100"]
[tool.setuptools.package-data]
fmha_sm100 = [
"cute/**/*.py",
"cute/**/*.cu",
"cute/**/*.cuh",
"cute/**/*.h",
"cute/**/*.hpp",
"cute/**/*.md",
"cute/**/*.ini",
"cute/**/*.txt",
"cute/Makefile",
"csrc/**/*",
"cutlass/include/**/*",
"cutlass/tools/util/include/**/*",
]