Jake Hemstad
Jake Hemstad
See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2214r0.html#rangesreduce for a discussion of naming between `fold` and `reduce`. I think the precedent is clear for `fold` being the appropriate name for a non-commutative `reduce`. Granted, all the...
For posterity, I want to document that there is an easy way to work around this problem. You can annotate your custom comparator with a `__noinline__` which will circumvent CUB/Thrust's...
> Can you share a bit more about the usecase here? Using `transform_iterator` with a functor that modifies the input sequence seems problematic, and I'm not sure this should be...
For sanity, can you try replacing the `__device__` lambda with a function object?
Yeah, any time I see wonky behavior in Thrust with a device lambda, the first thing I try is using a function object instead. Looks like that didn't apply here...
related https://github.com/NVIDIA/libcudacxx/pull/105
Synced with @allisonvacanti offline and she agrees this requirement can be relaxed.
What kind of vector is `Pusi`? A `device_vector`? `thrust::copy` can be a tricky algorithm when specifying the execution policy for host-to-device or device-to-host copies.
@brycelelbach @allisonvacanti there have been several times where I've wanted something very simple like this for linear sequences. I don't think we need a full on md-span or multi-dimensional iterator...
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1899r0.pdf Equivalent for ranges.