NVIDIA / NVIDIA/cccl

thrust::*_into algorithms to expose more asynchrony

Open
#4,056 1 comment 4 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

We should have `thrust::reduce_into(first, last, out)` that is conceptually equivalent to `*out = thrust::reduce(first, last)`. That would mean `reduce_into` is no longer data dependent, so if you pass par_nosync it won't have to block. This is also useful for avoiding a transfer from device to host if you're just going to use the reduction result on the device.

All the data dependent Thrust algorithms should have an `_into` form. That means `reduce`, `count`, `find`, etc.

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.