Reconsider `BLOCK_{LOAD,STORE}_VECTORIZE` during tuning
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 487
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 296
Description
Due to an [issue](https://github.com/NVIDIA/cccl/issues/431), `BLOCK_LOAD_VECTORIZE` actually didn't attempt to vectorize loads. This has been fixed by https://github.com/NVIDIA/cccl/pull/3517 and https://github.com/NVIDIA/cccl/pull/4283.
We should evaluate whether there are workloads (presumably small data types) that benefit from using `BLOCK_LOAD_VECTORIZE` and `BLOCK_STORE_VECTORIZE`. If that turns out to be the case, we should add `BLOCK_LOAD_VECTORIZE` and `BLOCK_STORE_VECTORIZE` to the considered options for loading and storing, respectively, during tuning for more algorithms.
Contributor guide
Research direction
Start by reviewing the vectorization fixes in pull requests 3517 and 4283, then locate the tuning paths for loading and storing options. Evaluate whether small-data-type workloads benefit from BLOCK_LOAD_VECTORIZE or BLOCK_STORE_VECTORIZE. Done means documenting the result and adding each option to tuning where the evaluation shows a benefit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100