Skip to content

kernel-builder: reject empty capabilities/archs list#590

Merged
danieldk merged 2 commits into
mainfrom
reject-empty-capabilities
May 27, 2026
Merged

kernel-builder: reject empty capabilities/archs list#590
danieldk merged 2 commits into
mainfrom
reject-empty-capabilities

Conversation

@danieldk
Copy link
Copy Markdown
Member

We compute a kernel component's capabilities by intersecting the capabilities that are specified for the kernel and the capabilities that are supported by CUDA/ROCm.

Before this change, we would silently set an empty list if this intersection was empty. This resulted in CMake falling back to an old capability.

This change fixes that by erroring out when when the capability list is empty.

danieldk added 2 commits May 27, 2026 10:21
We compute a kernel component's capabilities by intersecting the
capabilities that are specified for the kernel and the capabilities that
are supported by CUDA/ROCm.

Before this change, we would silently set an empty list if this
intersection was empty. This resulted in CMake falling back to an old
capability.

This change fixes that by erroring out when when the capability list is
empty.
@danieldk danieldk force-pushed the reject-empty-capabilities branch from b1c8aaf to ae44554 Compare May 27, 2026 10:21
@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.6% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 9 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 281 54 81% 57, 69-73, 79-80, 205, 209, 212, 274, 299-300, 338, 367, 372, 406, 578, 581, 583, 589, 602-603, 624-631, 635-642, 650, 654-664, 668-675, 713, 717, 736, 738
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 1639 269 84%

Updated by the Test kernels workflow on commit ae44554a3c4fe517e7c7ca92e83fb3706f89dece.

@danieldk danieldk merged commit 9cfa642 into main May 27, 2026
70 checks passed
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.

2 participants