Repository navigation
Commit a133e3e
committed
GPU Metal: run the tracklet constructor with 128 threads per group
The tracklet constructor needs the most registers a Metal thread can
have, which leaves room for 384 threads on a core of an M1 Max, so with
256 threads per group only one group fits. With 128 threads per group
two to three groups do, and the kernel takes 20% less time: 516 ms ->
415 ms on a quarter of a 30 kHz Pb-Pb time frame (--debug 1, interleaved
runs), with the same number of tracks. 96 and 192 threads are within
2% of 128; 64, 160, 256 and 384 are slower. The kernel loops over its
start hits with a grid stride and its shared memory does not depend on
the group size.1 parent 824ca2b commit a133e3e
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
0 commit comments