if min_block_per_cu * max_threads / 256 > 10:
return float("inf")| Best parameters perf [ms] | Before mismatch fix | After mismatch fix + constraints |
| Clusterizer step | 732.18 | 757.02 |
| CompressionKernels_step1unattached | 523.69 | 524.31 |
| GMMergerCollect | 93.86 | 94.40 |
| GMMergerSectorRefit | 284.58 | 267.72 |
| GMMergerTrackFit | 761.78 | 704.26 |
| FollowLoopers + CompressionKernels_step0attached | 508.43 | 480.44 |
| TrackletConstructor step | 1091.24 | > 4000 |
For the tracklet constructor step, since it is highly dimensional, it was more probable to fall into the condition min_block_per_cu * max_threads / 256 > 10, leading to many inf values and few acceptable values. Removing the constraint lead to an optimal solution of 1128.05.
| Version | Mean sync time [ms] |
| Default - before mismatch fix | 4679.83 ms ± 3.64 ms |
| Default - after mismatch fix | 4682.61 ms ± 5.77 ms |
| Tuned - before mismatch fix | 4317.97 ms ± 4.17 ms (7,73%) |
| Tuned - after mismatch fix + extra constraints | 4315.11 ms ± 3.06 ms (7,79%) |
Reduced grid sizes in best parameters. Some examples:
| Kernel | Best conf now | Best conf before |
| GMMergerCollect | 1024x120 | 768x600 |
| GMMergerSectorRefit | 64x480 | 448x840 |
| GMMergerTrackFit | 64x360 |
64x900 |
| CompressionKernels_step0attached | 64x180 |
192x60 |
| GMMergerFollowLoopers | 128x240 |
64x900 |
Got access to the NGT cluster. Started to adapt the tuner for Nvidia GPUs.