Repository navigation
Commit 3bde6af
committed
GPU: make the kernel entry-point signature work on Metal
Two things MSL does differently from every other backend.
It has no work-item builtins: the grid dimensions arrive as kernel attributes.
Without a branch of its own Metal fell through to the host definitions of
get_group_id() and friends, which name iBlock and nBlocks, variables that only
exist in the host-side loop.
And it requires every kernel parameter to carry an attribute, so the sector
index cannot be passed by value.
GPUCA_KRNLGPU_DEF therefore gets two hooks, GPUCA_KRNL_SECTOR_ARG and
GPUCA_KRNL_GRID_ARGS, which the Metal source fills in with a buffer and the four
grid attributes. Both default to what the signature had, so CUDA, HIP and OpenCL
generate exactly the same entry point as before.
Kernel list diagnostics: 408 to 96, and the translation unit 1108 to 998. The 96
left are the 48 kernels that take arguments, which still need an answer for how
Metal passes them.1 parent 8d0a553 commit 3bde6af
3 files changed
Lines changed: 29 additions & 1 deletion
File tree
- GPU
- Common
- GPUTracking/Base
- metal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
280 | 289 | | |
281 | 290 | | |
282 | 291 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
66 | 75 | | |
67 | | - | |
| 76 | + | |
68 | 77 | | |
69 | 78 | | |
70 | 79 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
73 | 83 | | |
74 | 84 | | |
75 | 85 | | |
| |||
0 commit comments