From 9d396b090f90c9fdf16449f63e724811fc658792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?oliver=20k=C3=B6nig?= Date: Tue, 23 Jun 2026 15:05:57 +0200 Subject: [PATCH 1/2] build: add fast-hadamard-transform dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add fast-hadamard-transform (Dao-AILab, rev f134af6) to the dev extra, no-build-isolation-package list, uv dependency-metadata, and sources, mirroring the main-branch addition. Regenerate uv.lock. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: oliver könig --- pyproject.toml | 8 ++++++++ uv.lock | 33 +++++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1b3be23dc19..906ad9e6e40 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,6 +193,11 @@ 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 = [ @@ -199,6 +206,7 @@ flash_mla = [ 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..c75ec58e755 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" @@ -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" }, @@ -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]] From 3f83e85b4d85b66281a51c2a3ab5e769a9519bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?oliver=20k=C3=B6nig?= Date: Tue, 23 Jun 2026 15:15:26 +0200 Subject: [PATCH 2/2] build: point flash_mla at the nv_dev branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Track the FlashMLA nv_dev branch (currently b7643bd) instead of the pinned 9edee0c commit. Regenerate uv.lock. Co-Authored-By: Claude Opus 4.8 (1M context) Signed-off-by: oliver könig --- pyproject.toml | 2 +- uv.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 906ad9e6e40..3f1e1b64fc5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -201,7 +201,7 @@ 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" } diff --git a/uv.lock b/uv.lock index c75ec58e755..7af5f7007ac 100644 --- a/uv.lock +++ b/uv.lock @@ -1228,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" @@ -2360,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" },