Skip to content

[FEA]: Introduce combinational ranges into cuda.parallel #2481

@gevtushenko

Description

@gevtushenko

Is this a duplicate?

Area

General CCCL

Is your feature request related to a problem? Please describe.

We are lacking combinational ranges, such as thrust::transform_{input,output}_iterator, thrust::zip_iterator, and cub::CacheModified{Input,Output}Iterator in cuda.parallel.

Describe the solution you'd like

Design and implement combinational ranges for cuda.parallel.experimental.itertools. We might consider map(python_function, iterable) for thrust::transform_{input,output}_iterator, zip(rng1, rng2, ...) for thrust::zip_iterator, and cache(modifier, iterable) where modifier is from

enum CacheLoadModifier
{
LOAD_DEFAULT, ///< Default (no modifier)
LOAD_CA, ///< Cache at all levels
LOAD_CG, ///< Cache at global level
LOAD_CS, ///< Cache streaming (likely to be accessed once)
LOAD_CV, ///< Cache as volatile (including cached system lines)
LOAD_LDG, ///< Cache as texture
LOAD_VOLATILE, ///< Volatile (any memory space)
};

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions