support capabilities in no-arch#612
Conversation
|
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. |
Coverage report —
|
| 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, 95, 98 |
| 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 | 71 | 46 | 35% | 37-104, 108-131 |
| src/kernels/status.py | 49 | 2 | 96% | 23, 81 |
| src/kernels/utils.py | 301 | 60 | 80% | 65, 77-81, 87-88, 217, 221, 224, 286, 294, 333-334, 372, 403, 408, 443, 624-629, 659, 662, 664, 670, 683-684, 705-717, 721-728, 736, 740-750, 754-761, 799, 803, 822, 824 |
| 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 | 1664 | 277 | 83% |
Updated by the Test kernels workflow on commit e1ffcda42a05d43e5ee8dbb9c82542aa61fb93f9.
|
|
||
| fn write_metadata_impl( | ||
| general: &General, | ||
| noarch: Option<&TorchNoarch>, |
There was a problem hiding this comment.
Not very keen on this, because it adds noarch-specific things to agnostic/common functions.
I think we should keep it like this for this PR, but I have to think a bit about it. I like a certain amount of parallelism between arch/noarch, but I am not sure yet how to do that nicely (maybe by writing the bits to setup.py and extending the metadata from there).
Generally, it becomes hard to understand how the generation works if for different frameworks (torch, torch-noarch, tvm-ffi) we do things in different phases (create-pyproject, configure, build, install). So even though it might be slightly less elegant to update the metadata from Python, it would be clean because it's the same between all cases and we don't need different metadata writing paths.
I can do a follow-up PR once I have a clearer idea of what it should look like.
There was a problem hiding this comment.
Thanks for this insight. I agree with that. I actually want to hold off on merging this PR now that I have a better picture from you. It leads to an unpleasant solution that we might have to discard anyway. I will also think it over a bit and see if I can repurpose this PR.
Fixes #465