Skip to content

[FuncRepository] Add ability of detecting flags - #607

Merged
danieldk merged 1 commit into
huggingface:mainfrom
vasqu:add-flags-to-func
Jun 2, 2026
Merged

danieldk merged 1 commit into
huggingface:mainfrom
vasqu:add-flags-to-func

Conversation

@vasqu

@vasqu vasqu commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Similar to LayerRepository we should allow flags to be passed. In this case it's a bit weird because we attach it to a callable but it does enable torch compile with other functions such as the RoPE kernel.

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

Hi @vasqu, thanks for your interest in contributing!

This project requires that pull request authors are vouched, and you are not in the list of vouched users.

This PR will be closed automatically. See https://github.com/huggingface/kernels/blob/main/CONTRIBUTING.md for more details.

@github-actions github-actions Bot closed this Jun 1, 2026
class Func(nn.Module):
# Same flags as possible with normal `nn.Module` objects that are exchanged
can_torch_compile = getattr(func, "can_torch_compile", False)
has_backward = getattr(func, "has_backward", True)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the defaults from the getattr checks so this should be BC

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these be documented as well? Otherwise, they feel too specific to me.

@HuggingFaceDocBuilderDev

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@github-actions

github-actions Bot commented Jun 1, 2026 •

Copy link
Copy Markdown

Coverage report — kernels/

Measured on: Python 3.10 / Torch 2.12.0.
Other CI configurations are not included in this number.
Hardware-gated code paths (ROCm/XPU/NPU/Darwin/Windows) are excluded or unreachable on the Linux+CUDA runner.

Total coverage: 83.4% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 10 0 100%
src/kernels/_system.py 6 1 83% 10
src/kernels/_versions.py 63 7 89% 46, 49, 52-53, 56-57, 100
src/kernels/backends.py 194 55 72% 40, 44, 48-51, 68, 90, 108, 117, 121, 125-127, 148, 170, 181, 188-191, 201, 205-225, 233, 256-276
src/kernels/compat.py 8 1 88% 5
src/kernels/deps.py 54 4 93% 58-59, 79, 95
src/kernels/layer/__init__.py 6 0 100%
src/kernels/layer/_interval_tree.py 103 4 96% 23, 52, 147, 150
src/kernels/layer/device.py 48 14 71% 42, 47-49, 91, 96-98, 101, 149, 152, 155-157
src/kernels/layer/func.py 93 7 92% 72, 100, 154, 257, 263, 272, 290
src/kernels/layer/globals.py 5 0 100%
src/kernels/layer/kernelize.py 73 8 89% 255, 273, 281-282, 288, 292, 308-310
src/kernels/layer/layer.py 174 15 91% 166, 209, 215, 228, 320-321, 333, 342, 350, 361, 390, 394, 407, 460, 490
src/kernels/layer/mode.py 14 0 100%
src/kernels/layer/repos.py 130 34 74% 27, 33, 36-41, 61-62, 68, 71-74, 88, 92, 101-102, 108, 111-114, 121-122, 128, 131-134, 141-142, 148, 151-154, 235
src/kernels/lockfile.py 69 44 36% 37-98, 102-125
src/kernels/status.py 49 2 96% 23, 81
src/kernels/utils.py 287 59 79% 59, 71-75, 81-82, 207, 211, 214, 276, 301-302, 340, 369, 374, 408, 585-590, 616, 619, 621, 627, 640-641, 662-669, 673-680, 688, 692-702, 706-713, 751, 755, 774, 776
src/kernels/variants.py 262 19 93% 56, 87, 108, 138, 247-248, 289, 291, 371-378, 384-390, 421-427, 439-445, 534-536
TOTAL 1648 274 83%

Updated by the Test kernels workflow on commit 1da83e06b1542b69f2ad49ac7566f95b65bb6d72.

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown

Hi @vasqu, thanks for your interest in contributing!

This project requires that pull request authors are vouched, and you are not in the list of vouched users.

This PR will be closed automatically. See https://github.com/huggingface/kernels/blob/main/CONTRIBUTING.md for more details.

@github-actions github-actions Bot closed this Jun 2, 2026
@danieldk danieldk reopened this Jun 2, 2026

@danieldk danieldk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting these on functions is a bit weird, but I also don't know of a better way, so let's do it!

@danieldk
danieldk merged commit 4fb07c9 into huggingface:main Jun 2, 2026
126 of 132 checks passed
@vasqu

vasqu commented Jun 2, 2026

Copy link
Copy Markdown
Contributor Author

Haha agree it's a bit weird but imo the cleanest without changing too much

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants