Skip to content

Move ABI check to kernel-builder check-abi#596

Merged
danieldk merged 9 commits into
mainfrom
kernel-check-to-builder
May 29, 2026
Merged

Move ABI check to kernel-builder check-abi#596
danieldk merged 9 commits into
mainfrom
kernel-check-to-builder

Conversation

@danieldk
Copy link
Copy Markdown
Member

This change combines several changes for the ABI checker:

  • Merge kernels check and the kernel-abi-check utilities into kernel-builder check-abi. Since this is a development tool, it did not belong in kernels.
  • To make the check-abi subcommand similar to other subcommands, take a kernel directory and check the ABI of all variants of the kernel.
  • Remove the Python binding, this is now unused and doing so removes a lot of maintenance burden.
  • Fix the output of the ABI check a bit.

danieldk added 5 commits May 28, 2026 11:50
Also remove the kernel-abi-check binary.
With this change, we check all variants and look for extension dynamic
libraries.
ABI checks are not client-side, so they are moved to kernel-builder.
With that we can remove the check subcommand and the kernel-abi-check
Python bindings (which also lessens maintenance).
* macOS also uses `.so`
* Windows uses `.pyd`
@danieldk danieldk force-pushed the kernel-check-to-builder branch from fc4f8e9 to ee3e85a Compare May 28, 2026 11:50
@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
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 91 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% 156, 199, 205, 214, 306-307, 319, 328, 336, 347, 376, 380, 393, 446, 476
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, 533-535
TOTAL 1646 274 83%

Updated by the Test kernels workflow on commit 858b124d3f3a80f2b52e4e3bba907a2a243c0d61.

Copy link
Copy Markdown
Member

@sayakpaul sayakpaul left a comment

Choose a reason for hiding this comment

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

Very nice! Are we missing tests?

@danieldk
Copy link
Copy Markdown
Member Author

Very nice! Are we missing tests?

Nope, gets tested through the kernel builds. We might add some .so files in the future, but we need a way to make very compact ones.

@danieldk danieldk merged commit e7f2d30 into main May 29, 2026
51 of 53 checks passed
@danieldk danieldk deleted the kernel-check-to-builder branch May 29, 2026 07:48
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.

3 participants