NVIDIA / NVIDIA/cccl

Please re-tune DeviceSegmentedSort policies

Open
#917 5 comments 0 reactions 0 assignees View on GitHub
cub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

Looking into code it looks polices for DeviceSegmentedSort are not consistent (or possible have some typos):
```
for Policy700 ITEMS_PER_MEDIUM_THREAD is defined as Nominal4BItemsToItems(KEYS_ONLY ? 11 : 7);
for Policy800 ITEMS_PER_MEDIUM_THREAD is defined as Nominal4BItemsToItems(KEYS_ONLY ? 7 : 11);
for Policy860 ITEMS_PER_MEDIUM_THREAD is defined as Nominal4BItemsToItems(LARGE_ITEMS ? 9 : 7);
```

For my use case (suffix array and BWT construction) segmented sorting is accounting for 30-40% of overall performance. And with current polices compiling for SM 7.5 / 8.0 produces faster versions: I measure 5% to 10% overall performance degradation if I target SM 8.6+.

So it would be great if DeviceSegmentedSort policies gets re-tuned.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.