NVIDIA / NVIDIA/cccl

Reconsider `BLOCK_{LOAD,STORE}_VECTORIZE` during tuning

Open
#4,565 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.