diff --git a/pyproject.toml b/pyproject.toml index 1b3be23dc19..3f1e1b64fc5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,6 +110,7 @@ dev = [ "quart", "openai[aiohttp]", "orjson", + "fast-hadamard-transform", ] ### 'lts' extra is deprecated ### @@ -180,6 +181,7 @@ no-build-isolation-package = [ "mamba-ssm", "transformer-engine", "transformer-engine-torch", + "fast-hadamard-transform", ] link-mode = "copy" # We don't define override-dependencies globally but rather locally where we need it. @@ -191,14 +193,20 @@ override-dependencies = [ "triton; sys_platform == 'never'", ] +[[tool.uv.dependency-metadata]] +name = "fast-hadamard-transform" +version = "1.0.4.post1" +requires-dist = ["torch", "packaging", "ninja"] + [tool.uv.sources] flash_mla = [ - { git = "https://github.com/deepseek-ai/FlashMLA", rev = "9edee0c022cd0938148a18e334203b0aab43aa19" }, + { git = "https://github.com/deepseek-ai/FlashMLA", rev = "nv_dev" }, ] transformer-engine = { git = "https://github.com/NVIDIA/TransformerEngine.git", rev = "4220403e831d29e93868f7793693ea83f6b8b05b" } nemo-run = { git = "https://github.com/NVIDIA-NeMo/Run.git", rev = "17ae86b64d7f75653351664f5d8c9e466faede00" } emerging_optimizers = { git = "https://github.com/NVIDIA-NeMo/Emerging-Optimizers.git", rev = "v0.2.0" } +fast-hadamard-transform = { git = "https://github.com/Dao-AILab/fast-hadamard-transform.git", rev = "f134af63deb2df17e1171a9ec1ea4a7d8604d5ca" } [tool.isort] profile = "black" # black-compatible diff --git a/uv.lock b/uv.lock index de6edb9d9bd..7af5f7007ac 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.12" resolution-markers = [ "python_full_version >= '3.14' and sys_platform == 'win32'", @@ -20,6 +20,11 @@ overrides = [ { name = "triton", marker = "sys_platform == 'never'" }, ] +[[manifest.dependency-metadata]] +name = "fast-hadamard-transform" +version = "1.0.4.post1" +requires-dist = ["torch", "packaging", "ninja"] + [[package]] name = "absl-py" version = "2.4.0" @@ -1122,6 +1127,16 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/37/f9/f8497ef8b873a8bb2a750ee2a6c5f0fc22258e1acb6245fd237042a6c279/fabric-3.2.3-py3-none-any.whl", hash = "sha256:ce61917f4f398018337ce279b357650a3a74baecf3fdd53a5839013944af965e", size = 59502, upload-time = "2026-04-06T00:00:10.176Z" }, ] +[[package]] +name = "fast-hadamard-transform" +version = "1.0.4.post1" +source = { git = "https://github.com/Dao-AILab/fast-hadamard-transform.git?rev=f134af63deb2df17e1171a9ec1ea4a7d8604d5ca#f134af63deb2df17e1171a9ec1ea4a7d8604d5ca" } +dependencies = [ + { name = "ninja" }, + { name = "packaging" }, + { name = "torch", marker = "sys_platform == 'never'" }, +] + [[package]] name = "fastapi" version = "0.138.0" @@ -1213,8 +1228,8 @@ wheels = [ [[package]] name = "flash-mla" -version = "1.0.0+9edee0c" -source = { git = "https://github.com/deepseek-ai/FlashMLA?rev=9edee0c022cd0938148a18e334203b0aab43aa19#9edee0c022cd0938148a18e334203b0aab43aa19" } +version = "1.0.0+b7643bd" +source = { git = "https://github.com/deepseek-ai/FlashMLA?rev=nv_dev#b7643bd54521f563b839b98289b5cd048c062ba2" } [[package]] name = "flashinfer-python" @@ -2172,6 +2187,7 @@ dev = [ { name = "datasets" }, { name = "einops" }, { name = "emerging-optimizers" }, + { name = "fast-hadamard-transform" }, { name = "fastapi" }, { name = "flash-linear-attention" }, { name = "flashinfer-python" }, @@ -2275,6 +2291,7 @@ requires-dist = [ { name = "datasets", marker = "extra == 'dev'" }, { name = "einops", marker = "extra == 'dev'", specifier = "~=0.8" }, { name = "emerging-optimizers", marker = "extra == 'dev'", git = "https://github.com/NVIDIA-NeMo/Emerging-Optimizers.git?rev=v0.2.0" }, + { name = "fast-hadamard-transform", marker = "extra == 'dev'", git = "https://github.com/Dao-AILab/fast-hadamard-transform.git?rev=f134af63deb2df17e1171a9ec1ea4a7d8604d5ca" }, { name = "fastapi", marker = "extra == 'dev'", specifier = "~=0.50" }, { name = "flash-linear-attention", marker = "extra == 'dev'", specifier = "~=0.4.0" }, { name = "flashinfer-python", marker = "extra == 'dev'", specifier = ">=0.5.0,<0.7.0" }, @@ -2343,7 +2360,7 @@ linting = [ ] no-pypi-wheels = [ { name = "emerging-optimizers", git = "https://github.com/NVIDIA-NeMo/Emerging-Optimizers.git?rev=v0.2.0" }, - { name = "flash-mla", git = "https://github.com/deepseek-ai/FlashMLA?rev=9edee0c022cd0938148a18e334203b0aab43aa19" }, + { name = "flash-mla", git = "https://github.com/deepseek-ai/FlashMLA?rev=nv_dev" }, ] test = [ { name = "coverage" }, @@ -5129,14 +5146,14 @@ version = "2.12.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cuda-bindings", marker = "sys_platform == 'linux'" }, - { name = "filelock" }, - { name = "fsspec" }, - { name = "jinja2" }, - { name = "networkx" }, - { name = "setuptools" }, - { name = "sympy" }, + { name = "filelock", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "fsspec", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "jinja2", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "networkx", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "setuptools", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "sympy", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, { name = "triton", marker = "sys_platform == 'never'" }, - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, ] [[package]]